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/>