[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freewnn:00258] shared library



 元木です。

 読み直してみると自分が書いていることは意味不明な部分が多かっ
 たです。ごめんなさい。

 書きたかったことは、

   独自の shared library 化がおこなわれた、いろいろな X.Y.Z 
   の libwnn が作られる前に FreeWnn Project としての方針を決
   めて実装しておいた方が良いのではないでしょうか。

 ってことです。

 独自のをインストールした後に本家をインストールしたら X.Y.Z 
 がバラバラでどれが最新かわからない状況は可能な限り避けたい
 し、互換性がないのに X は同じで Y だけ違うなんて状況なんて
 のは作りたくないです。

# ユーザさんにいらぬ苦労はしてほしくないと思います。
# 一ユーザとしても :-)

 もちろん、OS、ディストリビューションの基準で X.Y.Z をつけて
 いる場合もありますが、OS、ディストリビューション内で一貫性
 がとれているのなら問題ではないと思います。

# そこまで踏み込むのは明かにやりすぎですし。

 以上、以下間違っていたら突っ込み下さい > ALL

In [freewnn : No.00253]
  Tatsuo Furukawa <frkwtto@osk3.3web.ne.jp> wrote:

元木さん>  そして、本家が shared library 化したとき、今までの独自の 
元木さん>  shared library のバージョンが本家のものより高いと、他のソフ
元木さん>  トウェアをリンクする時に独自のものがリンクされてしまったり
元木さん>  するので将来的ってほど将来の問題でもないのです :-)

| あと、開発版の場合、別ディレクトリに入れて、それを常にリンクするように
| しておけば大丈夫というふうに仕組みを作っておけばいいと思いますがどうで
| しょう?

 えーと、自ら開発版にダイブするような人は多分そんなことが起
 きても対処できると思いますので多分問題にはならないと思いま
 す。

 また、動作検証のやりかたは人それぞれのやりかたがあると思い
 ますのでそこまでしなくてもよいのじゃないでしょうか。

 ちなみに私の場合は サーバについては
> make DESTDIR=/home/hoge/hogehoge/ install 
> /home/hoge/hogehoge/usr/bin/jserver --rootdir=/home/hoge/hogehoge/
 という感じで /home/hoge/hogehoge/の下のファイルを使って 
 jserver が実行できるようにしています。

 ライブラリの場合は検証用に static link してしまえば問題ない
 ので気にしてません。 :-) (LD_PRELOAD って手もありますが)

| 正式リリースの場合は、各正式リリースのライブラリでふるまいやインターフェー
| スが異なるのは問題なので、これはライブラリのバージョンを検出するような
| 機構をソースレベルでつけるのがいいでしょうね。ん、まてよ、これが 
| JLIB_VERSION になるのかな?

 コンパイル時には JLIB_VERSION などでよいのでないでしょうか。
 で、JLIB_VERSION にあったライブラリをリンクするのはコンパイ
 ルする人の責任です。

sin.