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

Bug 452182

Summary: libgio-2.0.so: undefined reference to `deflateSetHeader@ZLIB_1.2.2' (causing dbus-glib not to emerge)
Product: Gentoo Linux Reporter: Jeffrey Ratcliffe <Jeffrey.Ratcliffe>
Component: [OLD] LibraryAssignee: Gentoo Prefix <prefix>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build log
ltmain.sh
libtool

Description Jeffrey Ratcliffe 2013-01-15 07:35:36 UTC
CCLD   dbus-bash-completion-helper
/caehome/ra28145/rhel5-amd64-linux/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../libgio-2.0.so: undefined reference to `deflateSetHeader@ZLIB_1.2.2'
/caehome/ra28145/rhel5-amd64-linux/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../libgio-2.0.so: undefined reference to `inflateGetHeader@ZLIB_1.2.2'
collect2: ld returned 1 exit status
make[3]: *** [dbus-binding-tool] Error 1

$ emerge --info '=dev-libs/dbus-glib-0.100-r1'
Portage 2.2.01.21476-prefix (prefix/linux/amd64, gcc-4.6.3, unavailable, 2.6.18-238.9.1.el5 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.18-238.9.1.el5-x86_64-Intel-R-_Xeon-R-_CPU_E5450_@_3.00GHz-with-redhat-5.6-Tikanga
Timestamp of tree: Wed, 09 Jan 2013 22:37:35 +0000
ld GNU ld (Linux/GNU Binutils) 2.20.51.0.11.20100810
app-shells/bash:          4.2_p39-r1::gentoo_prefix
dev-java/java-config:     2.1.11-r3::gentoo_prefix
dev-lang/python:          2.7.3-r2::gentoo_prefix, 3.3.0::gentoo_prefix
dev-util/cmake:           2.8.10.2-r1::gentoo_prefix
dev-util/pkgconfig:       0.27.1::gentoo_prefix
sys-devel/autoconf:       2.13::gentoo_prefix, 2.69::gentoo_prefix
sys-devel/automake:       1.12.4::gentoo_prefix
sys-devel/binutils:       2.23::gentoo_prefix
sys-devel/gcc:            4.6.3::gentoo_prefix
sys-devel/gcc-config:     1.8-r00.1::gentoo_prefix
sys-devel/libtool:        2.4.2::gentoo_prefix
sys-devel/make:           3.82-r4::gentoo_prefix
sys-kernel/linux-headers: 3.7::gentoo_prefix
Repositories: gentoo_prefix local-repo
ACCEPT_KEYWORDS="~amd64-linux"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/home/jeff/amd64-linux/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles force-prefix merge-sync news parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j5"
PKGDIR="/home/jeff/amd64-linux/usr/portage/packages"
PORTAGE_CONFIGROOT="/home/jeff/amd64-linux/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/scratch"
PORTDIR="/home/jeff/amd64-linux/usr/portage"
PORTDIR_OVERLAY="/home/jeff/amd64-linux/usr/local/portage"
SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix"
USE="X amd64 bash-completion berkdb bzip2 cairo cli cracklib crypt cxx djvu dri emacs fontconfig fortran gdbm gif gtk iconv ipv6 jpeg mmx modules mudflap ncurses nls nptl openmp pcre png pppd prefix readline session sse sse2 ssl svg tcpd tiff truetype unicode 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="authn_core authz_core socache_shmcb unixd 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.7"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2013-01-15 16:06:21 UTC
Can you attach the full build log, please?
Comment 2 Jeffrey Ratcliffe 2013-01-17 08:28:54 UTC
Created attachment 335888 [details]
build log
Comment 3 Fabian Groffen gentoo-dev 2013-02-02 13:49:34 UTC
It's looking for 1.2.2 symbols, while it should be 1.2.5 (what we install), so I fear it's finding some zlib from the host provided system.
Comment 4 Benda Xu gentoo-dev 2013-03-07 05:55:46 UTC
Confirmed exactly the same bug on my Prefix RHEL5.5
Comment 5 Benda Xu gentoo-dev 2013-03-07 06:53:08 UTC
This is rather strange. I can compile it on a another box with almost the same environment (not sure what's different, RHEL 5.6)
Comment 6 Benda Xu gentoo-dev 2013-03-07 09:28:18 UTC
I have some clue, could you please paste the contents of libtool in ${S}? And do you have ${EPREFIX}/usr/lib64 dir? what's inside that?
Comment 7 Jeffrey Ratcliffe 2013-03-08 08:34:45 UTC
Created attachment 341286 [details]
ltmain.sh

S didn't have a libtool, attaching ltmain.sh instead.
Comment 8 Jeffrey Ratcliffe 2013-03-08 08:35:52 UTC
Created attachment 341288 [details]
libtool

Attaching libtool from -build directory.
Comment 9 Jeffrey Ratcliffe 2013-03-08 08:36:57 UTC
$ ls ${EPREFIX}/usr/lib64/
gcj-4.6.3-12  security
Comment 10 Benda Xu gentoo-dev 2013-03-08 09:21:01 UTC
(In reply to comment #8)
> Created attachment 341288 [details]
> libtool
> 
> Attaching libtool from -build directory.

# Compile-time system search path for libraries.
sys_lib_search_path_spec="/caehome/ra28145/rhel5-amd64-linux/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3 /caehome/ra28145/rhel5-amd64-linux/usr/x86_64-pc-linux-gnu/lib /caehome/ra28145/rhel5-amd64-linux/usr/lib64 /lib64 /usr/lib64 "

The problem is here. If you look at the directories closely, there is no /caehome/ra28145/rhel5-amd64-linux/usr/lib entry, where all the libraries locate.

> $ ls ${EPREFIX}/usr/lib64/
> gcj-4.6.3-12  security

This is a bug, Prefix instance should never have usr/lib64 installed, even on amd64.

Try the following workaround (merge lib64 to lib manually):

$ mv ${EPREFIX}/usr/lib64/* ${EPREFIX}/usr/lib/
$ rmdir ${EPREFIX}/usr/lib64
$ ln -s ${EPREFIX}/usr/lib{,64}

The rest of Prefix team may have insights on how usr/lib64 gets here.
Comment 11 Jeffrey Ratcliffe 2013-03-11 09:40:02 UTC
That allowed dev-libs/dbus-glib-0.100-r2 to emerge, thanks.

Why should prefix instances never have usr/lib64 installed, even on amd64?

Why is this OK on non-prefix instances?

Should this bug therefore be retitled "prefix installs gcj-4.6.3-12 & security to lib64, rather than lib"?
Comment 12 Benda Xu gentoo-dev 2013-04-09 06:53:43 UTC
(In reply to comment #11)
> That allowed dev-libs/dbus-glib-0.100-r2 to emerge, thanks.
> 
> Why should prefix instances never have usr/lib64 installed, even on amd64?

Gentoo Prefix started out like this and don't want to change. And the recent Debian's multiarch shows that lib64 is only an artifact.

> Why is this OK on non-prefix instances?

The developer of non-prefix wanted to obay LSB/FHS/amd64 ABI spec/whatever, and has a habbit of that already.

> Should this bug therefore be retitled "prefix installs gcj-4.6.3-12 &
> security to lib64, rather than lib"?

The lib64 vs lib things has annoyed Prefix a lot before.

There is no true policy saying we should use lib in Prefix for amd64.

only the profile said so:

$ grep LIB $EPREFIX/usr/portage/profiles/prefix/linux/amd64/make.defaults      
SYMLINK_LIB=""
LIBDIR_amd64="lib"

It is rather a historical remains than a reasoned choice.
Comment 13 Fabian Groffen gentoo-dev 2013-07-13 06:59:48 UTC
closing per comment #11