I upgraded to gcc 4.1.1 along the way, while building 180 something of the 450 or so packages that emerge -e world wanted to build, dev-lang/glib-2.10.3 failed to build with the following:
>>> checking ebuild checksums ;-) >>> checking auxfile checksums ;-) >>> checking miscfile checksums ;-) >>> checking glib-2.10.3.tar.bz2 ;-) >>> Unpacking source... >>> Unpacking glib-2.10.3.tar.bz2 to /var/tmp/portage/glib-2.10.3/work Applying glib-2.8.3-macos.patch ... >>> Source unpacked. >>> Compiling source in /var/tmp/portage/glib-2.10.3/work/glib-2.10.3 ... Removing useless C++ checks ... Running elibtoolize in: glib-2.10.3 Applying portage-1.5.10.patch ... Applying max_cmd_len-1.5.20.patch ... Applying sed-1.5.6.patch ... * econf: updating glib-2.10.3/config.guess with /usr/share/gnuconfig/config.guess * econf: updating glib-2.10.3/config.sub with /usr/share/gnuconfig/config.sub /usr/bin/confcache --confcache-ignore /var/tmp/ccache:/var/tmp/.distcc --confcache-dir /var/tmp/confcache ./configure --prefix=/usr --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-gtk-doc --with-threads=posix --libdir=/usr/lib64 --build=x86_64-pc-linux-gnu configure: loading cache config.cache checking for a BSD-compatible install... (cached) /bin/install -c checking whether build environment is sane... yes checking for gawk... (cached) gawk . . . .if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../glib -I../gmodule -DG_DISABLE_CAST_CHECKS -pthread -march=opteron -O3 -pipe -fomit-frame-pointer -ftracer -Wall -MT timeloop-closure.o -MD -MP -MF ".deps/timeloop-closure.Tpo" \ -c -o timeloop-closure.o `test -f 'timeloop-closure.c' || echo './'`timeloop-closure.c; \ then mv -f ".deps/timeloop-closure.Tpo" ".deps/timeloop-closure.Po"; \ else rm -f ".deps/timeloop-closure.Tpo"; exit 1; \ fi /bin/sh ../libtool --mode=link x86_64-pc-linux-gnu-gcc -march=opteron -O3 -pipe -fomit-frame-pointer -ftracer -Wall -o libmoduletestplugin_a.la -rpath /usr/lib64 -Wl,--export-dynamic -avoid-version -module -rpath /usr/lib64 libmoduletestplugin_a.lo /bin/sh ../libtool --mode=link x86_64-pc-linux-gnu-gcc -march=opteron -O3 -pipe -fomit-frame-pointer -ftracer -Wall -o libmoduletestplugin_b.la -rpath /usr/lib64 -Wl,--export-dynamic -avoid-version -module -rpath /usr/lib64 libmoduletestplugin_b.lo /bin/sh ../libtool --mode=link x86_64-pc-linux-gnu-gcc -march=opteron -O3 -pipe -fomit-frame-pointer -ftracer -Wall -o testglib testglib.o ../glib/libglib-2.0.la x86_64-pc-linux-gnu-gcc -shared .libs/libmoduletestplugin_b.o -march=opteron -Wl,--export-dynamic -Wl,-soname -Wl,libmoduletestplugin_b.so -o .libs/libmoduletestplugin_b.so creating libmoduletestplugin_b.la (cd .libs && rm -f libmoduletestplugin_b.la && ln -s ../libmoduletestplugin_b.la libmoduletestplugin_b.la) x86_64-pc-linux-gnu-gcc -shared .libs/libmoduletestplugin_a.o -march=opteron -Wl,--export-dynamic -Wl,-soname -Wl,libmoduletestplugin_a.so -o .libs/libmoduletestplugin_a.so /bin/sh ../libtool --mode=link x86_64-pc-linux-gnu-gcc -march=opteron -O3 -pipe -fomit-frame-pointer -ftracer -Wall -o testgdate testgdate.o ../glib/libglib-2.0.la creating libmoduletestplugin_a.la (cd .libs && rm -f libmoduletestplugin_a.la && ln -s ../libmoduletestplugin_a.la libmoduletestplugin_a.la) /bin/sh ../libtool --mode=link x86_64-pc-linux-gnu-gcc -march=opteron -O3 -pipe -fomit-frame-pointer -ftracer -Wall -o testgdateparser testgdateparser.o ../glib/libglib-2.0.la x86_64-pc-linux-gnu-gcc -march=opteron -O3 -pipe -fomit-frame-pointer -ftracer -Wall -o .libs/testglib testglib.o ../glib/.libs/libglib-2.0.so testglib.o: In function `main': testglib.c:(.text+0x4d0): undefined reference to `glib_binary_age' testglib.c:(.text+0x4dc): undefined reference to `glib_interface_age' testglib.c:(.text+0x4e2): undefined reference to `glib_micro_version' testglib.c:(.text+0x4e8): undefined reference to `glib_minor_version' testglib.c:(.text+0x4ee): undefined reference to `glib_major_version' collect2: ld returned 1 exit status make[3]: *** [testglib] Error 1 make[3]: *** Waiting for unfinished jobs.... ************************************************************************ ********************** I tried masking glib-2.10.3 and building a lower version, same result. Since gcc 3.4.6 was my previous compiler, I tried runniing "fix_libtool_files.sh 3.4.6," no joy. Then, I vaguely remembered a message here recently, that mentioned something about the confcache feature of portage causing a problem for someone during a gcc upgrade. I commented out the FEATURES="confcache" line in make.conf and deleted everything from /var/tmp/confcache, afterward, lo and behold glib-2.10.3 built and installed without error. The description for confcache says: "GNU autoconf is a bottleneck for compiling packages - especially on multi-processor boxes, confcache had been considered as a way to lower the cost of repeatedly running autoconf-generated configure scripts." Since this is a dual Opteron box I'd like to use confcache, seems that it might save some time while building the 450 or so packages that I now need to start over on rebuilding. Of course if confcache had worked correctly I wouldn't need to start over. I've looked in the man pages and searched the web for confcache information, but haven't found much. 1. Should I have known that I needed to do something to confcache after upgrading gcc, is that "common knowledge" that I missed somehow? 2. Can I safely re-enable confcache before restarting the emerge -e world? I did find this http://bugs.gentoo.org/show_bug.cgi?id=133902, and the comments in the "master" confcache bug seem to indicate that the "error" is in an ebuild previous to the one that failed. If I had not deleted /var/tmp/confcache/config.cache I'd have sent in the requested information to help resolve this bug. I can't tell from the comments whether or not it's safe to re-enable confcache with a new fresh database, or if there are just some ebuilds that break when it's enabled. 3. Is there any info regarding refreshing, updating, maintaining, confcache's cache, specifically how, when, and what to do? TIA Bob Young San Jose, CA. -- gentoo-user@gentoo.org mailing list