glibc fails to build
I am using gentoo 2007.0 with a custom kernel. I'm totally new to gentoo but have been using linux for about 2 years now. When I was going through the install process, I did not set any use flags in /etc/make.conf.
My make.conf file now looks like: Code:
# These settings were set by the catalyst build script that automatically Code:
Code:
/usr/bin/opera: line 222: /opt/opera/lib/opera/9.24-20071015.6/opera: cannot execute binary file |
anybody have any suggestions?
|
What does the corresponding config.log say? It might be located at /var/tmp/portage/sys-libs/glibc-2.6.1/work/build-${foo}/config.log, where the value of foo depends on your setup. Also, what compiler and binutils do you have?
If you are stuck, please post (to a pastebin), the contents of /var/tmp/portage/sys-libs/glibc-2.6.1/temp/build.log and /var/tmp/portage/sys-libs/glibc-2.6.1/work/build-${foo}/config.log. |
this is the config.log:
http://pastebin.com/m6d00e18a build.log: http://pastebin.com/m357801cb binutils: ld -v : GNU ld (GNU Binutils) 2.18 compiler: (i think. i did "cc -v" to find out) gcc version 4.1.1 (Gentoo 4.1.1-r3) |
From your pastebins, it seems there is a problem with your multi-lib setup. A few more questions: What version of glibc do you currently have? Can your binutils generate x86 and x86_64 executables? Can your gcc generate x86 and x86_64 executables? Does your current glibc support both ABIs? What happens when you run such an executable (one which is dynamically linked to glibc)?
To do a diagnostic check, try the following in a terminal (where $ is the command prompt): Code:
$ echo -e '#include <stdio.h>\nint main() { puts("The use of this function requires glibc"); return 0; }' | x86_64-pc-linux-gnu-gcc -m32 -x c - -o test If my suspicion is correct, your multilib setup does not work and your binary interpreter cannot locate the x86 dynamic loader (which is why you can’t execute opera—an i386 executable). Now, try the following: Code:
$ echo -e '#include <stdio.h>\nint main() { puts("The use of this function requires glibc"); return 0; }' | x86_64-pc-linux-gnu-gcc -static -m32 -x c - -o test |
those commands just hung, i created a file called test with the code you mentioned in it and tried to compile that with gcc with -m32 and -static, it hangs just the same and does not do anything. But I solved the problem with the cannot execute binary files and the emerge glibc problem by recompiling my kernel with support for MISC binaries, ELF binaries and IA32 emulation. so far everything is working.
|
All times are GMT -5. The time now is 10:26 PM. |