加藤(大阪)です。
Sat, 21 Apr 2007 23:47:00 +0900 付
VYG07066@xxxxxxxxxxxさんのメールより:
> そこで、rpmを検索してFCやredhatのrpmでチャレンジしてみたのですが、結構
> 多くの依存関係が有って手をつけられませんでした。一番古いgdlをrpm -ihv ..
バイナリ rpm は、ビルドした環境(に含まれるライブラリ(のバージョン))に依
存しますので、他のディストリビュージョンの rpm パッケージをインストール
する場合は、src.rpm からリビルドする方が確実です。
ソース tarball からインストールする場合
./configure - make - make install
の手続きをとる場合と同様、環境に合わせて、ライブラリ(バージョン) 等の差
異を(ある程度)解決してくれますので。
> rpm -ihvした時のlogです。新しいものだと、これ以上に出ます。
>
> libMagick++.so.6 は gdl-0.8.11-2.fc4.i386 に必要とされています
> libfftw3.so.3 は gdl-0.8.11-2.fc4.i386 に必要とされています
> libfftw3f.so.3 は gdl-0.8.11-2.fc4.i386 に必要とされています
> libhdf5.so.0 は gdl-0.8.11-2.fc4.i386 に必要とされています
> libplplotcxxd.so.9 は gdl-0.8.11-2.fc4.i386 に必要とされています
> .....
例えば、gdl-0.9-0.pre4.1.fc7.src.rpm を、自分の環境で、
$ rpmbuild --rebuild gdl-0.9-0.pre4.1.fc7.src.rpm
すると、
エラー: ビルド依存性の失敗:
gsl-devel は gdl-0.9-0.pre4.1.i386 に必要とされています
plplot-devel は gdl-0.9-0.pre4.1.i386 に必要とされています
.....
fftw-devel は gdl-0.9-0.pre4.1.i386 に必要とされています
hdf-devel は gdl-0.9-0.pre4.1.i386 に必要とされています
.....
というようなエラーになります。
各エラーメッセージの最初の名前が不足しているパッケージ名ですから、
次は root になって、
# apt-get install gsl-devel plplot-devel ...
と、不足パッケージをインストールします。
この時、vine に無いパッケージは勿論インストール出来ずにエラーになるの
で、その分は fedra サイト等から src.rpm を落としてきて、個々に、
$ rpmbuild --rebuild "src.rpm名"
します。
その段階でも新たな不足パッケージが出るかもしれません。その場合は又、
# apt-get install ...
からの作業を行います。
根気のいる作業ですが、他に近道は無いように思います。
> そこで本家サイトでtar玉を持ってきて、checkinstallにてrpmを作ろうと進
> めてみましたが、やはり必要なライブラリ等が不足していて、難航しています。
src.rpm からの --rebuild は、tarball から./configure - make -
make install(又は checkinstall) するのとほぼ同じ事を、システムとの整合な
どを考慮して行っていますので、特に理由が無い限り src.rpm が有る場合は、
それをリビルドする方が合理的です。
以下は gdl-0.9-0.pre4.1.fc7.src.rpm のリビルドを制御する spec ファイル
の、build 及び install セクションの抜き書きです。
%build
%configure --disable-dependency-tracking --disable-static \
--with-fftw \ INCLUDES="-I/usr/include/netcdf-3 \
-I/usr/include/hdf" \ LIBS="-L%{_libdir}/netcdf-3 -L% \
{_libdir}/hdf"
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
御覧の通り、configure、make、make install をオプション付きで実行している
事がわかると思います。(可能なら、リビルド作業で rpm/SPEC 以下に展開され
る spec ファイルに手を入れれば、インストールはより容易になることも有りま
す)
> まとめますと以下の通りです。
>
> ・gdlをvineのパッケージだけでインストール可能か
gdl 自体が無いようなので、不可能かと思います。
> ・無理な場合はrpmをredhatから取って来て依存性を潰していく、ソースから
> エラーを潰していくのどちらが良いか
どちらかといえば "(バイナリ)rpm から"より、"ソースから" ですが、上記理由
から、src.rpm からのリビルドで依存性を潰していくのがより合理的だと思いま
す。
> ・javac,f95は何処で手に入るか
configure log の、enable_f95: no / enable_java: no から判断されたのだと
思いますが、log を拝見した所、configure スクリプトはエラーを出さずに実行
を完了し、
config.status: creating Makefile
と、Makefile も作成されているようなので、これらは多分必要ないと思いま
す。 (configure スクリプトの目的は、make コマンドが参照する Makefile
を、環境に合わせて作成する事に有り、その目的は達成されているのですから)
> という点で困っております。どなたかアドバイス頂けないでしょうか。
どちらにしても、vine に無い依存パッケージが多いようで、インストールは大
変でしょうが、必要に迫られての事のようですので頑張ってください。
最終的にインストール可能かどうかは断定できませんが、リビルド中に vine の
他のパッケージとの衝突がなければ、何とかなるのでは無いかと思います。
--
加藤 雅 <mkato@xxxxxxxxxxxxx>
http://add10.hp.infoseek.co.jp/rox/