namazu-dev(ring)


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

Re: /usr/local/lib/libchasen.a (Re: coredump ..



<200002041248.VAA06986@xxxxxxxxxxxxxx>の記事において
makoto@xxxxxさんは書きました。

>> (僕には)不思議なことがあるのですが、
>> /usr/local/lib/libchasen.a がなくても
>> Text-ChaSen-0.20 は問題なく設置出来る(ように見える)
>>   (本当にない時には)
>>   Note (probably harmless): No library found for -lchasen
>>   と言います。harmfull の気もするのですが...

  これは多分 ExtUtils::MakeMaker の仕様なんだと思います。XS で書かれた
module は dlopen() などで読みこまれるのですが、その段階で始めてシンボ
ルの解決が行なわれるようです(多少の誤解があるかも)。shared library 化
した libchasen を preload するなどすれば、その状態でも実行できてしまい
そうな気がするので、あえてそうしてあるのではないかと推測します。

# 憶測だけで実際に試してはいませんが... ^^;

>> でも libchasen.a は Text-Chasen 作成時(設置時)だけに参照され
>> るものですよね。?

  static な library である libchasen.a に関してはそうですね。

>> それから、ChaSen のことをここに書いてもしようがないとは
>> 思いますが、CFLAGS に -fPIC が入っていなくてもいいのでしょうか。

  やはりあった方が良いように思います。が、必要かどうかは OS や処理系に
依存しますし、処理系によっては option が異なったりもするので、標準の 
Makefile に入れてしまうと問題になりそうな気がします。

<200002041258.VAA07244@xxxxxxxxxxxxxx>の記事において
satoru-t@xxxxxxxxxxxxxxxxxxさんは書きました。

>> ChaSen の次の版からは make install で /usr/local/lib に 
>> libchasen.a をインストールするようになります。実は、先日 
>> ChaSenの作者に頼んだところです。

  優先度は低くても良いので、shared library を作る target も作ってもら
えるようお願いしていだたけませんでしょうか。とりあえず、GNU binutils
限定だけでかまいませんので...
-- 
野首 貴嗣
E-mail: knok@xxxxxxxxxxxxx (private)
        nokubi@xxxxxxxxx (official)