at_ito
2016年6月6日 13時53分
独自作成したアプリケーションや、Debianパッケージ等から持ってきたアプリケーションをArmadilloで動作させる際に、共有ライブラリが見つからないというエラーが発生することがあるかと思います。アプリケーションを動作させるには、動作するために必要としている共有ライブラリをArmadilloに追加する必要があります。
その際に、アプリケーションがどのようなライブラリを必要としているか、ATDE上で調べる方法がありますので、以下に紹介します。
アプリケーションに必要なライブラリは、以下のコマンドで調べることができます。
[ATDE ~]$ arm-linux-gnueabi-readelf -d アプリケーション | grep NEEDED
- ※: Armadillo-800シリーズではarm-linux-gnueabihf-readelfコマンドを使用してください。
例として、Armadilloの標準イメージに含まれるbusyboxが必要としているライブラリを調べると以下のようになります。
[ATDE ~/atmark-dist]$ arm-linux-gnueabi-readelf -d romfs/bin/busybox | grep NEEDED
0x00000001 (NEEDED) Shared library: [libm.so.6]
0x00000001 (NEEDED) Shared library: [libc.so.6]
上記内容から、busyboxを動作させるには「libm.so.6」と「libc.so.6」が必要なことがわかります。