Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 78978 - emerged binutils-2.15.92.0.2-r1, now nothing compiles
Summary: emerged binutils-2.15.92.0.2-r1, now nothing compiles
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-21 11:10 UTC by Gustav Schaffter
Modified: 2005-03-12 14:55 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gustav Schaffter 2005-01-21 11:10:39 UTC
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"
Comment 1 Juergen Kaetzler 2005-02-22 11:04:46 UTC
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
Comment 2 SpanKY gentoo-dev 2005-02-22 19:40:55 UTC
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
Comment 3 SpanKY gentoo-dev 2005-02-22 19:41:12 UTC
Gustav: any chance you have binutils binary packages laying around ?
Comment 4 Nicolai Lissner 2005-03-09 23:27:04 UTC
just in case Gustav's machine is still broken...

rescue-bins: http://dev.gentoo.org/~avenj/bins/
Comment 5 Gustav Schaffter 2005-03-12 14:55:00 UTC
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