Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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
# built this stage.
# Please consult /etc/make.conf.example for a more detailed example.
CFLAGS="-O2 -pipe"
CXXFLAGS="${CFLAGS}"
# This should not be changed unless you know exactly what you are doing. You
# should probably be using a different stage, instead.
CHOST="x86_64-pc-linux-gnu"
MAKEOPTS="-j3"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ "
INPUT_DEVICES="keyboard mouse"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
VIDEO_CARDS="nvidia"
USE="X wxwindows imlib gtk2 gtk png jpeg java alsa gtkhtml -ipv6 truteype"
since I added these new use flags I thought it would be a good idea to do emerge world. (emerge -uavDN world). when I do this it fails with the following error:
Code:
checking size of long double... configure: error: cannot compute sizeof (long double), 77
See `config.log' for more details.
*
* ERROR: sys-libs/glibc-2.6.1 failed.
* Call stack:
* ebuild.sh, line 1654: Called dyn_compile
* ebuild.sh, line 990: Called qa_call 'src_compile'
* ebuild.sh, line 44: Called src_compile
* glibc-2.6.1.ebuild, line 147: Called eblit-run 'src_compile'
* glibc-2.6.1.ebuild, line 143: Called eblit-glibc-src_compile
* src_compile.eblit, line 168: Called src_compile
* glibc-2.6.1.ebuild, line 147: Called eblit-run 'src_compile'
* glibc-2.6.1.ebuild, line 143: Called eblit-glibc-src_compile
* src_compile.eblit, line 179: Called toolchain-glibc_src_compile
* src_compile.eblit, line 120: Called glibc_do_configure 'nptl'
* src_compile.eblit, line 97: Called die
*
* failed to configure glibc
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.6.1/temp/build.log'.
*
* Messages for package sys-libs/glibc-2.6.1:
*
* ERROR: sys-libs/glibc-2.6.1 failed.
* Call stack:
* ebuild.sh, line 1654: Called dyn_compile
* ebuild.sh, line 990: Called qa_call 'src_compile'
* ebuild.sh, line 44: Called src_compile
* glibc-2.6.1.ebuild, line 147: Called eblit-run 'src_compile'
* glibc-2.6.1.ebuild, line 143: Called eblit-glibc-src_compile
* src_compile.eblit, line 168: Called src_compile
* glibc-2.6.1.ebuild, line 147: Called eblit-run 'src_compile'
* glibc-2.6.1.ebuild, line 143: Called eblit-glibc-src_compile
* src_compile.eblit, line 179: Called toolchain-glibc_src_compile
* src_compile.eblit, line 120: Called glibc_do_configure 'nptl'
* src_compile.eblit, line 97: Called die
*
* failed to configure glibc
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.6.1/temp/build.log'.
*
this may be related or not, but I emerged firefox and it would not work, then I ran the executable firefox I had from my other drive and that failed with the same error. After that firefox works fine. Opera does not. It fails with the same error that firefox had:
Code:
/usr/bin/opera: line 222: /opt/opera/lib/opera/9.24-20071015.6/opera: cannot execute binary file
/usr/bin/opera: line 222: /opt/opera/lib/opera/9.24-20071015.6/opera: success
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.
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
$ ./test
The first line should compile and link a “dummy” program as a 32-bit executable. The second line will attempt to run it.
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
$ ./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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.