| Summary: | emerging sandbox fails: C compiler cannot create executables | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Patrick Hahn <skorgu> |
| Component: | [OLD] Core system | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
| Status: | RESOLVED TEST-REQUEST | ||
| Severity: | normal | ||
| Priority: | High | ||
| Version: | 2006.0 | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: | config.log | ||
|
Description
Patrick Hahn
2006-07-22 21:10:44 UTC
Created attachment 92531 [details]
config.log
I don't see what are you trying to do here, but your emerge --info doesn't match the config.log > /usr/lib/gcc/i686-pc-linux-gnu/4.1.0/../../../../i686-pc-linux-gnu/bin/ld: >crt1.o: No such file: No such file or directory > Portage 2.1.1_pre3-r3 (default-linux/amd64/2006.0, gcc-3.4.6, glibc-2.4-r3 Upgrade your gcc properly next time - http://www.gentoo.org/doc/en/gcc-upgrading.xml I'm not doing anything special and I haven't upgraded gcc on this box. Its still 3.4.6. For some reason, the sandbox build process and only the sandbox build process thinks my machine is i686. I had installed crossdev previously and perhaps it is picking up on that but still it is only the sandbox ebuild. I have no problems building any other packages. * Configuring sandbox for ABI=x86... I don't know anything about the intricacies of the build process but clearly this isn't correct. Setting ABI=amd64 in make.conf didn't change this. Again, this behavior only occurs when emerging sandbox. All other packages build and merge fine. I'm reopening the bug because I believe that there is still a bug somewhere that is specific to this ebuild. (In reply to comment #3) > I'm not doing anything special and I haven't upgraded gcc on this box. Its > still 3.4.6. Read the config log... It's clearly using gcc-4.1.0 paths, so you have/had that gcc version installed and didn't run fix_libtool_fixes.sh or whatever -> your system is apparently screwed. Run fix_libtool_fixes.sh 4.1.0; emerge -1 libtool and try again. I assume you meant fix_libtool_files.sh. I ran that, it scanned 27/27 directories and didn't output that it had found anything. This didn't fix the sandbox issue, but your mention of 4.1.0 paths made me check gcc-config and apparently crossdev installed gcc-4.1.0 as a cross compiler. Setting my cross-compiler to i686-pc-linux-gnu-3.4.5 and emerging fixed the sandbox bug. Should the ebuild be listening to the cross-compiler's setup over the system compiler's setup? This seems counter intuitive to me, especially if you needed a 4.1.0 cross compiler but a 3.5 local compiler. Why does this only appear in the sandbox build? Thanks very much for your help, I never would have figured it out on my own. :) |