Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 634072 - dev-qt/qtwidgets-5.9.2[gtk] w/ dev-qt/qtgui[-dbus] - error: undefined reference to 'QGnomeTheme::createPlatformMenuBar() const
Summary: dev-qt/qtwidgets-5.9.2[gtk] w/ dev-qt/qtgui[-dbus] - error: undefined referen...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-10-12 06:56 UTC by Karl Lindén
Modified: 2017-10-15 11:13 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,586.60 KB, text/plain)
2017-10-12 06:57 UTC, Karl Lindén
Details
qtgui.build.log.xz (build.log.xz,33.29 KB, text/plain)
2017-10-12 17:14 UTC, Karl Lindén
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Karl Lindén 2017-10-12 06:56:24 UTC
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
Comment 1 Karl Lindén 2017-10-12 06:57:30 UTC
Created attachment 498422 [details]
build.log
Comment 2 Karl Lindén 2017-10-12 06:58:03 UTC
# 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
Comment 3 Karl Lindén 2017-10-12 07:05:17 UTC
Build succeeds with USE="-gtk".
Comment 4 Michael Palimaka (kensington) gentoo-dev 2017-10-12 10:22:12 UTC
This symbol is provided by qtgui:
#ifndef QT_NO_SYSTEMTRAYICON
    virtual QPlatformSystemTrayIcon *createPlatformSystemTrayIcon() const;
#endif

could you please also attach your qtgui build log?
Comment 5 Karl Lindén 2017-10-12 17:14:39 UTC
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"
Comment 6 Karl Lindén 2017-10-12 17:59:36 UTC
The build succeeds if dev-qt/qtgui is built with USE="dbus".
Comment 7 Michael Palimaka (kensington) gentoo-dev 2017-10-15 11:07:28 UTC
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.
Comment 8 Larry the Git Cow gentoo-dev 2017-10-15 11:11:22 UTC
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(+)}
Comment 9 Larry the Git Cow gentoo-dev 2017-10-15 11:13:28 UTC
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(+)