先ほども説明したように、今回移植する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.