Compiling =dev-qt/qtwidgets-5.9.2 fails with the following error: /usr/lib64/qt5/bin/moc -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_THEME_SUPPORT_LIB -DQT_GUI_LIB -DQT_CORE_LIB --include .moc/moc_predefs.h -I/var/tmp/portage/dev-qt/qtwidgets-5.9.2/work/qtbase-opensource-src-5.9.2/mkspecs/linux-g++ -I/var/tmp/portage/dev-qt/qtwidgets-5.9.2/work/qtbase-opensource-src-5.9.2/src/plugins/platformthemes/gtk3 -I/usr/include/qt5 -I/usr/include/qt5/QtThemeSupport -I/usr/include/qt5/QtThemeSupport/5.9.2 -I/usr/include/qt5/QtThemeSupport/5.9.2/QtThemeSupport -I/usr/include/qt5/QtGui/5.9.2 -I/usr/include/qt5/QtGui/5.9.2/QtGui -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore/5.9.2 -I/usr/include/qt5/QtCore/5.9.2/QtCore -I/usr/include/qt5/QtCore -I/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6 -I/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/x86_64-pc-linux-gnu -I/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include-fixed -I/usr/include qgtk3menu.h -o .moc/moc_qgtk3menu.cpp x86_64-pc-linux-gnu-g++ -c -O2 -fomit-frame-pointer -pipe -fno-stack-protector -march=amdfam10 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -D_REENTRANT -fPIC -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_THEME_SUPPORT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtThemeSupport -isystem /usr/include/qt5/QtThemeSupport/5.9.2 -isystem /usr/include/qt5/QtThemeSupport/5.9.2/QtThemeSupport -isystem /usr/include/qt5/QtGui/5.9.2 -isystem /usr/include/qt5/QtGui/5.9.2/QtGui -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore/5.9.2 -isystem /usr/include/qt5/QtCore/5.9.2/QtCore -isystem /usr/include/qt5/QtCore -I.moc -isystem /usr/include/libdrm -isystem /usr/include/gtk-3.0 -isystem /usr/include/at-spi2-atk/2.0 -isystem /usr/include/at-spi-2.0 -isystem /usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -isystem /usr/include/gtk-3.0 -isystem /usr/include/gio-unix-2.0 -isystem /usr/include/cairo -isystem /usr/include/pango-1.0 -isystem /usr/include/harfbuzz -isystem /usr/include/pango-1.0 -isystem /usr/include/atk-1.0 -isystem /usr/include/cairo -isystem /usr/include/pixman-1 -isystem /usr/include/freetype2 -isystem /usr/include/libdrm -isystem /usr/include/libpng16 -isystem /usr/include/gdk-pixbuf-2.0 -isystem /usr/include/libpng16 -isystem /usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I../../../../mkspecs/linux-g++ -o .obj/moc_qgtk3menu.o .moc/moc_qgtk3menu.cpp rm -f libqgtk3.so x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,--as-needed -Wl,--no-undefined -fuse-ld=gold -Wl,--enable-new-dtags -shared -o libqgtk3.so .obj/main.o .obj/qgtk3dialoghelpers.o .obj/qgtk3menu.o .obj/qgtk3theme.o .obj/moc_qgtk3dialoghelpers.o .obj/moc_qgtk3menu.o -lQt5ThemeSupport -lQt5Gui -lQt5Core -lGL -lpthread -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lXext -lX11 -lm .obj/qgtk3theme.o:qgtk3theme.cpp:vtable for QGtk3Theme: error: undefined reference to 'QGnomeTheme::createPlatformMenuBar() const' .obj/qgtk3theme.o:qgtk3theme.cpp:vtable for QGtk3Theme: error: undefined reference to 'QGnomeTheme::createPlatformSystemTrayIcon() const' collect2: error: ld returned 1 exit status make[1]: *** [Makefile:138: ../../../../plugins/platformthemes/libqgtk3.so] Error 1 make[1]: Leaving directory '/var/tmp/portage/dev-qt/qtwidgets-5.9.2/work/qtbase-opensource-src-5.9.2/src/plugins/platformthemes/gtk3' make: *** [Makefile:45: sub-gtk3-make_first] Error 2 # emerge -pqv '=dev-qt/qtwidgets-5.9.2::gentoo' receiving incremental file list Packages 2,168,306 100% 172.32MB/s 0:00:00 (xfr#1, to-chk=0/1) sent 43 bytes received 2,168,920 bytes 4,337,926.00 bytes/sec total size is 2,168,306 speedup is 1.00 [ebuild U ] dev-qt/qtwidgets-5.9.2 [5.7.1] USE="gtk%* png xcb -debug -gles2 {-test}" !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: dev-qt/qtwidgets:5 (dev-qt/qtwidgets-5.9.2:5/5.9::gentoo, ebuild scheduled for merge) pulled in by =dev-qt/qtwidgets-5.9.2::gentoo (Argument) (dev-qt/qtwidgets-5.7.1:5/5.7::gentoo, installed) pulled in by ~dev-qt/qtwidgets-5.7.1 required by (dev-qt/qtquickcontrols-5.7.1-1:5/5.7::gentoo, installed) ^ ^^^^^ (and 5 more with the same problem) NOTE: Use the '--verbose-conflicts' option to display parents omitted above
Created attachment 498422 [details] build.log
# emerge --info '=dev-qt/qtwidgets-5.9.2::gentoo' Portage 2.3.11 (python 3.4.6-final-0, default/linux/amd64/13.0, gcc-6.4.0, glibc-2.25-r7, 4.11.12-rt-rt14 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.11.12-rt-rt14-x86_64-AMD_Athlon-tm-_II_X4_640_Processor-with-gentoo-2.4.1 KiB Mem: 8176992 total, 4719440 free KiB Swap: 2097148 total, 2097148 free Timestamp of repository gentoo: Thu, 12 Oct 2017 05:55:56 +0000 Head commit of repository gentoo: 8cb5a1e3578be6d5247698736691d93b291bbf6d Head commit of repository ring-overlay: a3c5c151a49945dda444a10e4bb107a0d9f3b542 sh bash 4.4_p12 ld GNU ld (Gentoo 2.29.1 p1.0) 2.29.1 distcc 3.2rc1 x86_64-pc-linux-gnu [disabled] app-shells/bash: 4.4_p12::gentoo dev-lang/perl: 5.24.3::gentoo dev-lang/python: 2.7.14::gentoo, 3.4.6::gentoo dev-util/cmake: 3.9.4::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.4.1-r2::gentoo sys-apps/openrc: 0.32::gentoo sys-apps/sandbox: 2.12::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.15.1-r1::gentoo sys-devel/binutils: 2.29.1::gentoo sys-devel/gcc: 4.9.4::gentoo, 6.4.0::gentoo sys-devel/gcc-config: 1.9.0::gentoo sys-devel/libtool: 2.4.6-r4::gentoo sys-devel/make: 4.2.1-r1::gentoo sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers) sys-libs/glibc: 2.25-r7::gentoo Repositories: gentoo location: /usr/portage sync-type: git sync-uri: git@github.com:lilrc/gentoo.git priority: -1000 lilrc location: /home/kalle/lilrc-overlay masters: gentoo priority: 0 ring-overlay location: /usr/local/portage/ring-overlay sync-type: git sync-uri: https://github.com/stefan-langenmaier/ring-overlay.git masters: gentoo ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="@FREE @MISC-FREE freedist" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -fomit-frame-pointer -pipe -fno-stack-protector -march=amdfam10" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -fomit-frame-pointer -pipe -fno-stack-protector -march=amdfam10" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--getbinpkg=y --binpkg-changed-deps=y --binpkg-respect-use=y --buildpkg-exclude app-admin/lilrc-update --buildpkg-exclude app-emulation/virtualbox-modules --buildpkg-exclude sys-fs/vhba --buildpkg-exclude virtual/*" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs binpkg-multi-instance buildpkg buildsyspkg config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict news noinfo parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org http://ftp.df.lth.se/pub/gentoo/ rsync://ftp.df.lth.se/pub/gentoo/ http://mirror.mdfnet.se/gentoo" INSTALL_MASK="/etc/systemd /usr/lib/systemd" LANG="sv_SE.iso88591" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac alloca alsa amd64 aspell cairo cd cdda cddb cdr cracklib crypt cups curl djvu dri drm dssi dvd dvdr dvi exif ffmpeg fftw flac fltk gallium gif gimp glib gmp gnuplot gnutls gstreamer gtk gtk2 gtkstyle gudev hwdb imap inotify jack javascript jit jpeg keymap ladspa lame lapack libkms libnotify libsamplerate mad matplotlib mp3 mpeg netifrc nls nptl octave ogg opengl openmp openrc orc pam pdf png postscript qt4 qt5 readline sndfile spell ssl startup-notification subversion svg svn theora threads thunar tiff truetype udev udisks unicode usb v4l vaapi vdpau vlc vorbis webgl x264 xcb xcomposite xinerama xorg xscreensaver zlib" ABI_X86="64" ALSA_CARDS="hda-intel" CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext sse sse2 sse3 sse4_1" CURL_SSL="gnutls" ELIBC="glibc" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev" KERNEL="linux" L10N="sv sv-SE" LINGUAS="sv sv_SE" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby24" SANE_BACKENDS="plustek" USERLAND="GNU" VIDEO_CARDS="nouveau" Unset: CC, CPPFLAGS, CTARGET, CXX, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Build succeeds with USE="-gtk".
This symbol is provided by qtgui: #ifndef QT_NO_SYSTEMTRAYICON virtual QPlatformSystemTrayIcon *createPlatformSystemTrayIcon() const; #endif could you please also attach your qtgui build log?
Created attachment 498446 [details] qtgui.build.log.xz I am attaching the qtgui build log. I also rebuilt qtwidgets on top of it, but the compile failure is still there. # emerge -pqv --getbinpkg=n '=dev-qt/qtgui-5.9.2' [ebuild R ] dev-qt/qtgui-5.9.2 USE="gif jpeg png udev xcb -accessibility -dbus -debug -egl -eglfs -evdev -gles2 -ibus -libinput {-test} -tslib -tuio -vnc"
The build succeeds if dev-qt/qtgui is built with USE="dbus".
Sorry, I misquoted before. Here's the real symbol: #ifndef QT_NO_DBUS QPlatformMenuBar *QGnomeTheme::createPlatformMenuBar() const { if (isDBusGlobalMenuAvailable()) return new QDBusMenuBar(); return nullptr; } #endif It seems there's no way around this, so I'll have to update the USE deps.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/qt.git/commit/?id=4549cb1cbe2a3bf813e37a28c0505fcb2b45f900 commit 4549cb1cbe2a3bf813e37a28c0505fcb2b45f900 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2017-10-15 11:10:01 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2017-10-15 11:11:06 +0000 dev-qt/qtwidgets: USE="gtk" requires dev-qt/qtgui[dbus] Bug: https://bugs.gentoo.org/634072 Package-Manager: Portage-2.3.8, Repoman-2.3.3 dev-qt/qtwidgets/qtwidgets-5.10.9999.ebuild | 1 + dev-qt/qtwidgets/qtwidgets-5.9.9999.ebuild | 1 + dev-qt/qtwidgets/qtwidgets-5.9999.ebuild | 1 + 3 files changed, 3 insertions(+)}
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06b8190fe08c2c1e0a25df50f7f4adecf6137cc0 commit 06b8190fe08c2c1e0a25df50f7f4adecf6137cc0 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2017-10-15 11:10:01 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2017-10-15 11:13:18 +0000 dev-qt/qtwidgets: USE="gtk" requires dev-qt/qtgui[dbus] Closes: https://bugs.gentoo.org/634072 Package-Manager: Portage-2.3.8, Repoman-2.3.3 dev-qt/qtwidgets/qtwidgets-5.9.2.ebuild | 1 + 1 file changed, 1 insertion(+)