vine-users ML アーカイブ



[vine-users:076745] Re: GDLを インストールするには

  • From: 加藤 雅 <mkato@xxxxxxxxxxxxx>
  • Subject: [vine-users:076745] Re: GDLを インストールするには
  • Date: Sun, 22 Apr 2007 02:51:18 +0900
加藤(大阪)です。

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/