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

[debian-devel:05173] Re: [debian-users:08212] WindowMaker: undefined symbol: _Xsetlocale



liblocale.soをlibc5用とlibc6用の二つ作って、ディレクトリ指定
しないでpreloadすると、うまく使い分けてくれるはずです。

例:
  libc5用: /usr/lib/libc5-compat/liblocale.so
  libc6用: /usr/lib/liblocale.so

  として、LD_PRELOAD=liblocale.soで使う。libc6用は、とりあえず
  空のソースファイルをコンパイルして作ればよい。

ところで、X_LOCALEの問題は、究極的には以下のように解決するし
かないですかねえ。

(1) X_LOCALEは、デフォルトでは定義しない。
(2) _Xsetlocaleは、コンパイルする。
(3) _Xsetlocaleでは、呼び出されたときにフラグをセットする。
(4) (3)のフラグがセットされていたら、ライブラリ内のロケール
    依存部分では_Xsetlocaleで設定した値を参照する。
(5) そうでなければ、setlocaleの値を参照する。

これなら、プログラムがどっちでコンパイルされてても、それなり
に動くんじゃない?

>>>>> On Mon, 7 Sep 1998 10:49:18 +0900, Atsushi KAMOSHIDA <kamop@debian.or.jp> said:

    AK> netscape4-jaをインストールした後には石川さんがおっしゃるように
    AK> liblocale.soでつまづいてしまいますが,これを外して実行すれば動くように
    AK> なります. 具体的には /usr/lib/netscape-ja/4.05/jcommunicator40x.shの
    AK> 123行目を以下のように,先頭に#を付けてコメントアウトします.

    AK> #LD_PRELOAD="$NETSCAPEDIR/liblocale.so"
-- 
ささやま <Kaz.Sasayama@xxxxxxxxxxxxxxx> / 有限会社ハイパーコア
「日本で最初のDebian GNU/Linuxコンサルタント」
* <URL:http://www.debian.org/consultants.html#Japan> を参照