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

[debian-users:05887] Re: ndtpd2.0のスクリプトとbash2.02



In <19980514041112T.nagai@xxxxxxxxxxxx>
[debian-users:05877] Re: ndtpd2.0のスクリプトとbash2.02, May.14 '98 04:11 JST
nagai@xxxxxxxxxxxx says:
=     Ken N.さんのおっしゃる通りでした。unset CDPATH したら、見事に
=   コンパイルが成功しました。
=   
=     やはりCDPATHの機能を殺すときになにか失敗しているのでしょうか?
=   bashのニュースに上がっていないようなら、取り敢えずbug報告を送って
=   みようかと思います。でもndtpdコンパイル以外での再現方法がわから
=   ないので、なんと説明すればいいんだろう?(いろいろ再現方法を探した
=   のですが、さっぱりでした)

要点としては、
o   shとして起動された時の話である。つまり、POSIX2コンプライアント
    であるのかどうかの確認
o   non-interactiveなshでCDPATHの機能はそもそも有用なのか
o   cdの引数に指定されたディレクトリがカレントディレクトリに存在
    しているにもかかわらず、CDPATHの方が優先されるのは正しい動作
    なのか

といったところですね。Mr.Chet RameyはちゃんとPOSIX2見ながらbash
作ってるので、このあたりは明確に回答してくれると思います。

2.02がDebian本家でPackagingされているのなら、DebianのBug Tracking
systemに投げてそちらで問題の切り分けをしてもらうべきでしょうが、
今回は御自分でコンパイルされたそうですから、やはりbashbugでしょう。
報告の内容は、大元のご質問記事の末尾に既にながいさん御自身が現象を
まとめられていますので、それをがんばって英訳してしてください;-)


In <19980514033150L.nagai@xxxxxxxxxxxx>
[debian-users:05876] Re: ndtpd2.0 のスクリプトと bash2.02, May.14 '98 03:31 JST
nagai@xxxxxxxxxxxx says:
=   kenn> ちょっと不気味ですね。ldd /bin/bash の出力はどんな感じですか。
=   kenn> libreadline と libhistory をstatic にlinkしてるような気がしま
=   kenn> すが...
=   
=     面目ない、おっしゃる通りです。よくみてconfigureすべきでした。
=   
=   > {nagai@cygnus}$ ldd /bin/bash.2.02
=   >         libncurses.so.3.0 => /lib/libncurses.so.3.0
=   >         libdl.so.1 => /lib/libdl.so.1
=   >         libc.so.5 => /lib/libc.so.5
=   
=     はうう、実はreadlineには 横田 義徳 さんの日本語パッチを
=   あてたいと思っているんです。その場合、readlineをsharedとして
=   使用するなら、システムのreadlineライブラリを入れ替えないと
=   いけないってことになるんですよね?ほかのプログラムでreadlineを
=   使っているものって、山のようにありそう・・・ちょっと不安。
=   
=   しばらくは大きいままで我慢しようかな。

うん、そのほうがいいかもしれません。

私のbo boxはせいぜい200程度のpackageしか入っていない質素な
ものですが、ちょっと気になって調べて見ました。

find /usr/bin -type f -print -exec ldd {} \; 2>/dev/null | egrep '^/usr/bin|readl' 

結果としては、/usr/bin/ftp, /usr/bin/pftp, /usr/bin/ncftp, そして
わすれちゃいけない /usr/bin/gdb がreadlineを使っています。たぶん
libhistoryも使っているでしょう。特にgdbに対する影響が懸念されます
から、私も躊躇すると思います。

どうしても、というのなら、/usr/local/libにでもいれておいて、毎回
LD_LIBRARY_PATHを指定して、といった方法もなくはないですけど。


 -.- . -. -.
Ken Nakagaki <kenn@xxxxxxxxxxxxxxxxx>
「人は船ではない。人は会社ではない」-- Gerry Spence