[Gauche-devel-jp] gauche-config -L に -rpath が必要?

Back to archive index

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






Gauche-devel-jp メーリングリストの案内
Back to archive index