永井@知能.九工大です. >>>>> "N" == Noritsugu Nakamura <nnakamur / mxq.meshnet.or.jp> writes: >> ip.setup_libs( >> [nil, 'libitcl2.2jp.so', [ itcl-tcl 用 Tcl ライブラリのパス ]], >> ['Itcl', 'libitk2.2jp.so', [ itcl-tk 用 Tcl ライブラリのパス ]] >> ) >> というような感じで指定することになります. N> なるほど、ありがとうございます。全然意味 N> 分からないでやろうとしているので (^^; ドキュメントがないですからねぇ...(^_^; N> ip.setup_libs( N> [nil, '/usr/local/lib/itcl/libtcl7.6jpi.so', ['/usr/local/lib/itcl/tcl7.6jp']], N> [nil, '/usr/local/lib/itcl/libtk4.2jpi.so', ['/usr/local/lib/itcl/tk4.2jp']], N> [nil, '/usr/local/lib/itcl/libitcl2.2jp.so', ['/usr/local/lib/itcl/itcl2.2jp']], N> ['Itcl', '/usr/local/lib/itcl/libitk2.2jp.so', ['/usr/local/lib/itcl/itk2.2jp']]) N> とかやったら、 N> ./tcltkextlib.rb:40: [BUG] Segmentation fault N> Abort N> とかでてしまいました。ruby 本体の問題か? N> ruby 1.1b9_16(98/04/28) [i586-linux] 使っているのですが。 まずは確認ですが,libtcl7.6jpi.so などの 配列の第 1 要素が nil のライブラリは, たとえば wish から load libtcl7.6jpi.so などと パッケージ名を指定しなくてもロードできるもので, かつ,上記の順にロードしても問題は生じないのですよね? もし別のロード手順が必要であれば,どのような手順になるのかを ぜひ教えてください. tcltkextlib.rb の 40 行目ってことは tcltklib の _eval を呼び出してる部分ですね. ruby 1.1b9_15 から 16 で _eval が少し書き換えられていることによる 影響とも考えられなくはないのですが,明確には特定できません. お手数ですが,もしよろしければ tcltkextlib.rb の 40 行目直前に p arg ; STDOUT.flush とでも入れて,どういう引数の時に発生したかを 教えていただけると幸いです. -- 永井 秀利 (九工大 知能情報) nagai / ai.kyutech.ac.jp