[H8-ML(5232)] Re: Re:Linux のプログラムについて
From: "Shouji Hirata" <shouji@xxxxxxxxxxxxx>
Date: 2004年12月23日(木)23時42分29秒
平田@マイクロフトです

Linuxで動作するプログラムは、ある環境でビルドしたバイナリーは(Widnowsっぽく
言えばexeファイル(^_^))、別のデストリビューションや、別のバージョンの環境に
持っていって実行できる保障はありません。(同じインテルのCPUを使ったマシン間で
も) 

別の環境からプログラムを持ってくるときはソース一式を持ってきて、新しい環境で
再コンパイルする必要があります。そういった意味で、バイナリーレベルではなくて
ソースレベルで互換性があります。(詳しい人には、突っ込まれそうだな・・・・)

Linux上のいろいろなソフト(gimpだったり、emacsだったり)がVineやDebianで簡単に
実行モジュールをインストールできるのは、「すべての環境で動くバイナリー」が存
在するのではなく、それぞれの環境に合わせて、ソースを再コンパイルしたり、微調
整してくれている方たちの努力があるわけです(^_^)

たとえば、話題になっていたVine上のgccなどで作った実行モジュールをそのまま
debianに持っていってもまず動きませんし、同じVineでも2.6の時代に作った実行
モジュールをそのまま今の3.0に持っていっても動かない可能性があります。

もちろんgcc以外のperlやrubyで作ったプログラムは動く可能性が高いし、gccでプロ
グラムを作るときもそれなりの配慮をしながら作れば出来るそうですが、そこには多
くの経験とノウハウを要求されるらしい・・・:僕はできない(^_^;

したがって、わさびぃさんが昨晩構築していたRedHat(やFedora)でプログラムを開発
しても、その実行モジュールを実機(Debian環境ですね)にコピーしたら、そのままで
は動かない可能性が高いです。

RedHatで開発したソース一式を実機に持って行って再コンパイルする必要がありま
す。その際も、RedHat系のディストリビューションとDebian系ではいろいろなファイ
ルの位置やその他の設定(私はファイヤーウォールの設定ではまったことがある
(^_^;)が違うので、コンパイルオプションで2つの環境を合わせこむなどの工夫が必
要です。

今回のようにLinuxの環境つくりから始める開発なら、最初から同一環境(パソコン本
体という意味ではなく、同一のディストリビューションをインストールしたソフト的
な環境)を用意してデバックしたほうが楽だと思います。

--
=====================================
平田祥司(shouji@xxxxxxxxxxxxx)

株式会社マイクロフト(www.microft.co.jp)
=====================================


スレッド概略
[5218(R)](起点)
 └[5230(U)]
   └[表示中]
     └[5234(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]