[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002252] Re: RubyDCL / RubyNetCDF / Multibitnums updated
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002252] Re: RubyDCL / RubyNetCDF / Multibitnums updated
- From: Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxxx>
- Date: Fri, 13 May 2005 11:43:11 +0900
堀之内です.
> 以下のようにパッケージをアップデートしました.
>
> RubyDCL 1.5.1
> RubyNetCDF 0.6.1
> Multibitnums 0.1.2
>
> Mac OS 10.3 で生ずる不具合への対応ですので,
これに関連して,以前(4/18)に作成したメモを公開します.
私自身は使ってないので,Macユーザー(池田さん)とのやり
取りの結果です.
========================================================
Mac OS 10.3 での経験のまとめ(10.2でもたぶん同様)
1. ranlib 問題
* status: 手動で解決する方法はわかった
* Cのライブラリーに対し発生 (NetCDF, DCL)。
* 一件正常にインストールされるが、RubyDCL など、それを利用
するライブラリーにリンクしようとした際に、
ld: table of contents for archive: /usr/local/lib/libcdcl53.a
is out of date; rerun ranlib(1) (can't load from it)
といったエラーが発生する。
* 原因: 不明
* 対策
* 手動での解決は可:
% ranlib /usr/local/lib/libcdcl53.a
のようにする.
* 考察:
* 作られた Makefile を見ると確かに ranlib を当ているのでお
かしい -->
* ディレクトリーツリー上の位置が変わると ranlib をもう一
度する必要がある? -- そんなあほな。それならつける薬なし。
* ひょっとして ranlib は2つ以上あって、$PATH の関係で
make 時にあたる ranlib は古い? -- ありえるかも。それな
ら Mac ユーザー自身が $PATH の設定で対策すべし。
* ranlib はいいんだけど、何かオプションが要る?
mac の ranlib のオンラインマニュアルを見よ。
もしそうなら、恐らく ruby インストールのための configure
時に Mac ユーザー自身が対応可能と思われる。
2. 通称 xargc/xargv 問題
* status: 解決した --> それを取り込んだ新ライブラリーは今後公開
* DCL-C で発生
* DCL-C で使う f2c 互換ライブラリー f2c4dcl で定義されている
グローバル変数 (xargc/xargv) が、libcdcl53.a に含まれている
にもかかわらず、それをリンクした Ruby/DCL のライブラリーファ
イル dclraw.bundle に入らない。
* 原因: Mac のリンカーのバグと思う
* 対策:
* 今後リリースされる DCL-C 版の新しい版を使う。(その中では、
問題が起きないようにファイルの再構成をしてある。具体的に
は f2csrc/util.c 中の関数 getarg_, iargc_ を
f2csrc/main.c に移動)
3. グローバル変数再定義問題
* status: 解決した --> それを取り込んだ新ライブラリーは今後公開
* Ruby 用拡張ライブラリーなど、C で書かれたライブラリーで発生
* 同じグローバル変数の定義が別々のライブラリーに2個所にあると、
リンカーがエラーを出す。
* 対策法: そうならないように改訂したライブラリーを使う。
RubyDCL の次期バージョン 1.5.1 以上、RubyNetCDF の次期バー
ジョン 0.6.1 以上。なお、気象庁データを扱う GPV に必要な
Multibitnums でも同様。
* 考察
これまで電脳 Ruby 製品が使われてきた様々な OS / リンカーで
はこの問題をよろしく解決してくれるので、問題なかった。しか
し、対応した方が良い問題であるのは確か。
4. Ruby-GNOME2 が入らない問題
* status: 未解決
* コンパイルエラーが発生
* 原因は未解明。gtk 中の pango 1.4.1 のラッパー生成時に、恐ら
くpango のヘッダーファイルに定義されているべき構造体の定義
がなくて発生すると思われる。
* 対策法はまだわかってない。(ただし、そんなに難しくなさそう)
5. (これは Mac に限らない): 一括インストーラーの依存性問題
* status: 解明済だが未対応。ただし、手動で対応は可能。
* 一括インストーラでは,実際には依存してないのにしてることになっ
てるのがある。このため、Macでも本来インストール可能であるのに、
間違ってインストールできないライブラリーがある。
* 対策
* 作者側:依存関係の再設定
* ユーザー側: 問題のあるものに関しては一括インストーラはダ
ウンロードまでとし、手で入れる。(それでも使わないよりか
なり楽になる)