[Armadillo:04370] Re: [Armadillo-240]bluez-utilsのmakeができません。

TOMOYUKI KAWAHARA email@hidden
2009年 6月 22日 (月) 11:35:53 JST


kwhrです。

res遅くなりましたが、溝渕さん情報ありがとうございます。
Armadillo-240へbluez-utilsをインストールしようとしているので、
クロスコンパイルの指定は外せないだろうと、
 --build=arm-linux-gnu
 CC=arm-linux-gcc
は追加しています。

再三のリトライにより、最初の質問時点とは、インストールされている
ライブラリ等が変わってきている(*1)のですが、どうしてもbluez-utilsの
makeがうまくいきません。

現在は、

$ make SUBDIRS="common tools frcomm"
make[2]: ディレクトリ `/home/atmark/download-src/bluez/bluez-utils-3.7/daemon' に入ります
/bin/sh ../libtool --tag=CC --mode=link arm-linux-gcc
-I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wall -O2
-D_FORTIFY_SOURCE=2   -o bluetoothd  main.o -ldbus-glib-1 -ldbus-1
-lglib-2.0   -lbluetooth   ../common/libhelper.a
arm-linux-gcc -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wall -O2
-D_FORTIFY_SOURCE=2 -o bluetoothd main.o  -ldbus-glib-1 -ldbus-1
/usr/arm-linux-gnu/lib/libglib-2.0.so -lrt
/usr/arm-linux-gnu/lib/libbluetooth.so ../common/libhelper.a
-Wl,--rpath -Wl,/usr/arm-linux-gnu/lib -Wl,--rpath
-Wl,/usr/arm-linux-gnu/lib
/usr/lib/gcc/arm-linux-gnu/4.1.2/../../../../arm-linux-gnu/bin/ld:
skipping incompatible
/usr/arm-linux-gnu/bin/../../lib/libdbus-glib-1.so when searching for
-ldbus-glib-1
/usr/lib/gcc/arm-linux-gnu/4.1.2/../../../../arm-linux-gnu/bin/ld:
skipping incompatible
/usr/arm-linux-gnu/bin/../../lib/libdbus-glib-1.a when searching for
-ldbus-glib-1
/usr/lib/gcc/arm-linux-gnu/4.1.2/../../../../arm-linux-gnu/bin/ld:
cannot find -ldbus-glib-1
collect2: ld returned 1 exit status
make[2]: *** [bluetoothd] エラー 1

と、「ldbus-glib-1」というものが適合エラーを起こしているので読み飛ばしたら、見つからなかった。みたいなことを言われているようです。
上記のようなケースでの対処方法を知りたいと思っています。

よろしくお願いいたします。


*1 最初の質問時点とは、インストールされているライブラリ等が変わってきている
bluetooth-libsについては、debianサイトからarm用パッケージをDLして以下の手順を実施することで簡単にクロスコンパイルすることができたので、この方法でインストールしました。
libbluetooth2_3.7-1_arm.deb をDL
libbluetooth2-dev_3.7-1_arm.deb をDL

$ dpkg-cross -b -a arm libbluetooth2_3.7-1_arm.deb
$ dpkg-cross -b -a arm libbluetooth2-dev_3.7-1_arm.deb
$ su
****
# dpkg -i libbluetooth2-arm-cross_3.7-1_all.deb
# dpkg -i libbluetooth2-dev-arm-cross_3.7-1_all.deb
# exit
$ cd /usr/arm-linux-gnu
$ find -name \*blue\*
	./include/bluetooth/	・・・これはコピー不要
	./lib/pkgconfig/bluez.pc	・・・これはコピー不要
	./lib/libbluetooth.so.2.4.1
	./lib/libbluetooth.a
	./lib/libbluetooth.la
	./lib/libbluetooth.so
	./lib/libbluetooth.so.2
$ cd /usr/arm-linux-gnu/lib
$ cp -R -p ./libbluetooth.so.2.4.1 libbluetooth.a libbluetooth.la
libbluetooth.so libbluetooth.so.2
/home/atmark/atmark-dist-20090318/romfs/lib/
$ cd /home/atmark/atmark-dist-20090318
$ make image

同様に、bluez-utils_3.7-1_arm.deb をDLとしてきて、
$ dpkg-cross -b -a arm bluez-utils_3.7-1_arm.deb
と実行すると、
dpkg-cross: package bluez-utils doesn't provide any useful files. Skipping.
となってしまうために、bluez-utilsの方は、ソースからコンパイルしていく必要がある、
という状況です。



> 以前bluez-utils-3.7をビルドしたときは、
> $ ./configure --host=i686-pc-linux-gnu --target=arm-linux-gnu
> --disable-glib --disable-obex --disable-fuse --disable-alsa
> --disable-all BLUEZ_CFLAGS=" " BLUEZ_LIBS="-lbluetooth" DBUS_CFLAGS=" "
> DBUS_LIBS=" "
> $ make SUBDIRS="common tools rfcomm"
> でビルドできていました。当時必要であったものしかビルドしていないため、必
> 要があればconfigureのオプションや、makeの引数などを変更してください。

>
> configureのオプションについては、
> $ ./configure --help
> を参照して確認してみてください。


armadillo メーリングリストの案内