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: k...@freebsd.org Reporter: jcfyecr...@liamekaens.com Assignee: k...@freebsd.org Flags: maintainer-feedback?(k...@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.