Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 567022 - kde-base/pykde4-4.14.3: multiple build failures due to missing Qt/KDE symbols
Summary: kde-base/pykde4-4.14.3: multiple build failures due to missing Qt/KDE symbols
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
: 568646 569298 570214 (view as bug list)
Depends on:
Blocks: gcc-5
  Show dependency tree
Reported: 2015-11-28 09:23 UTC by Manuel Lauss
Modified: 2016-01-20 19:34 UTC (History)
10 users (show)

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

Patch to add needed libraries (pykde4-4.14.3.patch,1.10 KB, patch)
2015-12-17 12:46 UTC, Erik Zeek
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Manuel Lauss 2015-11-28 09:23:38 UTC
kde-base/pykde4-4.14.3, fails to build due to a multitude of missing Qt4/KDE symbols:

 Linking CXX shared library lib/
/usr/bin/cmake -E cmake_link_script CMakeFiles/python_module_PyKDE4_dnssd.dir/link.txt --verbose=1
/usr/bin/x86_64-pc-linux-gnu-g++  -fPIC -O2 -march=haswell -mtune=haswell -pipe  -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -fvisibility-inlines-hidden -Wl,--enable-new-dtags -Wl,--no-undefined -lc  -Wl,-O1 -Wl,--as-needed -shared -Wl,-soname, -o lib/ CMakeFiles/python_module_PyKDE4_dnssd.dir/sip/dnssd/sipdnssdpart0.cpp.o CMakeFiles/python_module_PyKDE4_dnssd.dir/sip/dnssd/sipdnssdpart1.cpp.o CMakeFiles/python_module_PyKDE4_dnssd.dir/sip/dnssd/sipdnssdpart2.cpp.o CMakeFiles/python_module_PyKDE4_dnssd.dir/sip/dnssd/sipdnssdpart3.cpp.o CMakeFiles/python_module_PyKDE4_dnssd.dir/sip/dnssd/sipdnssdpart4.cpp.o CMakeFiles/python_module_PyKDE4_dnssd.dir/sip/dnssd/sipdnssdpart5.cpp.o CMakeFiles/python_module_PyKDE4_dnssd.dir/sip/dnssd/sipdnssdpart6.cpp.o CMakeFiles/python_module_PyKDE4_dnssd.dir/sip/dnssd/sipdnssdpart7.cpp.o -lpython2.7 /usr/lib64/ /usr/lib64/qt4/ -lpthread /usr/lib64/ /usr/lib64/qt4/ -lpthread /usr/lib64/qt4/ -Wl,-rpath,/usr/lib64/qt4: 
CMakeFiles/python_module_PyKDE4_dnssd.dir/sip/dnssd/sipdnssdpart2.cpp.o: In function `meth_DNSSD_ServiceBrowser_resolveHostName':
sipdnssdpart2.cpp:(.text+0x212): undefined reference to `QHostAddress::QHostAddress(QHostAddress const&)'
sipdnssdpart2.cpp:(.text+0x21a): undefined reference to `QHostAddress::~QHostAddress()'
collect2: error: ld returned 1 exit status

To my untrained eye it seems that a reference to /usr/lib64/qt4/ should fix it.

[ 52%] Linking CXX shared library lib/
/usr/bin/cmake -E cmake_link_script CMakeFiles/python_module_PyKDE4_kio.dir/link.txt --verbose=1
/usr/bin/x86_64-pc-linux-gnu-g++  -fPIC -O2 -march=haswell -mtune=haswell -pipe  -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -fvisibility-inlines-hidden -Wl,--enable-new-dtags -Wl,--no-undefined -lc  -Wl,-O1 -Wl,--as-needed -shared -Wl,-soname, -o lib/ CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart0.cpp.o CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart1.cpp.o CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart2.cpp.o CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart3.cpp.o CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart4.cpp.o CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart5.cpp.o CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart6.cpp.o CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart7.cpp.o -lpython2.7 /usr/lib64/ /usr/lib64/ /usr/lib64/qt4/ /usr/lib64/qt4/ /usr/lib64/ /usr/lib64/qt4/ /usr/lib64/ /usr/lib64/qt4/ /usr/lib64/qt4/ -lpthread /usr/lib64/qt4/ -Wl,-rpath,/usr/lib64/qt4: 
CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart3.cpp.o: In function `meth_KFilePlacesModel_deviceForIndex':
sipkiopart3.cpp:(.text+0x7df7): undefined reference to `Solid::Device::Device(Solid::Device const&)'
sipkiopart3.cpp:(.text+0x7dff): undefined reference to `Solid::Device::~Device()'
CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart4.cpp.o: In function `meth_KDeviceListModel_deviceForIndex':
sipkiopart4.cpp:(.text+0x14d47): undefined reference to `Solid::Device::Device(Solid::Device const&)'
sipkiopart4.cpp:(.text+0x14d4f): undefined reference to `Solid::Device::~Device()'
collect2: error: ld returned 1 exit status
CMakeFiles/python_module_PyKDE4_kio.dir/build.make:435: recipe for target 'lib/' failed

I don't know what's wrong here, the constructor/destructor of Solid::Device are
definitely there, and the signature of the constructor matches /usr/include/solid/device.h.

I've rebuilt all of Qt4 (4.8.7), python2.7/3.5, sip-4.17, PyQt4-4.11.4, kdelibs-4.14.8 already, didn't help.

Portage 2.2.26 (python 2.7.10-final-0, default/linux/amd64/13.0/desktop/kde/systemd, gcc-5.2.0, glibc-2.22-r1, 4.3.0 x86_64)
System uname: Linux-4.3.0-x86_64-Intel-R-_Core-TM-_i7-4910MQ_CPU_@_2.90GHz-with-gentoo-2.2
KiB Mem:    32899500 total,  14842836 free
KiB Swap:   21955904 total,  21955904 free
Timestamp of repository gentoo: Fri, 27 Nov 2015 20:15:01 +0000
sh bash 4.3_p42
ld GNU ld (Gentoo git)
distcc 3.2rc1 x86_64-pc-linux-gnu [disabled]
ccache version 3.2.4 [disabled]
app-shells/bash:          4.3_p42::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.22.0::gentoo
dev-lang/python:          2.7.10-r3::gentoo, 3.5.0-r1::gentoo
dev-util/ccache:          3.2.4::gentoo
dev-util/cmake:           3.4.0-r1::gentoo
dev-util/pkgconfig:       0.29::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.18.3::gentoo
sys-apps/sandbox:         2.9::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.12.6::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       9999::gentoo
sys-devel/gcc:            4.9.3::gentoo, 5.2.0::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r1::gentoo

    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://moya/gentoo-portage
    priority: -1000

    location: /etc/portage/overlay
    masters: gentoo
    priority: 0

    location: /var/lib/layman/steam-overlay
    masters: gentoo
    priority: 50

    location: /var/lib/layman/x11
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64 ~amd64-linux"
CFLAGS="-O2 -march=haswell -mtune=haswell -pipe"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /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 -march=haswell -mtune=haswell -pipe"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs candy cgroup compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersync"
FFLAGS="-O2 -pipe"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
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"
USE="X acl alsa amd64 bash-completion bluetooth bzip2 crypt dbus dri gstreamer iconv inotify introspection ipv6 jpeg lzma nptl opengl pam png policykit qml qt4 ssl systemd threads tiff udev udisks unicode upower usb zlib" ABI_X86="64" CALLIGRA_FEATURES="author braindump flow karbon kexi krita sheets stage words" CAMERAS="*" CPU_FLAGS_X86="mmx mmxext sse3 ssse3 sse sse2 sse4_1 sse4_2 avx avx2 fma3 aes" CURL_SSL="openssl" ELIBC="glibc" GPSD_PROTOCOLS="*" GRUB_PLATFORMS="pc efi-64" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LINGUAS="en" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_5" QEMU_USER_TARGETS="mipsel mips sh4 sh4eb mips64 mips64el" RUBY_TARGETS="ruby22" SANE_BACKENDS="*" USERLAND="GNU" VIDEO_CARDS="nvidia intel i965"

Reproducible: Always
Comment 1 Michael Palimaka (kensington) gentoo-dev 2015-11-29 16:42:01 UTC
Does it work with GCC 4?
Comment 2 Manuel Lauss 2015-11-29 17:59:43 UTC
Yes, it does build with GCC-4. Curious though, I last rebuilt pykde4 on 20th of September with GCC-5.2.
Comment 3 Michael Palimaka (kensington) gentoo-dev 2015-11-30 12:46:52 UTC
It reminds me of ABI breakage, but that would have been solved by those rebuilds.
Comment 4 Dan Goodliffe 2015-12-15 14:14:53 UTC
I've just stumbled into this after the upgrade to GCC 5.3.0

CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart3.cpp.o: In function `meth_KFilePlacesModel_deviceForIndex':
sipkiopart3.cpp:(.text+0x7077): undefined reference to `Solid::Device::Device(Solid::Device const&)'
sipkiopart3.cpp:(.text+0x707f): undefined reference to `Solid::Device::~Device()'
CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart4.cpp.o: In function `meth_KDeviceListModel_deviceForIndex':
sipkiopart4.cpp:(.text+0x144e7): undefined reference to `Solid::Device::Device(Solid::Device const&)'
sipkiopart4.cpp:(.text+0x144ef): undefined reference to `Solid::Device::~Device()'

Different missing things, but I suspect the root cause will be the same, maybe in different packages.
Comment 5 Dan Goodliffe 2015-12-15 14:52:29 UTC
OK weird...
I've just re-re-emerged as follows:
[ebuild   R    ] dev-qt/qtcore-4.8.7-r1 
[ebuild   R    ] dev-qt/qtgui-4.8.7 
[ebuild   R    ] dev-qt/qtdbus-4.8.7 
[ebuild   R    ] dev-qt/qtsvg-4.8.7 
[ebuild   R    ] kde-base/kdelibs-4.14.14 

And the problem has "gone away"... can only assume something in the chain impacts things downstream. Same thing might sort the original poster's problem.
Comment 6 Dan Goodliffe 2015-12-15 15:02:44 UTC
No it didn't, that was utter nonsense. It fixed a similar problem I was having with PyQt4.... problem with pykde4 remains.
Comment 7 Manuel Lauss 2015-12-15 15:15:56 UTC
In the meantime I've rebuilt every package on my system twice now with gcc-5.3 (only takes 4 hours), but the pykde4 error remains.
Comment 8 Dan Goodliffe 2015-12-15 23:57:32 UTC
Just had chance to have a deeper look. On the face of it, I agree with the original post; a link to should fix one and a link to should fix the other.
Comment 9 Erik Zeek 2015-12-17 12:46:03 UTC
Created attachment 419462 [details, diff]
Patch to add needed libraries

Here's my attempt at a patch.
Comment 10 Dan Goodliffe 2015-12-17 13:10:06 UTC
Damn, you beat to it :-)
Patch works a treat for me. Good work, thanks.
Comment 11 jms 2015-12-18 12:59:13 UTC
had same problem while moving to 5.3.0
applied patch
now  kde-base/pykde4-4.14.3 compile fine
Comment 12 Geoff Madden 2015-12-18 15:40:02 UTC
ditto here in OZ pykde4 compiled up just fine after the patch applied
Comment 13 Michael Palimaka (kensington) gentoo-dev 2015-12-20 16:36:55 UTC
*** Bug 568646 has been marked as a duplicate of this bug. ***
Comment 14 André Terpstra 2015-12-22 11:45:20 UTC
Wonderful patch. First time I had to apply one; using /etc/portage/patches it proved quite simple. Did not want to wait for an updated ebuild any longer.
Comment 15 Ben Kohler gentoo-dev 2015-12-23 16:37:52 UTC
*** Bug 569298 has been marked as a duplicate of this bug. ***
Comment 16 Manuel Lauss 2015-12-24 08:06:41 UTC
Patch fixes the issue here as well (tested with gcc-4.9.3, 5.2 and 5.3)
Comment 17 Michael Palimaka (kensington) gentoo-dev 2015-12-31 17:19:21 UTC
*** Bug 570214 has been marked as a duplicate of this bug. ***
Comment 18 Juergen Rose 2016-01-03 07:45:08 UTC
I can confirm that pykde4-4.14.3 compiles again, at least with gcc-5.3.0.
Comment 19 Juergen Rose 2016-01-03 07:47:25 UTC
I can confirm that pykde4-4.14.3 compiles again, at least with gcc-5.3.0.
Comment 20 Michael Palimaka (kensington) gentoo-dev 2016-01-20 19:34:24 UTC
Thanks, fixed in git by Andreas using Erik's patch.