[Bug 255007] www/qt5-webengine: 5.15.2 fails to build if 5.15.0 is installed (link error)
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Apr 12 16:49:34 BST 2021
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255007
Bug ID: 255007
Summary: www/qt5-webengine: 5.15.2 fails to build if 5.15.0 is
installed (link error)
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: Individual Port(s)
Assignee: kde at FreeBSD.org
Reporter: jcfyecrayz at liamekaens.com
Assignee: kde at FreeBSD.org
Flags: maintainer-feedback?(kde at FreeBSD.org)
If qt5-webengine-5.15.0 is already installed in LOCALBASE, the build of
www/qt5-webengine for 5.15.2 fails:
/usr/local/bin/ld: .obj/qquickwebengineview.o: in function
`QQuickWebEngineViewPrivate::runMouseLockP
ermissionRequest(QUrl const&)':
qquickwebengineview.cpp:(.text+0x250c): undefined reference to
`QtWebEngineCore::WebContentsAdapter::grantMouseLockPermission(QUrl const&,
bool)'
/usr/local/bin/ld: .obj/qquickwebengineview.o: in function
`QQuickWebEngineView::grantFeaturePermission(QUrl const&,
QQuickWebEngineView::Feature, bool)':
qquickwebengineview.cpp:(.text+0x4f55): undefined reference to
`QtWebEngineCore::WebContentsAdapter::grantFeaturePermission(QUrl const&,
QtWebEngineCore::ProfileAdapter::PermissionType,
QtWebEngineCore::ProfileAdapter::PermissionState)'
/usr/local/bin/ld: qquickwebengineview.cpp:(.text+0x4f72): undefined reference
to `QtWebEngineCore::WebContentsAdapter::grantFeaturePermission(QUrl const&,
QtWebEngineCore::ProfileAdapter::PermissionType,
QtWebEngineCore::ProfileAdapter::PermissionState)'
The offending link command (in .build/src/webengine) is:
c++ -B/usr/local/bin -Wl,--as-needed -fstack-protector-strong
-Wl,--no-undefined -Wl,--version-script,QtWebEngine.version -pthread
-Wl,-rpath,/usr/local/lib/qt5 -Wl,-rpath-link,/usr/local/lib/qt5 -shared
-Wl,-Bsymbolic-functions -Wl,-soname,libQt5WebEngine.so.5 -o
libQt5WebEngine.so.5.15.2 .obj/qquickwebengineaction.o
.obj/qquickwebenginecertificateerror.o
.obj/qquickwebengineclientcertificateselection.o
.obj/qquickwebenginecontextmenurequest.o .obj/qquickwebenginedialogrequests.o
.obj/qquickwebenginedownloaditem.o .obj/qquickwebenginehistory.o
.obj/qquickwebenginefaviconprovider.o .obj/qquickwebengineloadrequest.o
.obj/qquickwebenginenavigationrequest.o .obj/qquickwebenginenewviewrequest.o
.obj/qquickwebengineprofile.o .obj/qquickwebenginescript.o
.obj/qquickwebenginesettings.o .obj/qquickwebenginesingleton.o
.obj/qquickwebenginetouchhandleprovider.o .obj/qquickwebengineview.o
.obj/qtwebengineglobal.o .obj/render_widget_host_view_qt_delegate_quick.o
.obj/render_widget_host_view_qt_delegate_quickwindow.o
.obj/ui_delegates_manager.o .obj/moc_qquickwebengineaction_p.o
.obj/moc_qquickwebenginecertificateerror_p.o
.obj/moc_qquickwebengineclientcertificateselection_p.o
.obj/moc_qquickwebenginecontextmenurequest_p.o
.obj/moc_qquickwebenginedialogrequests_p.o
.obj/moc_qquickwebenginedownloaditem_p.o .obj/moc_qquickwebenginehistory_p.o
.obj/moc_qquickwebengineloadrequest_p.o
.obj/moc_qquickwebenginenavigationrequest_p.o
.obj/moc_qquickwebenginenewviewrequest_p.o .obj/moc_qquickwebengineprofile.o
.obj/moc_qquickwebenginescript.o .obj/moc_qquickwebenginesettings_p.o
.obj/moc_qquickwebenginesingleton_p.o .obj/moc_qquickwebengineview_p.o
.obj/moc_render_widget_host_view_qt_delegate_quick.o
-L/z1/local/users/jhein/.nobak/wd/usr/ports/www/qt5-webengine/work/.build/lib
-L/usr/local/lib /usr/local/lib/qt5/libQt5WebEngineCore.so
/usr/local/lib/qt5/libQt5Quick.so /usr/local/lib/qt5/libQt5Gui.so
/usr/local/lib/qt5/libQt5QmlModels.so /usr/local/lib/qt5/libQt5WebChannel.so
/usr/local/lib/qt5/libQt5Qml.so /usr/local/lib/qt5/libQt5Network.so
/usr/local/lib/qt5/libQt5Positioning.so /usr/local/lib/qt5/libQt5Core.so
/usr/local/lib/qt5/libQt5WebEngineCore.so /usr/local/lib/qt5/libQt5Quick.so
/usr/local/lib/qt5/libQt5Gui.so /usr/local/lib/qt5/libQt5QmlModels.so
/usr/local/lib/qt5/libQt5WebChannel.so /usr/local/lib/qt5/libQt5Qml.so
/usr/local/lib/qt5/libQt5Network.so /usr/local/lib/qt5/libQt5Positioning.so
/usr/local/lib/qt5/libQt5Core.so -lGL
The important part is:
...
-L/z1/local/users/jhein/.nobak/wd/usr/ports/www/qt5-webengine/work/.build/lib
-L/usr/local/lib /usr/local/lib/qt5/libQt5WebEngineCore.so ...
Note that we take care (if qt-dist.mk) to point to the work dir for linking
before /usr/local/lib. But then the build bypasses that and links with the
absolute path to libQt5WebEngineCore.so
If we instead used -lQt5WebEngineCore, it works as desired.
I know that building outside poudriere has become something of a second class
citizen these days, but it would be nice to support it if the fix is not too
hard to implement.
Does anyone know where the absolute paths for libraries comes from? Might
there be a way to tell the build to use -l<lib> instead?
See also: bug 194088 (and probably bug 248585 and maybe others)
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the kde-freebsd
mailing list