[Freewnn-users 134] Re: チケット #24189 libutilはuumだけにリンクするように設定するの件

Back to archive index

1xx itsan****@gmail*****
2013年 8月 2日 (金) 22:45:27 JST


2013年8月2日 8:15 1xx <itsan****@gmail*****>:
> 2013年8月2日 7:06 1xx <itsan****@gmail*****>:
>> 2013年8月2日 4:31 Tomoki AONO <aono****@cc*****>:
>>>
>>> 現在のコードでは、ptsname(3)が存在する場合はopenpty(3)は使わずに
>>> posix_openpt(3)、または(古めのSolarisの場合)/dev/ptmxを開いて
>>> 疑似端末を確保します。この場合、追加で必要なライブラリはありません。
>>> (openptyしかない環境ではバイナリにsetuidが必要な場合があるため、
>>> このような判定順序になってます。)
>>>
>>> 繰り返しになり恐縮ですが、libutilが必要なのはptsnameが存在せず
>>> openptyが存在する環境のみとなります。その辺りをうまくconfigureで
>>> 記述できればもっとよいコードになると考えてます。

>
> 殆ど検証していないコードなので、いまcommitするのはまずいと思うのですが、
> こんなのはどうでしょうか?

出発前に大慌てで作ったパッチで、ロクに検証も出来ていなかったのですが、
少なくともopenSUSE 13.1 Milestone 3ではきちんとリンク、
動作するようです。

> ldd ./Wnn/jserver/jserver
        linux-vdso.so.1 (0x00007fffee1fe000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f36d8f69000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f36d8bb8000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f36d91a5000)

> ldd ./Wnn/uum/.libs/uum
        linux-vdso.so.1 (0x00007fffb7bfe000)
        libwnn.so.0 => /usr/local/lib64/libwnn.so.0 (0x00007f5bd85a2000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f5bd8366000)
        libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f5bd813f000)
        libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f5bd7f0b000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f5bd7b5a000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f5bd7956000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f5bd87fc000)

> ps -ef | egrep jserver
wnn      11358     1  0 21:35 ?        00:00:00 /usr/local/bin/Wnn4/jserver

> ps -ef | egrep jserver
wnn      11358     1  0 21:35 ?        00:00:00 /usr/local/bin/Wnn4/jserver

uumも動作しています。

出来れば他の方も、以下の手順で、buildと動作の確認をお願いいたします。
1) 現行の最新の開発中のコードを
http://freewnn.sourceforge.jp/
に従いdownloadする。

$cvs -d:pserver:anony****@cvs*****:/cvsroot/freewnn login
(パスワードは不要)
$cvs -z3 -d:pserver:anony****@cvs*****:/cvsroot/freewnn co FreeWnn

2) configure.in にpatchを当てる。

$ patch -b -p1 <configure.in.diff

3) autoreconf でconfigureを作り直す。

$ autoreconf

4)  ./configure --enable-client でMakefileを作る。

$ ./configure --enable-client

5) make でbuildする。

$ make

6) ldd で必要な共有オブジェクトがlinkされているか、
余分なlibutil.soがlinkされていないか確認する。

上記参照。

7) jserverが動作するか確認する。

8) uum が動作するか確認する。


特に、
>>> 繰り返しになり恐縮ですが、libutilが必要なのはptsnameが存在せず
>>> openptyが存在する環境のみとなります。その辺りをうまくconfigureで
この条件にあてはまる方のtestをお願いいたします。

-- 
1xx <ItSAN****@gmail*****> <https://twitter.com/ItSANgo>
 <http://d.hatena.ne.jp/Itisango/>




freewnn-users メーリングリストの案内
Back to archive index