2010-12-02 4 views
2

Je veux corss_compiler D-bus à armer.cross compiler d-bus

toolchain: bras-linux-gcc-3.4.1

option de configuration: CC = bras-linux-gcc ./configure prefix =/opt/dbus/--host = bras-linux - enable-abstract-prises --with-xml = expat

sourecode: dbus-1.2.24 dbus-1.3.1 dbus-1.4.0

make[2]: Entering directory `/home/mandy/Desktop/apps/d-bus/remotec/dbus-1.4.0/bus' 
    CCLD dbus-daemon 
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/bin/ld: Warning: gc-sections option ignored 
dbus_daemon-bus.o(.text.process_config_postinit+0x120): In function `bus_context_check_security_policy': 
/home/mandy/Desktop/apps/d-bus/remotec/dbus-1.4.0/bus/bus.c:1638: undefined reference to `bus_set_watched_dirs' 
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/lib/libc_nonshared.a(elf-init.oS)(.text+0x44): In function `__libc_csu_init': 
: undefined reference to `__init_array_end' 
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/lib/libc_nonshared.a(elf-init.oS)(.text+0x48): In function `__libc_csu_init': 
: undefined reference to `__init_array_start' 
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/lib/libc_nonshared.a(elf-init.oS)(.text+0x8c): In function `__libc_csu_fini': 
: undefined reference to `__fini_array_end' 
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/lib/libc_nonshared.a(elf-init.oS)(.text+0x90): In function `__libc_csu_fini': 
: undefined reference to `__fini_array_start' 
collect2: ld returned 1 exit status 
make[2]: *** [dbus-daemon] Error 1 
make[2]: Leaving directory `/home/mandy/Desktop/apps/d-bus/remotec/dbus-1.4.0/bus' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/home/mandy/Desktop/apps/d-bus/remotec/dbus-1.4.0' 
make: *** [all] Error 2 

à dbus-1.2. 24 et dbus-1.3.1 obtiennent également la même erreur.

Que puis-je faire?

merci beaucoup.

Répondre

2

Voici les instructions générales pour la compilation croisée de dbus pour l'architecture avr32. Basé sur ce reference (3ème message) pour le bras je crée ce petit tutoriel. Je poste mon tutoriel car il pourrait être utile pour d'autres ou même pour vous de comparer les commandes.


EXPATRIES BIBLIOTHÈQUES

Pour une compilation croisée dbus est nécessaire pour une compilation croisée des bibliothèques d'expatriés en premier. Avec le préfixe d'option, vous pouvez spécifier où il doit être installé.

Téléchargez le code src expat: ftp://ftp.free.fr/.mirrors1/ftp.netbsd.org/packages/distfiles/expat-2.0.1.tar.gz

Décompressez-:

tar zxvf expat-2.0.1.tar.gz 

Configurer avec l'hôte et compilateur correspond le c. Vous devez avoir le toolchain linux avr32 installé (Buildroot compiler le toolchain pour vous, vous devez ajouter le chemin des binaires à la variable $ PATH enviroment)

cd expat-2.0.1/ 
./configure --host=avr32-linux --prefix=/home/juan/builds/build_expat/ CC=avr32-linux-gcc 
make; make install 

DBUS

Télécharger le dbus src Code: http://dbus.freedesktop.org/releases/dbus/dbus-1.5.0.tar.gz

Décompressez-:

tar zxvf dbus-1.5.0.tar.gz 
cd dbus-1.5.0.tar.gz 

Configurer spécifiant le dossier d'installation (prefix), le compilateur c, le dossier et inclure le dossier lib pour les bibliothèques expat:

./configure --prefix=/home/juan/builds/build_dbus/ --host=avr32-linux --with-x=no ac_cv_have_abstract_sockets=yes "CC=avr32-linux-gcc -I/home/juan/builds/build_expat/include -L/home/juan/builds/build_expat/lib" 

make;make install;