Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 245464

Summary: kdelibs-4.1.2-r1: undefined symbol: _Z7qstrcmpRK10QByteArrayPKc
Product: Gentoo Linux Reporter: Victor Mataré <vmatare+gbug>
Component: [OLD] LibraryAssignee: Gentoo KDE team <kde>
Status: RESOLVED INVALID    
Severity: normal CC: vmatare+gbug
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build log

Description Victor Mataré 2008-11-04 02:28:26 UTC
kdelibs-4.1.2-r1 fails with MAKEOPTS="-j2":

...
[  0%] Building CXX object kdecore/CMakeFiles/kdecore.dir/date/ktimezone.o
[  0%] Generating org_kde_solid_networking_client.cpp, org_kde_solid_networking_client.h
/usr/bin/qdbusxml2cpp: symbol lookup error: /usr/bin/qdbusxml2cpp: undefined symbol: _Z7qstrcmpRK10QByteArrayPKc
make[2]: *** [solid/solid/org_kde_solid_networking_client.cpp] Error 127
make[1]: *** [solid/solid/CMakeFiles/solid.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  0%] [  1%] Building CXX object kdecore/CMakeFiles/kdecore.dir/date/ksystemtimezone.o
Building CXX object kdecore/CMakeFiles/kdecore.dir date/ktzfiletimezone.o
...

Builds correctly when using MAKEOPTS=-j1

Reproducible: Always

Steps to Reproduce:
# MAKEOPTS=-j2 emerge kdelibs:4.1




-j2 should be replaced with -j1 by the ebuild script. Haven't had the time to figure out how to do that yet. Alternatively, upstream might fix the build system, but well....
Comment 1 Victor Mataré 2008-11-04 08:36:12 UTC
ok, MAKEOPTS=-j1 is no remedy either, it just delays the error:

...
[ 12%] Building CXX object kdecore/tests/CMakeFiles/klibloadertestmodule4.dir/klibloadertestmodule4_automoc.o
[ 12%] Building CXX object kdecore/tests/CMakeFiles/klibloadertestmodule4.dir/klibloadertest4_module.o
Linking CXX shared module ../../lib/klibloadertestmodule4.so
[ 12%] Built target klibloadertestmodule4
[ 12%] Generating org.kde.KWallet.xml
/usr/bin/qdbuscpp2xml: symbol lookup error: /usr/bin/qdbuscpp2xml: undefined symbol: _Z7qstrcmpRK10QByteArrayPKc
make[2]: *** [kdeui/org.kde.KWallet.xml] Error 127
make[1]: *** [kdeui/CMakeFiles/kdeui.dir/all] Error 2
make: *** [all] Error 2
...
Comment 2 Victor Mataré 2008-11-04 08:39:06 UTC
# emerge --info
Portage 2.2_rc13 (default/linux/amd64/2008.0/desktop, gcc-4.3.2, glibc-2.8_p20080602-r0, 2.6.25-gentoo-r7_wald x86_64)
=================================================================
System uname: Linux-2.6.25-gentoo-r7_wald-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T9500_@_2.60GHz-with-glibc2.2.5
Timestamp of tree: Sun, 02 Nov 2008 01:45:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.5.2-r8
dev-util/cmake:      2.6.2
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.3.0-r1
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.19
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=core2 -msse4.1 -mssse3 -msse3 -msse2 -msse -mmmx"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/4.0/env /usr/kde/4.0/share/config /usr/kde/4.0/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -march=core2 -msse4.1 -mssse3 -msse3 -msse2 -msse -mmmx"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror"
LANG="en_US.UTF8"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.phuk.ath.cx/gentoo-portage/"
USE="X a52 aac acl acpi aiglx alsa amd64 ao avahi bash-completion berkdb bluetooth branding bzip2 cairo caps cddb cdparanoia cdr cli cracklib crypt css cups curl dbus dga dri dv dvd dvdread encode evo exif extensions fam ffmpeg fftw firefox flac fortran gcj gd gdbm geoip gif gnokii gnome gnutls gpm gtk hal hdaps http ical iconv id3 id3tag jack jack-tmpfs java jpeg jpeg2k kde kdeenablefinal kdeprefix kerberos kipi lame laptop lash libnotify logrotate mad matroska midi mikmod mjpeg mmap mmx mp3 mp4 mpeg mplayer msn mudflap multilib musicbrainz ncurses nodrm nptl nptlonly nsplugin nvidia obex offensive ogg opengl openmp pam pcre pdf perl plotutils png ppds pulseaudio python qt3 qt3support qt4 quicktime rdesktop readline reflection replaygain rtsp samba sasl sdl session sms sox speex spl sse sse2 ssl ssse3 startup-notification svg sysfs tcpd tetex theora threads tiff truetype unicode usb vcd vim vim-syntax vorbis wifi wmf x264 xcomposite xine xinerama xml xorg xosd xulrunner xv xvid xvmc zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="mouse keyboard evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia nv"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Victor Mataré 2008-11-04 08:42:19 UTC
Created attachment 170696 [details]
build log

