2010-12-02 30 views
2

私はCorss_compiler D-busをアームにしたいです。クロスコンパイラのDバス

ツールチェーン:腕のlinux-gccの-3.4.1

configureオプション:CC =腕-のlinux-gccのは./configure --prefix =は/ opt/dbusの/ --host =アームのlinux - 抽象-ソケットを有効に-with-XML = expatの

sourecode:dbusの-1.2.24のdbus-1.3.1のdbus-1.4.0のdbus-1.2で

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 

。 24とdbus-1.3.1も同じエラーになります。

どうすればいいですか?

ありがとうございます。

答えて

2

これらは、dbusをavr32アーキテクチャ用にクロスコンパイルする一般的な手順です。このreference(3番目の記事)に基づいて、私はこの小さなチュートリアルを作成します。私はチュートリアルを投稿しています。他人やあなたがコマンドを比較するのに役立つかもしれないからです。


EXPAT図書館

コンパイルDBUSを横断するために、第1進出ライブラリをコンパイル交差する必要があります。オプション接頭辞を使用すると、インストールする必要のある場所を指定できます。 untarし ftp://ftp.free.fr/.mirrors1/ftp.netbsd.org/packages/distfiles/expat-2.0.1.tar.gz

はexpatののsrcコードをダウンロードしてください

tar zxvf expat-2.0.1.tar.gz 

はappropiateホストとCコンパイラとそれを構成します。 dbusのsrcをダウンロード

DBUSあなたはAVR32のLinuxツールチェーンをインストールする必要があります(Buildrootはあなたのためのツールチェーンをコンパイルするには、的環境変数$ PATHにバイナリのパスを追加する必要があります)

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

コード:それを解凍します http://dbus.freedesktop.org/releases/dbus/dbus-1.5.0.tar.gz

インストールフォルダ(--prefix)を指定する210

設定し、Cコンパイラが含まれるフォルダとのexpatライブラリのlibフォルダ:

./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; 
関連する問題