[linux] self-made ld & cesty k crt*.o

Kovacik Peter Peter.Kovacik na swh.sk
Středa Září 4 16:26:43 CEST 2002


Nazdarek,

pri konstrukcii cross-compileru (solaris6 -> i386-redhat-linux) ma otravuje
jedna malichernost.
Strucne:
kompilacia komponentov bez problemov
(v postupnosti binutils 2.11.2, bootstrap gcc (core) 2.95.2, potom glibc
2.2.5 (na linuxe, identicka
adresarova struktura ako na HOSTe-solarise & merging do instalacneho
adresara, kopirovanie linuxovych inkludov
do $(PREFIX)/$(TARGET)/include a dokoncenie kompilacie gcc).
Vsetko, zda sa, prebehne hladko.

Vsetky komponenty maju identicky instalacny adresar $(PREFIX) a samozrejme
$(TARGET).
Pracujem ako bezny user, $(PREFIX) lezi niekde u mna v domovskom adresari.

Pokial sa nelinkuje tak po crossassembler to ide:
$ local2/i386-redhat-linux/bin/gcc -c hello.c
$ file hello.o
hello.o:        ELF 32-bit LSB relocatable 80386 Version 1

Nepaci sa mi toto:

$ local2/i386-redhat-linux/bin/gcc -v hello.c

[..skip funkcnych casti..]

/home/Kovacik/local2/lib/gcc-lib/i386-redhat-linux/2.95.2/collect2 -m
elf_i386 -dynamic-linker /lib/ld-linux.so.2 crt1.o crti.o
/home/Kovacik/local2/lib/gcc-lib/i386-redhat-linux/2.95.2/crtbegin.o
-L/home/Kovacik/local2/lib/gcc-lib/i386-redhat-linux/2.95.2
-L/home/Kovacik/local2/i386-redhat-linux/lib /var/tmp/cc7XEPYA.o -lgcc -lc
-lgcc /home/Kovacik/local2/lib/gcc-lib/i386-redhat-linux/2.95.2/crtend.o
crtn.o
/home/Kovacik/local2/i386-redhat-linux/bin/ld: cannot open crt1.o: No such
file or directory
collect2: ld returned 1 exit status

Bodaj by ju nenasiel, ked ju hlada po ftakoch ;)

crt1.o, crti.o, crtn.o a libc.a zrejme takto nenajde - tie prisli
primergovanim skompilovanej glibc do local2/lib
Da sa to zrejme riesit prepinacmi linkera alebo linkami na spravne miesto.
Clovek tak trochu aj ocakaval, ze by komponenty
do seba "sadli". Presiel som par navodov a nikde som nic nevidel o nejakom
dodatocnom kopirovani, robeni liniek ci urcovani cesty
k tymto suborom. 
Za najlepsie sa mi javi specifikovat cestu k tymto fajlom pri konfiguracii
binutils. Taku volbu som vsak zatial nikde
zdokumentovanu nevidel.

Zaobera sa tymto niekto?

P.




Další informace o konferenci linux