seems very un-verbose
Comment 4 Victor Mataré 2008-11-04 20:53:42 UTC
Alright, got it. Undefined symbols were coming from libQtGui.so.4.4 (and possibly others):
ldd -r /usr/lib/qt4/libQtGui.so.4.4
        linux-vdso.so.1 =>  (0x00007fff463fe000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00007f743d628000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0x00007f743d41f000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0x00007f743d203000)
        libQtCore.so.4 => /usr/local/lib32/libQtCore.so.4 (0x00007f743ce73000)
        libz.so.1 => /lib/libz.so.1 (0x00007f743cc5d000)
        librt.so.1 => /lib/librt.so.1 (0x00007f743ca53000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f743c838000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f743c62e000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007f743c425000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f743c222000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f743bf8d000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f743bd5d000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f743bb4b000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f743b840000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f743b63b000)
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/libstdc++.so.6 (0x00007f743b32f000)
        libm.so.6 => /lib/libm.so.6 (0x00007f743b0ae000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f743ae96000)
        libc.so.6 => /lib/libc.so.6 (0x00007f743ab4e000)
        libuuid.so.1 => /lib/libuuid.so.1 (0x00007f743a949000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f743e37b000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f743a71e000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f743a51b000)
        libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0x00007f743a319000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f743a0fc000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f7439ef6000)
undefined symbol: _ZN19QTextBoundaryFinder11setPositionEi       (./libQtGui.so.4.4)
undefined symbol: _Z10qHBNewFacePvPF8HB_ErrorS_jPhPjE   (./libQtGui.so.4.4)
undefined symbol: _Z7qstrcmpRK10QByteArrayS1_   (./libQtGui.so.4.4)
undefined symbol: _ZNK15QDateTimeParser8setDigitER9QDateTimeii  (./libQtGui.so.4.4)
undefined symbol: _Z7qstrcmpRK10QByteArrayPKc   (./libQtGui.so.4.4)
undefined symbol: _ZN19QTextBoundaryFinderC1ENS_12BoundaryTypeEPK5QChariPhi     (./libQtGui.so.4.4)
undefined symbol: _ZN23QCoreApplicationPrivate34sendThroughApplicationEventFiltersEP7QObjectP6QEvent  (./libQtGui.so.4.4)
undefined symbol: _ZNK6QLineF7angleToERKS_      (./libQtGui.so.4.4)
undefined symbol: _Z18qGetCharAttributesPKtjPK13HB_ScriptItemjP17HB_CharAttributes      (./libQtGui.so.4.4)
undefined symbol: _ZNK15QDateTimeParser5parseERK7QStringRK9QDateTimeb   (./libQtGui.so.4.4)
undefined symbol: _ZNK15QDateTimeParser8getDigitERK9QDateTimei  (./libQtGui.so.4.4)
undefined symbol: _Z10qShapeItemP13HB_ShaperItem        (./libQtGui.so.4.4)
undefined symbol: _ZNK7QLocale14dateTimeFormatENS_10FormatTypeE (./libQtGui.so.4.4)
undefined symbol: _ZNK19QTextBoundaryFinder15boundaryReasonsEv  (./libQtGui.so.4.4)
undefined symbol: _Z11qHBFreeFaceP11HB_FaceRec_ (./libQtGui.so.4.4)
undefined symbol: _ZN19QTextBoundaryFinder14toNextBoundaryEv    (./libQtGui.so.4.4)
undefined symbol: _ZN19QTextBoundaryFinderD1Ev  (./libQtGui.so.4.4)
undefined symbol: _Z21qDeleteInEventHandlerP7QObject    (./libQtGui.so.4.4)
undefined symbol: _ZN23QCoreApplicationPrivate29sendThroughObjectEventFiltersEP7QObjectP6QEvent       (./libQtGui.so.4.4)
undefined symbol: _ZNK19QTextBoundaryFinder8positionEv  (./libQtGui.so.4.4)
undefined symbol: _ZNK7QLocale8toStringERK9QDateTimeRK7QString  (./libQtGui.so.4.4)
undefined symbol: _ZNK7QLocale17measurementSystemEv     (./libQtGui.so.4.4)
undefined symbol: _ZNK6QLineF5angleEv   (./libQtGui.so.4.4)
undefined symbol: _ZN14QFactoryLoaderC1EPKcRK7QStringN2Qt15CaseSensitivityE     (./libQtGui.so.4.4)

The Problem was that according to /etc/env.d/*, LDPATH=/usr/local/lib32 was put into /etc/ld.so.conf BEFORE /usr/lib/qt4. As I happen to actually have a libQtCore.so.4.3.3 in /usr/local/lib32, the libs in /usr/lib/qt4 ended up using that lib instead of the one in /usr/lib/qt4.

SOLUTION:
# echo "LDPATH=/usr/lib/qt4:/usr/lib64/qt4:/usr/lib32/qt4" > /etc/env.d/00qt4-fix
# env-update
# . /etc/profile

In order to make sure those LDPATHs are searched *before* looking for (probably untidy) stuff in /usr/local.
Would be great if somebody could take that into account for future qt ebuilds, or at least point out if that's the proper way of fixing this problem. I consider this situation part of some bigger issues around the Firefox-Flash-Pulseaudio combo on amd64 which needs a lot of attention, loving and care to get running properly...
Comment 5 Tomáš Chvátal (RETIRED) gentoo-dev 2008-11-04 21:10:10 UTC
Actualy what can we do for you. On one side users are not happy if we dont let them override system stuff in /usr/local and now you are telling as that something is not working because you have mess in there.
Of course we can allways preffer /usr above /usr/local but then would /usr/local kinda lost its meaning dont you think?
Comment 6 Tomáš Chvátal (RETIRED) gentoo-dev 2008-11-04 23:23:46 UTC
As i stated in previous comment we will not change preffered behavior in /usr/local in fawor of /usr so closing as invalid.