Summary: | gcc / portage / etc fail with "cannot run c compiled programs" | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | P Nienaber <gentoobugs> |
Component: | [OLD] Core system | Assignee: | AMD64 Project <amd64> |
Status: | RESOLVED DUPLICATE | ||
Severity: | major | CC: | amd64 |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
P Nienaber
2005-03-09 22:44:57 UTC
from header file: #define LIBC_VERSION "libc.so.6 libc.so.6" I'm assuming this is a broken diff file somewhere or something? More:
Calculating dependencies ...done!
>>> emerge (1 of 1) sys-apps/portage-2.0.51.19 to /
>>> md5 src_uri ;-) portage-2.0.51.19.tar.bz2
>>> Unpacking source...
>>> Unpacking portage-2.0.51.19.tar.bz2 to /var/tmp/portage/portage-2.0.51.19/work
>>> Source unpacked.
rm -f libsandbox.so sandbox
rm -f *.o *~ core
rm -f localdecls.h
./create-localdecls
Checking truncate argument type... off_t
Checking libc version... libc.so.6 libc.so.6
x86_64-pc-linux-gnu-gcc -O1 -pipe -DSB_HAVE_64BIT_ARCH -D_GNU_SOURCE -DPIC -fPIC -D_REENTRANT -Wall -c libsandbox.c
In file included from libsandbox.c:78:
localdecls.h:9: error: parse error before '.' token
localdecls.h:9: error: missing terminating " character
make: *** [libsandbox.o] Error 1
!!! ERROR: sys-apps/portage-2.0.51.19 failed.
!!! Function src_compile, Line 70, Exitcode 2
output of `ldd libctest` as found in the create-localdecls script WHEN run via portage: libsandbox.so => /emul/linux/x86/lib/libsandbox.so (0x55583000) linux-gate.so.1 => (0xffffe000) libc.so.6 => not found libdl.so.2 => not found libc.so.6 => not found Whereas: box sandbox-1.1 # gcc -Wall -o libctest libctest.c box sandbox-1.1 # /usr/lib/portage/bin/sandbox box sandbox-1.1 # ldd libctest libsandbox.so => /lib/libsandbox.so (0x0000002a9566c000) libc.so.6 => /lib/libc.so.6 (0x0000002a95774000) libdl.so.2 => /lib/libdl.so.2 (0x0000002a9599b000) /lib64/ld-linux-x86-64.so.2 (0x0000002a95556000) Assuming this is being run 32-bit, then... Not sure what kind of timestamp-checking mechanisms portage has in place, but the following code provided in the AMD64 2005.0 migration guide strikes me as suspect: # emerge -v --oneshot '>=sys-libs/glibc-2.3.4.20041102' # emerge unmerge emul-linux-x86-glibc From trying to re-merge glibc to fix this: checking size of long double... configure: error: cannot compute sizeof (long double), 77 See `config.log' for more details. !!! ERROR: sys-libs/glibc-2.3.4.20050125 failed. !!! Function glibc_do_configure, Line 782, Exitcode 1 !!! failed to configure glibc From associated config.log: configure:7092: checking size of long double configure:7411: x86_64-pc-linux-gnu-gcc -o conftest -march=k8 -O2 -pipe -O2 conftest.c >&5 configure:7414: $? = 0 configure:7416: ./conftest ./conftest: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory Yay for keeping quickpkg's around. Here's where it gets somewhat interesting: using portage-2.0.51.18, I get the above error ONLY when trying to merge .19 using portage-2.0.51.19, I get the above error when trying to merge EITHER .18 or .19 and the winner is: $ gcc -m32 -o foo test.c $ ./foo ./foo: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory yet: box ~ # ls -l /lib32/libc.so.6 lrwxrwxrwx 1 root root 13 Mar 9 21:38 /lib32/libc.so.6 -> libc-2.3.4.so box ~ # file /lib32/libc-2.3.4.so /lib32/libc-2.3.4.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped Does /etc/env.d/04multilib exist on your system? If not try to re-emerge baselayout. It wasn't there; re-merging baselayout did create the file. This appears to have at least allowed me to build portage 2.0.51.19 (using .18). Will try re-merging it using itself, then I'll have a go at gcc and others. Thanks! Marking as INVALID since re-emerging baselayout is a step in the 2005.0 upgrade guide. Reopen if you still have probs. I did that step, though. I'll close this as INVALID as well. From my p.o.v, you didn't _re_merge baselayout or remerged it not in the right order regarding the upgrade guide. The merge (and everything else in the [manual, not scripted] migration process) was performed in the exact order specified in the upgrade guide. Everyone- The discussion can be continued without reopening the bug. Reopening the bug will make it re-appear in our list and make our jobs harder. Thanks for your cooperation. reopening so I can dupe it *** This bug has been marked as a duplicate of 82911 *** |