Armadilloフォーラム

libboost,libserial

kazuhikonakayama

2016年2月27日 18時20分

libboost-all-dev パッケージをATDE 5に入れようと、試みておりますが、うまくいきません。
libboost-all-dev は、普通にゲストOS には、入りました。64bit 環境の方へ。
ですが、arm, armhf の方には、なぜか、入れることができず、、助言いただけると、助かります。

最終的に、libserial というライブラリを使いたいと考えております。

atmark@atde5:~/MyDevelop/lib-arm/libserial-0.6.0rc2$ sudo apt-get install libboost-all-dev:armhf
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:
 
以下のパッケージには満たせない依存関係があります:
 dpkg-cross : 依存: dpkg-dev (>= 1.14.7) しかし、インストールされようとしていません
              依存: libdebian-dpkgcross-perl (= 2.6.7atmark1) しかし、インストールされようとしていません
 libboost-all-dev:armhf : 依存: libboost-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-chrono-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-date-time-dev:armhf しかし、インストールされようとしていません
 
              依存: libboost-filesystem-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-graph-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-graph-parallel-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-iostreams-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-locale-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-math-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-mpi-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-mpi-python-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-program-options-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-python-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-random-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-regex-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-serialization-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-signals-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-system-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-test-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-thread-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-timer-dev:armhf しかし、インストールされようとしていません
                          依存: libboost-wave-dev:armhf しかし、インストールされようとしていません
E: エラー、pkgProblemResolver::Resolve は停止しました。おそらく変更禁止パッケージが原因です。
コメント

at_yuma.arakawa

2016年3月1日 18時52分

> atmark@atde5:~/MyDevelop/lib-arm/libserial-0.6.0rc2$ sudo apt-get install libboost-all-dev:armhf
こちらの方法だと、既にインストールされている libboost-all-dev をarmhfアーキテクチャのもので置き換えようとします。

今回は、クロス開発用に/usr/arm-linux-gnueabihf/lib/ というディレクトリへ
ライブラリをインストールして欲しいので、クロス開発用のライブラリをインストールする必要があります。

クロス開発用ライブラリのインストール方法については、以下のHowtoが参考になるかと思います。
- クロス開発用ライブラリをインストールする方法
http://armadillo.atmark-techno.com/howto/install-cross-libraries

なお、Armadillo-IoTを使用しているならば、アーキテクチャは"armel"かと思うのですが、
間違っていないでしょうか?

kazuhikonakayama

2016年3月1日 19時42分

armel
armhf ?

ですかね。。浮動小数点演算が、、あるほうとないほう。。。

atde5 の中を見ると、

/usr/arm-linux-gnueabi/
/usr/arm-linux-gnueabihf/

の2タイプがあったので、どちらも対応を思っていましたが、違うのですね。

at_yuma.arakawa

2016年3月2日 9時38分

> armel
> armhf ?
>
> ですかね。。浮動小数点演算が、、あるほうとないほう。。。

これらはアプリケーションとOSの間の規約(ABI)を指しています。
ご認識の通り、armhfの方がハードウェアで浮動小数点演算をサポートしている方です。

armelとarmhfの関係については、Debianのニュースでの説明も見つけましたので、引用しておきます。

armhf: 浮動小数点演算をハードウェアでサポートする ARMv7 マシン用の armel の代替。現在の ARM のボードや機器の多くに浮動小数点演算ユニット (FPU) が付属していますが、過去の Debian armel 移植版ではその利点を活用していませんでした。armhf 移植版はそんな状況を改善するために始まっていて、もっと新しい ARM CPU の他の機能の利点についても活用します。

- https://www.debian.org/releases/wheezy/kfreebsd-i386/release-notes/ch-w…
 

> atde5 の中を見ると、
>
> /usr/arm-linux-gnueabi/
> /usr/arm-linux-gnueabihf/
>
> の2タイプがあったので、どちらも対応を思っていましたが、違うのですね。

はい。ATDE5の中にそれら2つのディレクトリがあるのは、armhfの製品でも開発環境として使用できるように用意しているものです。
Armadillo-IoTをご使用であれば、armel(上記のディレクトリでは「/usr/arm-linux-gnueabi/」の方)を使用してください。