Shiro Kawai
shiro****@lava*****
2003年 10月 18日 (土) 21:19:06 JST
From: Kimura Fuyuki <fuyuk****@nigre*****> Subject: Re: [Gauche-devel-jp] gauche-config -L に -rpath が必要? Date: Thu, 16 Oct 2003 13:39:07 +0900 > - RPATH_REAL='-Wl,--rpath "-Wl,$(LIB_INSTALL_DIR)"' > + RPATH_REAL='-Wl,--rpath -Wl,${exec_prefix}/lib' これだと、$(LIB_INSTALL_DIR)がmake時に置き換えられるケースで まずいかな。configure時ではなく、make時に何とかする必要が あると思います。 ただ、@libdir@を無条件に含めて大丈夫かなあ。 あるプログラムfooがlibgaucheとlibzzzを使ってて、 libzzzは@libdir@じゃなく別のディレクトリのライブラリを見たいとか… そういう場合はどっちにせよrpathでの解決は難しいか… 私も違うバージョンのlibgaucheをリンクしていてはまったことが あり、Scm_Init()に想定するバージョンを示すシグネチャを渡すように しようかと検討したことがあります。ホストプログラム(main)側で #include <gauche.h> ... Scm_Init(GAUCHE_LIBRARY_VERSION); ... みたいにして、libgaucheの方でライブラリがコンパイルされた 時点でのGAUCHE_LIBRARY_VERSIONとScm_Init()に渡されたのとを 比較して、違っていたらエラーにすると。GAUCHE_LIBRARY_VERSIONには Gaucheのバージョンの他に、文字エンコーディングの設定やスレッドの 設定を含めることができるでしょう。 但し、この方法も、バージョンが全く同じでちょっとテストのために 何かを変えただけ、というライブラリを区別することはできません。 これでもあった方が良い、という意見があれば、つけることを検討します。 --shiro