First, I always stay with the 'stable' ebuilds. I never emerge any masked packages. Can't afford it. This system *must* run. My last successfull emerge was sys-devel/binutils-2.15.92.0.2-r1 as seen in the emerge.log: 1105563018: Started emerge on: Jan 12, 2005 21:50:18 1105563018: *** emerge sys-devel/binutils 1105563018: >>> emerge (1 of 1) sys-devel/binutils-2.15.92.0.2-r1 to / 1105563018: === (1 of 1) Cleaning (sys-devel/binutils-2.15.92.0.2-r1::/usr/portage/sys-devel/binutils/binutils-2.15.92.0.2-r1.ebuild) 1105563024: === (1 of 1) Compiling/Merging (sys-devel/binutils-2.15.92.0.2-r1::/usr/portage/sys-devel/binutils/binutils-2.15.92.0.2-r1.ebuild) 1105566387: === (1 of 1) Post-Build Cleaning (sys-devel/binutils-2.15.92.0.2-r1::/usr/portage/sys-devel/binutils/binutils-2.15.92.0.2-r1.ebuild)1105566402: >>> AUTOCLEAN: sys-devel/binutils 1105566407: === Unmerging... (sys-devel/binutils-2.15.90.0.1.1-r3) 1105566425: >>> unmerge success: sys-devel/binutils-2.15.90.0.1.1-r3 1105566426: ::: completed emerge (1 of 1) sys-devel/binutils-2.15.92.0.2-r1 to / 1105566426: *** Finished. Cleaning up... 1105566429: *** exiting successfully. 1105566460: *** terminating. After that, nothing compiles anymore. I've tried to find some tips both in the forum and here at Bugzilla, but have so far failed to get out of this Catch22. Typically, I tried to re-emerge binutils. Can't. Tried to re-emerge gettext. Can't. Have re-run gcc-config. No improvement. I have already gone into different Catch22 situations with other systems, though long time ago. I really can't let this system go for a re-installation. Everything else works on this system. All services run perfectly well. All logins are fine. chkrootkit finds nothing. Everything is perfect. But I can't compile anything. I guess this bug-report will be marked as DUPLICATE, which I can understand. My problem is that the duplicates do not provide me any working *solution*, which I'm desperately trying to find. Please, please someone help me to find a solution to this problem. Reproducible: Always Steps to Reproduce: 1. emerge binutils (this emerged binutils 2.15.92.0.2-r1) 2. emerge <anything> 3. emerge fails. Actual Results: Example 1: # emerge gettext Calculating dependencies ...done! >>> emerge (1 of 1) sys-devel/gettext-0.12.1-r2 to / >>> md5 src_uri ;-) gettext-0.12.1.tar.gz . . . checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking for C compiler default output... configure: error: C compiler cannot create executables See `config.log' for more details. configure: error: /bin/sh './configure' failed for autoconf-lib-link !!! ERROR: sys-devel/gettext-0.12.1-r2 failed. !!! Function econf, Line 449, Exitcode 1 !!! econf failed !!! If you need support, post the topmost build error, NOT this status message. Example 2: # emerge gcc Calculating dependencies ...done! >>> emerge (1 of 1) sys-devel/gcc-3.3.5-r1 to / . . . * Applying pro-police-docs.patch ... [ ok ]/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/bin/as: symbol lookup error: /usr/lib/libbfd-2.15.92.0.2.so: undefined symbol: bfd_hash_allocate readelf: Error: 'libctest': No such file * Applying various patches (bugfixes/updates) ... * . . . * Configuring GCC with: --enable-version-specific-runtime-libs --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3.5 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/info --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/include/g++-v3 --host=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --enable-shared --enable-threads=posix --disable-multilib --disable-libgcj --enable-languages=c,c++,f77 *** This configuration is not supported in the following subdirectories: target-libffi target-boehm-gc target-zlib target-libjava zlib fastjar target-libobjc (Any other directories should still work fine.) Created "Makefile" in /var/tmp/portage/gcc-3.3.5-r1/work/build using "mt-frag" /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/bin/as: symbol lookup error: /usr/lib/libbfd-2.15.92.0.2.so: undefined symbol: bfd_hash_allocate cc1: Broken pipe: error closing - *** The command 'gcc -o conftest -march=i686 -pipe -O2 conftest.c' failed. *** You must set the environment variable CC to a working compiler. !!! ERROR: sys-devel/gcc-3.3.5-r1 failed. !!! Function gcc_do_configure, Line 993, Exitcode 1 !!! failed to run configure !!! If you need support, post the topmost build error, NOT this status message. Example 3: midgard root # emerge sys-libs/zlib Calculating dependencies ...done! >>> emerge (1 of 1) sys-libs/zlib-1.2.2 to / . . . Checking for snprintf() in stdio.h... No. WARNING: snprintf() not found, falling back to sprintf(). zlib can build but will be open to possible buffer-overflow security vulnerabilities. Checking for return value of sprintf()... No. WARNING: apparently sprintf() does not return a value. zlib can build but will be open to possible string-format security vulnerabilities. Checking for errno.h... No. Checking for mmap support... No. i686-pc-linux-gnu-gcc -O3 -march=i686 -funroll-loops -pipe -DNO_snprintf -DHAS_sprintf_void -DNO_ERRNO_H -c -o example.o example.c i686-pc-linux-gnu-gcc -O3 -march=i686 -funroll-loops -pipe -DNO_snprintf -DHAS_sprintf_void -DNO_ERRNO_H -c -o adler32.o adler32.c /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/bin/as: symbol lookup error: /usr/lib/libbfd-2.15.92.0.2.so: undefined symbol: bfd_hash_allocate /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/bin/as: symbol lookup error: /usr/lib/libbfd-2.15.92.0.2.so: undefined symbol: bfd_hash_allocate cc1: Broken pipe: error closing - make: *** [adler32.o] Error 1 make: *** Waiting for unfinished jobs.... cc1: Broken pipe: error writing to - make: *** [example.o] Error 1 !!! ERROR: sys-libs/zlib-1.2.2 failed. !!! Function src_compile, Line 42, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. Etc. Expected Results: Something should compile... # emerge info Portage 2.0.51-r3 (default-linux/x86/2004.0, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r13 i686) ================================================================= System uname: 2.6.9-gentoo-r13 i686 Pentium II (Klamath) Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.92.0.2-r1 Headers: sys-kernel/linux-headers-2.4.19-r1,sys-kernel/linux-headers-2.4.21-r1 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=i686 -funroll-loops -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=i686 -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS=" http://tsp.yggdrasil.home/tsp-cache/gentoo.oregonstate.edu http://tsp.yggdrasil.home/tsp-cache/sunsite.cnlab-switch.ch/ftp/mirror/gentoo http://tsp.yggdrasil.home/tsp-cache/www.ibiblio.org/pub/Linux/distributions/gentoo http://sunsite.cnlab-switch.ch/ftp/mirror/gentoo http://gentoo.oregonstate.edu " MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 apm arts avi berkdb bitmap-fonts crypt cups encode f77 font-server foomaticdb fortran gdbm gif gpm gtk gtk2 imlib ipv6 jpeg libg++ libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png pwdb python qt quicktime readline sdl slang spell ssl svga tcpd truetype truetype-fonts type1-fonts userlocales xinetd xml2 xmms xv zlib"
I just updated from binutils-2.15.94.0.2 to binutils-2.15.94.0.2.2. After that update, I was not able to compile anything, and I was given just the same errors as mentioned above (C compiler cannot create executables and so on). I tried to emerge the binary package of my "old" version of binutils (2.15.94.0.2) and that gave me the following message: !!! Cannot write to '/usr/i686-pc-linux-gnu/lib/ldscripts'. !!! Please check permissions and directories for broken symlinks. !!! You may start the merge process again by using ebuild: !!! ebuild /usr/portage/sys-devel/binutils/binutils-2.15.92.0.2-r1.ebuild merge !!! And finish by running this: env-update I looked at it: ll /usr/i686-pc-linux-gnu/lib/ldscripts lrwxrwxrwx 1 root root 57 31. Dez 00:15 /usr/i686-pc-linux-gnu/lib/ldscripts -> /usr/lib/binutils/i686-pc-linux-gnu/2.15.94.0.2/ldscripts hardcore ~ # ll /usr/lib/binutils/i686-pc-linux-gnu/2.15.94.0.2/ldscripts ls: /usr/lib/binutils/i686-pc-linux-gnu/2.15.94.0.2/ldscripts: Datei oder Verzeichnis nicht gefunden The last means: file or directory not found. Should be so because I want to use 2.15.94.0.2.2... but there is no symlink to that point?!?! So MY problem was a bad symlink after the update from binutils-2.15.94.0.2 to binutils-2.15.94.0.2.2. After I did a "ln -sf /usr/lib/binutils/i686-pc-linux-gnu/2.15.94.0.2.2/ldscripts /usr/i686-pc-linux-gnu/lib/ldscripts" everything worked again. I tried to reproduce the bug by merging binutils-2.15.94.0.2 and then updating to binutils-2.15.94.0.2.2 and YES, it IS reproducable... there is a bad symlink after updating to binutils-2.15.94.0.2.2
Juergen: your bug has nothing to do with this one ... also, binutils shouldnt be installing anything into /usr/ia64-unknown-linux-gnu/lib since binutils-config handles that ... besides, not like you can complain *too much* about versions that have been KEYWORD-ed -* :P
Gustav: any chance you have binutils binary packages laying around ?
just in case Gustav's machine is still broken... rescue-bins: http://dev.gentoo.org/~avenj/bins/
OK. You're my hero!!! After having installed the binutils package found at avenj, I could start compiling again. I have since compiled some 300 MB of source code. Excellent. My day, week, month and (almost) year are all saved. I have even re-installed the 'real' binutils package, then re-compiled a good set of applications with my now working binutils. The one thing that comes to mind: Is this wonderful source of binary rescue-packages officially advertised somewhere on the Gentoo site? If not, shouldn't it be so? Anyway, I'm back in business here. Thanks, Nicolai. Best regards Gustav