gccld: Cannot find linker input file 'crtend.o
I have set the LLVM_LIB_SEARCH_PATH
ls -l $LLVM_LIB_SEARCH_PATH
total 104
-rw-r--r-- 1 muj20 muj20 12788 Dec 7 17:05 crtend.o
-rw-r--r-- 1 muj20 muj20 1984 Dec 7 17:05 libc.bc
-rw-r--r-- 1 muj20 muj20 120 Dec 7 17:05 libcurses.bc
I'm really not sure. Can you send some more details? For example, are
you using LLVM 1.0 or LLVM CVS? If you are using the LLVM 1.0 C/C++
front-end with the LLVM CVS tree, you will probably have to do 'make
install' in the llvm/runtime directory to install the updated runtime
libraries in the LLVM_LIB_SEARCH_PATH directory.
Also, if this doesn't help, please send the output of 'gccld -v
<arguments>' if you would. If you are using gccld indirectly through the
llvmgcc compiler driver, just pass '-Wl,-v' on the llvmgcc command-line.
Thanks,
-Chris
Umar Janjua wrote:
gccld: Cannot find linker input file 'crtend.o
I have set the LLVM_LIB_SEARCH_PATH
ls -l $LLVM_LIB_SEARCH_PATH total 104
-rw-r--r-- 1 muj20 muj20 12788 Dec 7 17:05 crtend.o
-rw-r--r-- 1 muj20 muj20 1984 Dec 7 17:05 libc.bc
-rw-r--r-- 1 muj20 muj20 120 Dec 7 17:05 libcurses.bc
Interesting. I'm not sure what is wrong.
Please try the following things:
1. Make sure that LLVM_LIB_SEARCH_PATH is exported (i.e. use 'export LLVM_LIB_SEARCH_PATH' for sh/ksh shells, or 'setenv LLVM_LIB_SEARCH_PATH "<directory>"' for csh/tcsh shells). If it's not exported, gccld won't may not see the variable's value.
2. Run "file $LLVM_LIB_SEARCH_PATH/crtend.o". If the file type is data, then it's a bytecode file. If the file type is some sort of ELF type, then crtend.o somehow got compiled into a native binary file, and gccld won't use it.
3. Try using the full pathname to crtend.o when using gccld.
If none of these things help, then please send us a follow-up email to llvmdev@cs.uiuc.edu. In that email, please tell us what OS you're using and whether you're using LLVM 1.0 or whether you've updated from our CVS respository.
Regards,
John T. Criswell