[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:03930] Re: 別のPCでコンパイルしたバイナリ



森岡です.

In article <199909080142.KAA08219@april.on.rim.or.jp>
hical@on.rim.or.jp writes:

>> i486機のLinux環境をアップグレードしようと試みています。
>> その際に、i486機で使うバイナリをPentium機でコンパイルして、
>> パッケージにしてインストールしようと思っているのですが、
>> 設定が異なるKernelでコンパイルしたものを持ってきて動作させ
>> て大丈夫なのでしょうか?

二つ気を付けるべき点があります.

ひとつはコンパイラの最適化です. gcc 2.7 系を使っていれば
Pentium 以降の CPU の専用命令は生成しないので問題ありません
が, egcs や pgcc や gcc 2.8/2.9 系を使用している場合,
コンパイラの最適化オプションに注意する必要があると思います.
#ほとんどのケースでは心配ありませんが...
Makefile 中の CFLAGS=, CC=, ARCH= 等をチェックしてみて
下さい.

もう一つはシステム寄りのユティリティの中には, カーネルの
コンフィギュレーションを読み込む物があります.
ibcs と pcmcia-cs (これはどちらかというとカーネルの一部で
すが) はカーネルのコンフィギュレーションに依存しますので,
その都度コンパイルする必要がありますが, 御心配されている
modutils はこの点については大丈夫だと思います

>> Kernelの設定によって、たとえばCPUの種類やネットワークオプ
>> ションによって、最適化を行ったり必要な機能を選別(?)したり
>> しないものでしょうか?
カーネルバージョン毎のヘッダファイルの違いによって細かな差が
出る事はありますが, その場合でも古いカーネルでコンパイルした
バイナリは新しいカーネルでも互換性は保たれていると考えて良い
と思います. 例外はありますが, その場合カーネル添付のドキュメ
ント Documentation/Changes に注意書きがあるはずです.
カーネルのコンフィギュレーションそのものを読み込むようなソフ
トウェアの場合, コンフィギュレーション/コンパイル時にその旨
(どこからカーネルコンフィギュレーションを読みますか? 等) を
聞いて来るはずです.

**************************************************
* 森岡和才 - コンピュータ コンサルタント         *
* Kazutoshi Morioka <aab36830@pop07.odn.ne.jp>   *
* 福岡県遠賀郡 http://k-pup.zoma.co.jp/~morioka/ *
**************************************************

Follow-Ups
[plamo:03933] Re: 別の PCでコンパイルしたバイナリ, hical satow
References
[plamo:03926] 別のPCでコンパイルしたバイナリ, hical satow

[検索ページ] [メール一覧]
Plamo ML 公開システム