Kogule, Ryo
aqua_dabbl****@mac*****
2003年 7月 18日 (金) 20:01:54 JST
古暮でございます。 # gauche-devel でお話しするつもりでしたが,流れ上こちらで。 On 2003.07.18, at 19:24, Shiro Kawai <shiro****@lava*****> wrote: >しかし、0.7同梱のgauche-configはリンク失敗を避けるために、 >無条件で-lgauche-uvectorをリンクフラグに追加してしまいます。 >それが悪さをしているんじゃないかと思います。 はい,Gauche-gtk のように `gauche-config -l` を利用する外部拡張で, “libgauche-uvector.dylib が見付からない”と蹴られるのを防ぐ為の patch でした。 >ところで、プラットフォームによっては、リンク時に依存関係を全て >解決することを要求するものがあります。例えば mt-random >モジュールや Gauche-gl は uvector のシンボルを参照している >ので、そのようなプラットフォーム上で mt-random や Gauche-gl >をリンクするために、どうしても -lgauche-uvector を与えてやる >必要がありました。 > >MacOS Xにはそのような要求が無いので、そもそも -lgauche-uvector >を与える必要がありません。(したがって、libgauche-uvector.dylib >を作る必要もありません)。 なるほど。-lgauche-uvector の意図がはっきりと判らなかったので前のよ うな patch にしたのですが,`gauche-config -l` から単純に -lgauche-uvector を削ってしまっても構わない様ですね。因みに a.out 系でも shared library と loadable module を区別するらしいので,同 様の問題が起こりそうです。 # マア,a.out 系も今では殆どないかと思いますが…… それでは基本的に shared library と loadable module を共用は, platform 依存の名前解決など移植性の為であって,それが問題になる system では無視するだけで構わないと考えて宜しいのでしょうか? マア package maintainer としては対象 system だけで動けば何でもいいとも いえますが,後々出てくる外部拡張でも十分に使えるものしないとしなけれ ばならないというのもあるもので,その辺の方針をお伺い出来ればと思いま す。