Anyone have any theories about what could be preventing the linking of xcb/qpa (qt5 plugin architecture) stuff? It fails when trying to link all the "qxcb*.o" files into the libQt5XcbQpa.so.5.14.1 library. There are many such undefined references caused by many of those .o files, the pasted line is just the first because qxcbconnection.o was the first in line to fail. But the function in question (handleScreenRemoved) IS properly defined in the source code (ie. qxcbconnection.o did compile successfully), it's just this linking stage that fails, so I think it's something to do with one of the -lxcb... links to existing libraries? I tried upgrading x11-libs/libxcb and xcb-util, and I think all the other minimum requirements for the xcb stuff met. Thoughts? x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,--as-needed -Wl,--no-undefined -Wl,--version-script,QtXcbQpa.version -Wl,--enable-new-dtags -shared -Wl,-Bsymbolic-functions -Wl,-soname,libQt5XcbQpa.so.5 -o libQt5XcbQpa.so.5.14.1 .obj/qxcbclipboard.o .obj/qxcbconnection.o .obj/qxcbintegration.o .obj/qxcbkeyboard.o .obj/qxcbmime.o .obj/qxcbscreen.o .obj/qxcbwindow.o .obj/qxcbbackingstore.o .obj/qxcbwmsupport.o .obj/qxcbnativeinterface.o .obj/qxcbcursor.o .obj/qxcbimage.o .obj/qxcbxsettings.o .obj/qxcbsystemtraytracker.o .obj/qxcbeventqueue.o .obj/qxcbeventdispatcher.o .obj/qxcbconnection_basic.o .obj/qxcbconnection_screens.o .obj/qxcbatom.o .obj/qxcbdrag.o .obj/qxcbconnection_xi2.o .obj/qxcbsessionmanager.o .obj/qxcbglintegrationfactory.o .obj/qxcbglintegration.o .obj/qxcbnativeinterfacehandler.o .obj/moc_qxcbclipboard.o .obj/moc_qxcbconnection.o .obj/moc_qxcbmime.o .obj/moc_qxcbnativeinterface.o .obj/moc_qxcbsystemtraytracker.o .obj/moc_qxcbeventqueue.o .obj/moc_qxcbeventdispatcher.o .obj/moc_qxcbconnection_basic.o .obj/moc_qxcbglintegrationplugin.o /var/tmp/portage/dev-qt/qtgui-5.14.1-r3/work/qtbase-everywhere-src-5.14.1/lib/libQt5ServiceSupport.a /var/tmp/portage/dev-qt/qtgui-5.14.1-r3/work/qtbase-everywhere-src-5.14.1/lib/libQt5ThemeSupport.a /var/tmp/portage/dev-qt/qtgui-5.14.1-r3/work/qtbase-everywhere-src-5.14.1/lib/libQt5FontDatabaseSupport.a -lfontconfig -lfreetype -lz /var/tmp/portage/dev-qt/qtgui-5.14.1-r3/work/qtbase-everywhere-src-5.14.1/lib/libQt5XkbCommonSupport.a /usr/lib64/libQt5LinuxAccessibilitySupport.a -lQt5AccessibilitySupport -lQt5DBus /usr/lib64/libQt5AccessibilitySupport.a -lQt5Gui -lQt5Core -lGL /var/tmp/portage/dev-qt/qtgui-5.14.1-r3/work/qtbase-everywhere-src-5.14.1/lib/libQt5Gui.so /var/tmp/portage/dev-qt/qtgui-5.14.1-r3/work/qtbase-everywhere-src-5.14.1/lib/libQt5EdidSupport.a /usr/lib64/libQt5DBus.so /usr/lib64/libQt5Core.so -lpthread -lX11-xcb -lxcb-xinput -lxcb-icccm -lxcb-image -lxcb-shm -lxcb-keysyms -lxcb-randr -lxcb-render-util -lxcb-render -lxcb-shape -lxcb-sync -lxcb-xfixes -lxcb-xinerama -lxcb-xkb -lxcb -lXext -lX11 -lm -lSM -lICE -lxkbcommon-x11 -lxkbcommon -ldl -lGL -lgthread-2.0 -lglib-2.0 /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qxcbconnection.o: in function `QXcbConnection::~QXcbConnection()': qxcbconnection.cpp:(.text+0x453c): undefined reference to `QWindowSystemInterface::handleScreenRemoved(QPlatformScreen*)' Makefile.xcb_qpa_lib:286, in ./work/qtbase-everywhere-src-5.14.1/src/plugins/platforms/xcb Similar undefined reference that are mentioned at this point are: defined reference to `bool QWindowSystemInterface::handleApplicationTermination<QWindowSystemInterface::SynchronousDelivery> undefined reference to `bool QWindowSystemInterface::handleCloseEvent<QWindowSystemInterface::DefaultDelivery> undefined reference to `QBasicDrag::drop undefined reference to `QColor::darker undefined reference to `QColor::lighter undefined reference to `QFontEngine::bitmapForGlyph undefined reference to `QFontEngine::glyphData undefined reference to `QHighDpiScaling::scaleAndOrigin undefined reference to `QImage::sizeInBytes undefined reference to `QPlatformBackingStore::composeAndFlush undefined reference to `QPlatformCursor::clearOverrideCursor undefined reference to `QPlatformCursor::setOverrideCursor undefined reference to `QPlatformCursor::size undefined reference to `QPlatformMenuItem::QPlatformMenuItem undefined reference to `QPlatformMenuItem::setTag undefined reference to `QPlatformMenuItem::tag undefined reference to `QPlatformMenu::QPlatformMenu undefined reference to `QPlatformMenu::setTag undefined reference to `QPlatformMenu::tag undefined reference to `QPlatformWindow::close undefined reference to `QPlatformWindow::deliverUpdateRequest undefined reference to `QPlatformWindow::initialize undefined reference to `QWindowPrivate::screenForGeometry undefined reference to `QWindowSystemInterface::handleDrag undefined reference to `QWindowSystemInterface::handleDrop undefined reference to `QWindowSystemInterface::handlePrimaryScreenChanged undefined reference to `QWindowSystemInterface::handleScreenAdded undefined reference to `QWindowSystemInterface::handleScreenRemoved undefined reference to `QWindowSystemInterface::setPlatformFiltersEvents undefined reference to `QWindow::windowStates undefined reference to `void QWindowSystemInterface::handleGeometryChange<QWindowSystemInterface::DefaultDelivery> undefined reference to `void QWindowSystemInterface::handleMouseEvent<QWindowSystemInterface::DefaultDelivery> undefined reference to `void QWindowSystemInterface::handleWindowScreenChanged<QWindowSystemInterface::DefaultDelivery> undefined reference to `void QWindowSystemInterface::handleWindowStateChanged<QWindowSystemInterface::DefaultDelivery>
Hmm. So, for example, the reason QWindowSystemInterface::handleScreenRemoved was undefined was because ../../../gui/.obj/qwindowsysteminterface.o was not included in that linking line. So, why aren't the required compiled objects in ./work/qtbase-everywhere-src-5.14.1/src/gui/.obj being included here? :s
This might somehow, in some labyrinthian Rube Goldbergian, be due to bug #715528 which tried to disable the "accessibility" USE flag/feature. The normal qtgui-5.14.1 ebuild as it currently exists (which does not disable accessibility), seems to compile fine :|. The build.log did warn me that disabling accessibility wasn't supported, but wtf would it produce the xcb/qpa related linking errors that I was seeing.
So why did you not include emerge --info and full build.log?
FWIW, the only difference between the line in the qtgui build.log that worked (the one in portage with accessibility enabled), and the one that didn't (with accessibility supposedly disabled), was that in the failed attempt it still tried to link to the existing accessibility libraries in /usr/lib64, /usr/lib64/libQt5LinuxAccessibilitySupport.a /usr/lib64/libQt5AccessibilitySupport.a whereas the successful compilation used the newly compiled libraries in the work dir, /var/tmp/portage/dev-qt/qtgui-5.14.1-r3/work/qtbase-everywhere-src-5.14.1/lib/libQt5LinuxAccessibilitySupport.a /var/tmp/portage/dev-qt/qtgui-5.14.1-r3/work/qtbase-everywhere-src-5.14.1/lib/libQt5AccessibilitySupport.a
(In reply to Dennis Nezic from comment #2) > This might somehow, in some labyrinthian Rube Goldbergian, be due to bug > #715528 which tried to disable the "accessibility" USE flag/feature. The > normal qtgui-5.14.1 ebuild as it currently exists (which does not disable > accessibility), seems to compile fine :|. I'm closing this one as invalid per the above comment, assuming a user patched (e)build.