Summary: | glibc: configure: error: cannot compute sizeof (long double) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Mudrii <mudrii> |
Component: | [OLD] Core system | Assignee: | AMD64 Project <amd64> |
Status: | RESOLVED WORKSFORME | ||
Severity: | major | CC: | toolchain |
Priority: | Highest | ||
Version: | 2006.0 | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | config Log glibc |
Description
Mudrii
2006-06-16 02:53:13 UTC
Created attachment 89290 [details]
config Log glibc
This is a config.log after glibc failed to compile.
Check that you have CONFIG_IA32_EMULATION=y in your kernel. I have this option in the kernel cat /usr/src/linux/.config | grep CONFIG_IA32_EMULATION CONFIG_IA32_EMULATION=y Before this problem I update to the kernel gcc-3.4.5 and all compiles but not glibc I have another box with same config only runs gcc-4.1.1 and try to make a binary package and move to the problem PC and same error get again configure:7527: x86_64-pc-linux-gnu-gcc -o conftest -march=k8 -pipe -O2 conftest.c >&5 configure:7530: $? = 0 configure:7532: ./conftest libsandbox: Can't resolve getcwd: (null) configure:7535: $? = 1 configure: program exited with status 1 You're having sandbox problems, so setting FEATURES=-sandbox should work as a workaround for the time being Try to emerge glibc with FEATURES=-sandbox and same error checking for long double... yes checking size of long double... configure: error: cannot compute sizeof (long double), 77 See `config.log' for more details. !!! ERROR: sys-libs/glibc-2.4-r3 failed. Call stack: ebuild.sh, line 1539: Called dyn_compile ebuild.sh, line 939: Called src_compile glibc-2.4-r3.ebuild, line 1169: Called src_compile glibc-2.4-r3.ebuild, line 1180: Called toolchain-glibc_src_compile glibc-2.4-r3.ebuild, line 262: Called glibc_do_configure 'nptl' glibc-2.4-r3.ebuild, line 952: Called die !!! failed to configure glibc !!! If you need support, post the topmost build error, and the call stack if relevant. Same problem with emerging sandbox Some other fixeas > ? Looks like 32bit toolchain is broken or missing (which would explain the sandbox issues as well if 32bit libc is missing). how can be fixed this error ? try resetting your compiler with eselect compiler or gcc-config. then 'source /etc/profile' no work changing the compiler I had this same problem, but I seem to have fixed it now. I tried compiling a short c++ program: #include <iostream> int main() { std::cout << "sizeof(char) = " << sizeof(char) << std::endl; std::cout << "sizeof(short) = " << sizeof(short) << std::endl; std::cout << "sizeof(int) = " << sizeof(int) << std::endl; std::cout << "sizeof(long) = " << sizeof(long) << std::endl; std::cout << "sizeof(long long) = " << sizeof(long long) << std::endl; std::cout << "sizeof(float) = " << sizeof(float) << std::endl; std::cout << "sizeof(double) = " << sizeof(double) << std::endl; std::cout << "sizeof(long double) = " << sizeof(long double) << std::endl; return 0; } It ran fine under 64bit mode. Then I recompiled with the -m32 switch. Compilation was fine, but it wouldn't run. I checked and the dynamic linker was set to /lib/ld-linux.so.2 which wasn't there. So I created a symbolic link from that to /lib32/ld-linux.so.2. Now it worked. I'm guessing maybe the compiler was messed up in the specs file which is where the dynamic linker is normally defined. Hope this helps . . . yup /lib32 was missing from /etc/ld.so.conf echo "/lib32" >> /etc/ld.so.conf ldconfig fixed the problem original post on http://forums.gentoo.org/viewtopic-t-448885.html alright |