[Anthy-dev 1821] Re: uim-0.4.6alpha on Solaris8

アーカイブの一覧に戻る

TOKUNAGA Hiroyuki tkng****@xem*****
2005年 2月 14日 (月) 02:33:10 JST


チェックありがとうございます。助かります。

On Sun, 13 Feb 2005 07:29:43 +0900 (JST)
Konosuke Watanabe <nosuk****@csc*****> wrote:

> uim-0.4.6正式リリースが近いようなので,Solarisでもビルドでき
> るかどうか,r623で試してみました.残念ながらそのままではビル
> ドできなかったのですが,あれこれいじった結果,なんとか動くよ
> うになったので報告します.

 なかなかbetaが出せなくて申し訳ないです…。

> まず,uim-helper.c で使われてる sig_tですが,これはSolarisに
> はないみたいです.
> 
> 単なるsignalハンドラだと信じて,とりあえずここは,
> 
> void (*old_sigpipe) (int);
> 
> と置き換えて切りぬけてみました.

 FreeBSDのmanとか眺めてみました(前にMLで紹介されていた
http://www.freebsd.org/cgi/man.cgiを使いました。便利ですね。)が、
sig_tが定義されていなければ定義しちゃって大丈夫そうです。
 現在は既に加藤さんにより、そのように修正されているみたいです。ありがと
うございます。


> それから,uim-ximの中で使われているstrsepなんですが,自前の
> 場合,util.hの中で「extern "C"」しないとuim-ximがリンクに失
> 敗します・・・.
> 
> が,これだけだとまだだめで,自前strsepの関数名を「uim_strsep」
> のように「uim」で始まる名前にしないとuim-xim からリンクでき
> ませんでした.
> 
> strsepやx_strsepみたいな「uim」で始まらない名前だと,libtool
> がmake時にごにょごにょやって,libuim.soで関数が外から見えな
> くなってしまうみたいです.
> (nmで見ると,strsep関数は「GLOB」でなく「LOCL」になっている)
> 
> #初めての経験したんですが,これって常識なんでしょうか・・・?

 自前strsepがuim-xim側で使えないのはまったく気づいてませんでした。申し
訳ないです。
 libuimはsiodを含んでいるので関数名の汚染がかなり激しく、昔Nautilusを
segvらせたりした事があった(正確にはNautilusがリンクしてるcdparanoiaかな
にかの関数名と被ってたような記憶があります)ので、LDFLAGSに
-export-symbols-regex uim.\* というオプションを渡すようにしています。御推
察の通り、これはlibtoolの機能です。
 Nautilusの話は確か2003年の夏頃だったと思うので、もう1年半ぐらい前ので
きごとですね。その頃既に4年だったのに、今もまだ大学生であると言う不思議。


-- 
徳永拓之
tkng****@xem*****
http://kodou.net/



Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る