2012-03-21 5 views
7

Próbuję złożyć trochę kodu 32-bitowego przy użyciu NASM i GCC w systemie 64-bitowym. UżywamNie mogę znaleźć crtn.o, łącząc 32-bitowy kod w systemie 64-bitowym

nasm -f elf32 -g -F stabs coc.asm 
gcc -m32 -o coc coc.o 

NASM pojawia zrobić porządku następujące dwa polecenia, ale LD narzeka:

/usr/bin/ld: cannot find crt1.o: No such file or directory 
/usr/bin/ld: cannot find crti.o: No such file or directory 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6.1/libgcc.a when searching for -lgcc 
/usr/bin/ld: cannot find -lgcc 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6.1/libgcc_s.so when searching for -lgcc_s 
/usr/bin/ld: cannot find -lgcc_s 
/usr/bin/ld: cannot find -lc 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6.1/libgcc.a when searching for -lgcc 
/usr/bin/ld: cannot find -lgcc 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6.1/libgcc_s.so when searching for -lgcc_s 
/usr/bin/ld: cannot find -lgcc_s 
/usr/bin/ld: cannot find crtn.o: No such file or directory 
collect2: ld returned 1 exit status 

Używam Ubuntu 11.10, a sprawdziłem i jestem całkiem pewny libc jest zainstalowany.

+1

możliwym duplikatu [Zgromadzenie takich problemów: nie można odnaleźć crt1.o] (http://stackoverflow.com/questions/6329887/compiling-problems- can not-find-crt1-o) – user2284570

Odpowiedz

0

miałem bardzo podobny problem na Ubuntu 11.10. See my question on SO about this. To, co pomogło mi, to połączenie crt*.o do /lib/. Potem nigdy nie miałem innych problemów z tym problemem. Trochę więcej cludge, ale dla mnie rozwiązało problemy.

2

Musisz zainstalować gcc-multilib aby uzyskać prawidłowe 32-bitowy lib

Powiązane problemy