SirDzstic n00b
Joined: 21 Feb 2006 Posts: 10
|
Posted: Fri Aug 18, 2006 12:32 am Post subject: Crosscompilen mit Portage (Problem mit libtool) |
|
|
Hallo,
Ich habe mir mit Crossdev eine Toolchain für arm-unknown-linux-gnu bauen lassen, und möchte
jetzt von Portage Pakete für diesen Host kompilieren lassen. Ich habe mir eine hübsche make.conf
gebastelt, das Profil gesetzt, undsoweiterundsofort. Falls Details wichtig sind, bitte ich darum, zu
fragen. Ich weiß nicht, was relevant ist, und möchte euch nicht mit Überflüssigem nerven.
Ich habe mir ein kleines Skript geschrieben (meine Fähigkeiten sind begrenzt), und Portage tut, was
es soll.
Quote: | #!/bin/sh
export ROOT=/usr/arm-unknown-linux-gnu/
export PORTAGE_CONFIGROOT=/usr/arm-unknown-linux-gnu
emerge $1 $2 $3 $4 $5 $6 $7
exit |
Wenn ich "./crossemerge -avt sdl-ttf" eingebe, kompiliert und installiert Portage fein, wie es soll, alle
Abhängigkeiten. Wenn sdl-ttf selbst dran ist zu mergen, tritt ein Fehler auf:
Quote: | /bin/sh ./libtool --tag=CC --mode=link arm-unknown-linux-gnu-gcc -O2 -pipe -I/usr/include/freetype2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -o libSDL_ttf.la -rpath /usr/lib -no-undefined -release 2.0 -version-info 6:2:6 SDL_ttf.lo -lfreetype -lz -lSDL -lpthread
arm-unknown-linux-gnu-gcc -shared .libs/SDL_ttf.o /usr/lib/libfreetype.so -lz /usr/lib/libSDL.so -lpthread -Wl,-soname -Wl,libSDL_ttf-2.0.so.0 -o .libs/libSDL_ttf-2.0.so.0.6.2
/usr/lib/libfreetype.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [libSDL_ttf.la] Error 1 |
libfreetype ist eine Abhängigkeit von sdl-ttf und wurde von Portage ordnungsgemäß crosskompiliert
und in /usr/arm-unknown-linux-gnu/usr/lib abgelegt. Libtool versucht aber /usr/lib/libfreetype.so zu
benutzen, was fehlschlägt, weil es ja nicht crosskompiliert ist:
Quote: | asdf@localh0rst ~ $ file /usr/arm-unknown-linux-gnu/usr/lib/libfreetype.so.6.3.8
/usr/arm-unknown-linux-gnu/usr/lib/libfreetype.so.6.3.8: ELF 32-bit LSB shared object, ARM, version 1 (ARM), stripped
asdf@localh0rst ~ $ file /usr/lib/libfreetype.so.6.3.8
/usr/lib/libfreetype.so.6.3.8: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped |
Am schönsten wäre es, wenn ich Portage sagen könnte, es soll /usr/arm-unknown-linux-gnu/ wie /
aussehen lassen, dann würde libtool die richtige Bibliothek benutzen. Geht das? Falls nicht, wovon ich
einfach mal ausgehe -- chroot geht natürlich nicht, weil in /usr/arm-whatever nur arm-binaries sind,
die mein x86-Prozessor nicht ausführen kann. -- : Wie gebe ich libtool die richtige Bibliothek? Ich
knabbere da schon einige Zeit dran und wäre für jede Hilfe dankbar.
SirDzstic |
|