the ebuild failed, see below Reproducible: Always Steps to Reproduce: 1. emerge libxml2 /bin/sh ./libtool --tag=CC --mode=link powerpc-unknown-linux-gnu-gcc -O2 -mcpu=powerpc -mtune=powerpc -fno-strict-aliasing -pipe -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -o xmllint xmllint.o -lreadline -lhistory -lncurses ./libxml2.la -lz -lm powerpc-unknown-linux-gnu-gcc -O2 -mcpu=powerpc -mtune=powerpc -fno-strict-aliasing -pipe -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -o .libs/xmllint xmllint.o -lreadline -lhistory -lncurses ./.libs/libxml2.so -lz -lm ./.libs/libxml2.so: undefined reference to `_dl_hwcap' collect2: ld returned 1 exit status make[2]: *** [xmllint] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/mnt/matrox/var/tmp/portage/dev-libs/libxml2-2.6.28/work/libxml2-2.6.28' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/mnt/matrox/var/tmp/portage/dev-libs/libxml2-2.6.28/work/libxml2-2.6.28' make: *** [all] Error 2 * * ERROR: dev-libs/libxml2-2.6.28 failed. * Call stack: * ebuild.sh, line 1654: Called dyn_compile * ebuild.sh, line 990: Called qa_call 'src_compile' * ebuild.sh, line 44: Called src_compile * libxml2-2.6.28.ebuild, line 85: Called die * * Copilation failed * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/mnt/matrox/var/tmp/portage/dev-libs/libxml2-2.6.28/temp/build.log'. * emerge --info: Portage 2.1.3.9 (default-linux/ppc/ppc32/2007.0/G4, gcc-4.1.1, glibc-2.5-r4, 2.6.22-gentoo-r5 ppc) ================================================================= System uname: 2.6.22-gentoo-r5 ppc 7447A, altivec supported Timestamp of tree: Wed, 03 Oct 2007 12:50:01 +0000 app-shells/bash: 3.2_p17 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.9-r2 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.6.3, 1.7.9-r1, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.21 ACCEPT_KEYWORDS="ppc" CBUILD="powerpc-unknown-linux-gnu" CFLAGS="-O2 -mcpu=powerpc -mtune=powerpc -fno-strict-aliasing -pipe" CHOST="powerpc-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -mcpu=powerpc -mtune=powerpc -fno-strict-aliasing -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://gentoo.tiscali.nl/ " MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X aalib acl alsa altivec berkdb bitmap-fonts cli cracklib crypt cscope cups directfb dri esd fortran gdbm gif gpm iconv ipv6 isdnlog jpeg midi mono mudflap ncurses nls nptl nptlonly opengl openmp pcre perl png ppc pppd python readline reflection sdl session spl ssl tcpd truetype-fonts type1-fonts unicode xorg zlib" ALSA_CARDS="aoa aoa-fabric-layout aoa-onyx aoa-soundbus aoa-soundbus-i2s aoa-tas aoa-toonie powermac usb-audio via82xx" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="radeon" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
_dl_hwcap is not a libxml2 symbol as far as I can see. Could you try running revdep-rebuild and/or check what in the libxml dependencies needs rebuilding.
Thx for replying! revdep-rebuild found something, but looked unrelated (a libdb-...so needed by perl and python). Since then some other packages failed with a similar error, so it is not specific to libxml2. I found that _dl_hwcap is a variable in glibc, a "mask for hardware capabilities that are available" and is used in all kinds of processor-specific assembler code, too difficult for me to look into further. Here is the output of 'emerge audiofile'. /bin/sh ../libtool --mode=link powerpc-unknown-linux-gnu-gcc -O2 -mcpu=powerpc -mtune=powerpc -fno-strict-aliasing -pipe -o linuxtest linuxtest.o ../libaudiofile/libaudiofile.la -lm powerpc-unknown-linux-gnu-gcc -O2 -mcpu=powerpc -mtune=powerpc -fno-strict-aliasing -pipe -o .libs/power power.o ../libaudiofile/.libs/libaudiofile.so -lm /mnt/matrox/usr/powerpc-unknown-linux-gnu/gcc-bin/4.1.1/../../../lib/gcc/powerpc-unknown-linux-gnu/4.1.1/../../../libm.a(w_sqrt.o): In function `sqrt': (.text+0xa): undefined reference to `_dl_hwcap' /mnt/matrox/usr/powerpc-unknown-linux-gnu/gcc-bin/4.1.1/../../../lib/gcc/powerpc-unknown-linux-gnu/4.1.1/../../../libm.a(w_sqrt.o): In function `sqrt': (.text+0x16): undefined reference to `_dl_hwcap' /mnt/matrox/usr/powerpc-unknown-linux-gnu/gcc-bin/4.1.1/../../../lib/gcc/powerpc-unknown-linux-gnu/4.1.1/../../../libm.a(e_sqrt.o): In function `__ieee754_sqrt': (.text+0x18a): undefined reference to `_dl_hwcap' /mnt/matrox/usr/powerpc-unknown-linux-gnu/gcc-bin/4.1.1/../../../lib/gcc/powerpc-unknown-linux-gnu/4.1.1/../../../libm.a(e_sqrt.o): In function `__ieee754_sqrt': (.text+0x192): undefined reference to `_dl_hwcap' collect2: ld returned 1 exit status make[2]: *** [power] Error 1
Oh, I tried emerging the newest glibc, no difference. Then I tried downgrading to an older glibc, but I got an error somewhat like "Sanity check: downgrading glibc is a sure way to destruction!" :)
reassigning to toolchain, they'll know better than me what might be the problem
_dl_hwcap is an internal glibc variable ... nothing should be referring to it outside of glibc ... when you say "latest glibc version", what version are you talking about ? the output from sndfile looks screwed up ... it should not have been linking against the static libm which implies your /usr/lib/libm.so does not exist try doing something simple like: echo 'int main(){return sqrt((unsigned long)main);}' > test.c gcc test.c -lm
(In reply to comment #5) > the output from sndfile looks screwed up ... it should not have been linking > against the static libm which implies your /usr/lib/libm.so does not exist You were completely right, /usr/lib/libm.so wasn't found. You see I mounted an external hard drive that I can't boot from and instead of making several partitions for /usr, /var, /home etc.. I thought I could get away with linking e.g. /usr to ln -s /mnt/matrox/usr /usr That worked well for a while but libm.so (and others in /usr/lib) are symlinks themselves, with a relative path (../../lib/libm.so). That should point to /lib, but now didn't. So if glibc is not supposed to play nice with symlinks, then it;s not a bug. BTW, the output of your one liner was again an undefined reference to `_dl_hwcap'. Thx for helping!
yeah, symlinking /usr is known to be funky use a bind mount instead: mount --bind /mnt/matrox/usr /usr that should work for most everything ...