連載
» 2016年02月05日 09時00分 公開

Raspberry PiにAllJoynを移植して、IoTを自作する(5/10 ページ)

[橋本 尚(The Linux Foundation),MONOist]

4.4 Thin Core(ajtcl)の導入

 先ほども説明したように、今回移植するalljoyn-jsは、Thin ClientとECMA解釈機能(Duktape)を一緒にしたものです。そのため、始めにAllJoyn Thin Client(ajtcl)をビルドします。AllSeenによるajtclの導入解説を参照しながら、導入します。

 まずはダウンロードページから、Thin Core Sourceをダウンロードします。alljoyn-jsをRaspberry pi上で構築するためには、ちょっと古いバージョンの15.04(最新は15.09)が必要なため、Thin Core Libraryもバージョン15.04をダウンロードします。

 ファイル名は、ajtcl-15.04.00b-src.tar.gzです。先に作成したディレクトリのcoreの下に展開します。展開すると、

ajtcl-15.04.00b-src

 というディレクトリの下に、関連ファイルが展開されます。次に、ディレクトリの名称を変更します。

mv ajtcl-15.04.00b-src ajtcl

 ajtclに行き、ビルドします。

cd ajtcl
export DUK_TAPE=(duktapeをインストールしたディレクトリ)
scons WS=off BINDINGS=cpp,c CPU=arm CROSS_COMPILE=/usr/bin/

 パラメーターの意味は、それぞれ次の通りです。

パラメーター 意味
WS ドキュメントの空白部分の制御を行わない。
BINDINGS これらの言語のバインディングをビルドする
CPU arm用のバイナリを作成する。
CROSS_COMPILE ARM用コンパイラの位置(Raspberry Pi上では、クロスではないのですが提供されているスクリプトがx86を前提とした作りになっているため、Raspberry PiのようにARMプロセッサ上でビルドするときには、このパラメータが必要となります)

 次の工程として、必要なファイルをコピーします。

mkdir /usr/local/lib/ajtcl
cp lib* /usr/local/lib/ajtcl
cat > /etc/ld.so.conf.d/ajtcl.conf <<EOF
/usr/local/lib/ajtcl
EOF
 
ldconfig

Copyright © ITmedia, Inc. All Rights Reserved.