Armadilloフォーラム

Armadillo840 libmosquitto-dev クロスライブラリについて

n-ichikawa

2016年12月6日 19時55分

いつもお世話になっております。市川と申します。

mosquitto をAPIで制御するために、libmosquitto-dev が必要である所までは分かったのですが、

http://armadillo.atmark-techno.com/howto/install-cross-libraries
を参考に、

apt-cache search arm..-cross

で見あたらなかったので、
Debianのパッケージサイトで検索しましたが、それらしい物を見つけることが出来ませんでした。

クロス開発用ライブラリをどのように作成したら良いか、ご教示お願いいたします。

#また、以前の投稿(https://armadillo.atmark-techno.com/forum/armadillo/1390 )で、
 armel 向けを確認しましたが、840 は、armhf だと思います。
 同じ物でも大丈夫なものでしょうか?

コメント

> Debianのパッケージサイトで検索しましたが、それらしい物を見つけることが出来ませんでした。

a800 用の ATDEは、ATDE5で、Debian Wheezy になります。
libmosquitto1 は、Wheezy の次の Jessie から入ったようですね。

https://packages.debian.org/search?keywords=libmosquitto1

libmosquitto0 ならあるようですが、かなり古いです。

https://packages.debian.org/wheezy/libmosquitto0

> クロス開発用ライブラリをどのように作成したら良いか、ご教示お願いいたします。

クロスパッケージを作るには、一度 ARMのネイティブパッケージを作成してから dpkg-cross
変換します。

a800用の Debian で以下のような感じです。

1. /etc/apt/sources.list に、Jessie の ソースライン↓を追加
deb-src http://ftp.jp.debian.org/debian/ jessie main
2. sudo apt-get update
3. sudo apt-get build-dep libmosquitto1
4. apt-get source libmosquitto1
5. cd mosquitto-1.3.4
6. debuild -uc -u
7. cd ..
8. dpkg-cross libmosquitto1_1.3.4-2_armhf.deb

> #また、以前の投稿(https://armadillo.atmark-techno.com/forum/armadillo/1390 )で、
>  armel 向けを確認しましたが、840 は、armhf だと思います。
>  同じ物でも大丈夫なものでしょうか?

ごめんなさい、だめなんです。 armhf 用が必要です。

cross パッケージを作成しなくても、いきなりクロスビルドできそうです。

$ git clone https://github.com/eclipse/mosquitto
$ cd mosquitto
$ CC=arm-linux-gnueabihf-gcc make binary

エラーで止まりますが、lib/ 以下に libmosquitto.so.1 ができているはずです。

ただ、libc-ares2libc-ares-dev が必要なので、こちらの cross package を作成する必要があります。

市川です。

いろいろとありがとうございます。
無事、期待する環境を作ることが出来ました。