[Clfs-support] Problem with creating Cross-Compile tools

Kevin Greer greerk at msn.com
Sat Jan 19 14:10:43 PST 2008


Hello,

I am having trouble getting the creating the cross-compile tools.  My host system is a Intel centrino running Debian 4.0, and I am trying to run through the book using i486 as the target as well (I am just trying to understand the process right now).  I am using version 1.0.0 of the book, and I am trying to follow the instructions exactly as they are written in the book.  $CLFS_HOST = i486-cross-linux-gnu, $CLFS_TARGET = i486-cross-linux-gnu.  I am having a problem when I try to run the following command on page 64 of the book:

../gcc-4.1.1/configure --prefix=/cross-tools \
--host=${CLFS_HOST} --target=${CLFS_TARGET} --disable-multilib \
--with-local-prefix=/tools --disable-nls --disable-shared \
--disable-threads --enable-languages=c

I receive the following message:

loading cache ./config.cache
checking host system type... i486-cross-linux-gnu
checking target system type... i486-cross-linux-gnu
checking build system type... i486-cross-linux-gnu
checking for a BSD compatible install... /usr/bin/install -c
checking whether ln works... yes
checking whether ln -s works... yes
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.

The config.log file reads:
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:600: checking host system type
configure:621: checking target system type
configure:639: checking build system type
configure:694: checking for a BSD compatible install
configure:747: checking whether ln works
configure:771: checking whether ln -s works
configure:1825: checking for gcc
configure:1938: checking whether the C compiler (gcc  ) works
configure:1954: gcc -o conftest    conftest.c  1>&5
/cross-tools/bin/ld: warning: ld-linux.so.2, needed by /lib/libc.so.6, not found (try using -rpath or -rpath-link)
/lib/libc.so.6: undefined reference to `_rtld_global at GLIBC_PRIVATE'
/lib/libc.so.6: undefined reference to `__libc_enable_secure at GLIBC_PRIVATE'
/lib/libc.so.6: undefined reference to `__libc_stack_end at GLIBC_2.1'
/lib/libc.so.6: undefined reference to `_rtld_global_ro at GLIBC_PRIVATE'
/lib/libc.so.6: undefined reference to `_dl_out_of_memory at GLIBC_PRIVATE'
/lib/libc.so.6: undefined reference to `___tls_get_addr at GLIBC_2.3'
/lib/libc.so.6: undefined reference to `_r_debug at GLIBC_2.0'
/lib/libc.so.6: undefined reference to `_dl_argv at GLIBC_PRIVATE'
collect2: ld returned 1 exit status
configure: failed program was:

#line 1949 "configure"
#include "confdefs.h"

main(){return(0);}

So the problem appears to be caused by the inability to find ld-linux.so.2.  Also, as the listing show the ld in the /cross-tools/bin folder is being used because my PATH variable is /cross-tools/bin:/bin:/usr/bin.  I am sorry to bother everybody with this question, but I haven't been able to find a solution.  I did try to remove the /cross-tools/bin folder from my path and it did resolve the error, but then I got an error during the next step, so I am not sure if that is the correct solution. I am not sure if I should be using the cross-compiler ld when buidling the gcc and if so I am not sure how to get it to work.  Thank you in advance for any help that you may be able to provide. Also, I really appreciate the time that everyone has taken to create this book.

Thanks,
   Kevin



More information about the Clfs-support mailing list