[Armadillo:01432] Re: セルフコンパイルについて

Takuro email@hidden
2006年 12月 7日 (木) 21:29:35 JST


こんばんわ,タクローです。

>> Armadilloでのセルフコンパイルについてなのですが,Official SiteのFAQにある
>> 「Armadillo用アプリケーションを開発するために、どのような開発環境が必要ですか?」
>> というページの最後に,「大き目のCompactFlash(512MB以上)を利用し、
>> Armadillo上に開発環境をインストールすることによって、Armadillo本体で
>> 直接開発を行うことも可能です。」とありますが,具体的にどのようにセルフ
>> コンパイル環境を構築すれば良いかわかりません。
> 
> ご意見ありがとうございます。たしかに具体性にかける内容です。
> ここでの意見を参考に更新したいと考えています。
> 
>> 過去ログを拝見しましたところ,ArmadilloにDebianを導入しapt-getで
>> インストールするのか簡単だということですが,オリジナルのディストリビューション
>> (atmark-dist)上でセルフコンパイル環境を構築することはできないのでしょうか?
> 
> できると思いますが、
> 
> - Atmarkでは用意していない
> - 結構時間がかかる
> 
> と、思います。用意していない理由ですが、あまり利点を見いだせていない
> からです。
> 
> たぶん見えていない理由があると思いますので、self compileを
> 行ないたいと考える原因になったことを教えていただけますか?

用意されていないということは,一般的に必要がないということなんだと思いま
す。私に十分な知識がないために見当違いなことをいっているのかもしれません
が,以下のように考えています。

少し前にマガークさんの「Armadillo上で新しいプログラムを試す時」という投
稿の中で,既存のオープンソースのソフトウェアをクロスコンパイルする場合
に,configureがクロスコンパイルに対応していない時が多い,という内容があ
りましたが,そのような場合はセルフコンパイルしたほうが簡単なのではないか
と思っています(現在,特にビルドに困っているパッケージがあるわけではない
のですが)。

しかし,下記にある通りArmadillo上のDebianでコンパイルしたバイナリを
atmark-dist上で実行できれば,atmark-dist上でのセルフコンパイルにこだわる
必要はないと思います。しかし,その場合は(毎回Debinaとatmark-distのシス
テムを入れ替えるのが面倒なので)Armadilloが2台ないと不便なように感じます。

configureの問題は,PC上にArmadillo用のDebianの開発環境をマウントして,
chrootを行うなどで解決するのでしょうか?

>> また,PCでのクロスコンパイルとArmadillo上のDebianあるいは(可能ならば)
>> atmark-distでのセルフコンパイルで作成されたバイナリファイルは,全く同一の
>> ものとなるのでしょうか?
> 
> 同一がどのレベルで同一なのかという問題があるのでなんとも言えませんが
> 
> - たぶん同じ挙動をするという意味で同一である
> - 使用するcompilerのversionや、binutilsのversionによって
>   オプティマイズのされかたが違うので、完全に同一ではない
> - また、bugなどによっても異なるかもしれない
> - タイムスタンプが入るようなcode(たとえばhermitとか)であれば
>   どの環境でも全く同一にはならない
> - リンクするライブラリは同じものを選べるので同一にすることは可能
> 
> です。armadillo用の xxxxx-arm-crossというパッケージは
> debian用にコンパイルされたものを、そのままarmadillo上で
> 使っています。armadillo系は debian用にコンパイルされた
> バイナリをそのまま使えるようになっています。

具体性に欠けていて申し訳ございません。
結局のところ,実行の結果が同じであれば良いのですが,やはりそれでもプログ
ラムの内容によるということですね。



armadillo メーリングリストの案内