[#7878] libwww-ruby — TAKAHASHI Masayoshi <maki@...>

高橋です。ごぶさたしています。

31 messages 1998/05/13
[#7881] RE: libwww-ruby — OZAWA Sakuro <crouton@...> 1998/05/13

さく%札幌出張@塩尻です.

[#7882] Re: libwww-ruby — matz@... (Yukihiro Matsumoto) 1998/05/14

まつもと ゆきひろです

[#7884] Re: libwww-ruby — Eiji-usagi-MATSUmoto <ematsu@...> 1998/05/14

うさぎです

[#7885] Re: libwww-ruby — matz@... (Yukihiro Matsumoto) 1998/05/14

まつもと ゆきひろです

[#7886] Re: libwww-ruby — Eiji-usagi-MATSUmoto <ematsu@...> 1998/05/14

うさぎです

[#7888] Re: libwww-ruby — Mitsuru Ogino <ogino@...> 1998/05/14

ちょっとした疑問ですが。

[#7904] Re: filename (Re: libwww-ruby) — 助田 雅紀 <masaki.suketa@...>

助田です。

19 messages 1998/05/15
[#7908] Re: filename (Re: libwww-ruby) — ttate@... 1998/05/15

立石@JAISTです。

[#7909] Ruby Application Archive (Re: Re: filename (Re: libwww-ruby)) — matz@... (Yukihiro Matsumoto) 1998/05/15

まつもと ゆきひろです

[#7912] Re: filename (Re: libwww-ruby) — Makoto Nukui <gnue@...>

ども、GNUE(鵺)です。

16 messages 1998/05/15
[#7926] Re: filename (Re: libwww-ruby) — TAKAHASHI Masayoshi <maki@...> 1998/05/15

高橋です。

[#7965] links from ruby home page — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

28 messages 1998/05/18
[#7966] Re: links from ruby home page — WATANABE Tetsuya <tetsu@...> 1998/05/18

>>>>> "matz" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:

[#7967] Re: links from ruby home page — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#7968] Re: links from ruby home page — WATANABE Tetsuya <tetsu@...> 1998/05/18

>>>>> "matz" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:

[#7969] Re: links from ruby home page — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#7974] Re: links from ruby home page — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#7979] dbm — Kazuhiro HIWADA <hiwada@...> 1998/05/18

ひわだといいます。こんにちは。

[#7990] Re: dbm — matz@... (Yukihiro Matsumoto) 1998/05/19

まつもと ゆきひろです

[#8002] Dir.open order — Kikutani Makoto <kikutani@...>

きくたに@マサチューセッツです。

13 messages 1998/05/19

[#8099] cathedral v.s. bazaar — Kikutani Makoto <kikutani@...>

debian-usersで話題になってる

23 messages 1998/05/27
[#8103] Re: cathedral v.s. bazaar — TAKAHASHI Masayoshi <maki@...> 1998/05/28

高橋です。

[#8104] Re: cathedral v.s. bazaar — WATANABE Tetsuya <tetsu@...> 1998/05/28

>>>>> "T" == TAKAHASHI Masayoshi <maki@inac.co.jp> writes:

[#8106] Re: cathedral v.s. bazaar — ttate@... 1998/05/28

立石@JAISTです。

[ruby-list:7814] Re: library for Tcl/Tk ext-package

From: NAGAI Hidetoshi <nagai@...>
Date: 1998-05-01 01:09:07 UTC
List: ruby-list #7814
永井@知能.九工大です.

>>>>> "N" == Noritsugu Nakamura <nnakamur@mxq.meshnet.or.jp> writes:
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] 使っているのですが。

確認しました.
[incr tcl] は通常の wish などから load して利用するというのは
できないようですね (少なくとも Tcl7.6/Tk4.0 では).
ですから,segmentation fault した例のような方法ではダメで,
最初から導入したバイナリを作らなければいけないということなります.

ruby から itcl を使いたい場合は,
ruby のソースツリーの ext/tcltklib/extconf.rb に手を入れて,まず,

・tcl.h の search_header で itcl の tcl.h を見付けるように設定
・tk.h の search_header で itcl の tk.h を見付けるように設定

itcl のインストール状況によりますが,これらはこんな感じでしょうか?
--------------------------------------------------------------
search_header("tcl.h", "/usr/local/include/itcl*")
search_header("tk.h", "/usr/local/include/itcl*")
--------------------------------------------------------------
さらに,

・libtcl の search_lib で itcl の lib を見付けるように設定
・libtk の search_lib で itcl の lib を見付けるように設定

同じく itcl のインストール状況によりますが,
--------------------------------------------------------------
if have_header("tcl.h") && have_header("tk.h") &&
    search_lib("libX11.{a,so}", "XOpenDisplay",
	       "/usr/lib", "/usr/openwin/lib", "/usr/X11*/lib") &&
    search_lib("libtcl{,7*,8*}.{a,so}", "Tcl_FindExecutable",
	       "/usr/lib", "/usr/local/lib") &&
    search_lib("libtk{,4*,8*}.{a,so}", "Tk_Init",
	       "/usr/lib", "/usr/local/lib")
  $LDFLAGS = $libraries.collect{|path| "-L" + path}.join(" ")
  create_makefile("tcltklib")
end
--------------------------------------------------------------
の
--------------------------------------------------------------
    search_lib("libtcl{,7*,8*}.{a,so}", "Tcl_FindExecutable",
	       "/usr/lib", "/usr/local/lib") &&
    search_lib("libtk{,4*,8*}.{a,so}", "Tk_Init",
	       "/usr/lib", "/usr/local/lib")
--------------------------------------------------------------
の部分を
--------------------------------------------------------------
    search_lib("libtcl{,7*,8*}i.{a,so}", "Tcl_FindExecutable",
	       "/usr/lib", "/usr/local/lib") &&
    search_lib("libtk{,4*,8*}i.{a,so}", "Tk_Init",
	       "/usr/lib", "/usr/local/lib")
--------------------------------------------------------------
という感じでしょうか?

# 'i' を追加して,libtcl7.6jpi.so や libtk4.2jpi.so を見付けるようにする.
                             ^                 ^
多分,これで itcl を ruby から使えるはずです.
こちらで簡単にテストしてみた限りでは,
この ruby + (tcl/tk + [incr tcl]) において,
setup_libs による Blt の load も含め,
うまくいっているように見えます.

なお,試してはいませんが,Extended Tcl の場合も
setup_libs では導入できないだろうと思います.
多分,tcltklib.c の中で Tcl_Init , Tk_Init を呼び出している所で
それぞれ TclX_Init , TkX_Init を呼び出すようにするだけで
導入できるのではないかと思います.

-- 
                                         永井 秀利 (九工大 知能情報)
                                             nagai@ai.kyutech.ac.jp

In This Thread