| Summary: | Sablotron update 1.0.1 failing with "C compiler cannot create executables" | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Paul Slinski <deviantgeek> |
| Component: | New packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | henti, iamroot, loki |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: | Sablot 1.0.1 config.log | ||
|
Description
Paul Slinski
2004-03-04 06:45:09 UTC
Created attachment 26842 [details]
Sablot 1.0.1 config.log
the reason that gcc can not make executables is that it has problems with -lstdc++ which is a flag that the configure script enables. here is what happens when i try to enable this flag: $ gcc -lstdc++ /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../crt1.o(.text+0x18): In function `_start': : undefined reference to `main' /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/libstdc++.so: undefined reference to `_Unwind_Resume_or_Rethrow@GCC_3.3' collect2: ld returned 1 exit status I know i have no file arguements, but if that was an issue it would say: gcc: no input files This fails for me as well Please check your /etc/ld.so.conf if there are any entries which shouldn#t be there.I had two entries in there. /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2 If you got two entries please check if in the directory /etc/env.d/gcc/ there are two files, one called i686-pc-linux-gnu-3.3.2 and the other i686-pc-linux-gnu-3.2.3. If so, remove i686-pc-linux-gnu-3.2.3 and then run env-update source /etc/profile gcc-config i686-pc-linux-gnu-3.3.2 This did the trick on my system I still get the same error on mine, closer inspection reveals two gcc lines in /etc/ld.so.conf after doing the env-update et al - one for gcc-3.2.2 and one for gcc-3.2.3 This occurs even if 3.2.3 is the only one I leave in there before the env-update And it still dies woops I'm an idiot and can't read - this fix worked. OK, if you run into more problems, you should check if any libraries in the directory /usr/lib are still linked to the old gcc-libraries. for i in /usr/lib/*; do [ -f $ i ] && ldd $i | grep [GCC-VERSION]; done in your case for i in /usr/lib/*; do [ -f $ i ] && ldd $i | grep 3.2.2; done In my case libaspell and libpspell were linked to the old libraries, so I had to reemerge aspell: emerge aspell Can someone change the state of this BUG to FIXED? done |