From: Hidetoshi NAGAI Date: 2009-07-15T18:06:23+09:00 Subject: [ruby-dev:38793] Re: [Bug:trunk] Re: [ruby-cvs:31281] Ruby:r24063 (trunk): * ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries. 永井@知能.九工大です. From: "U.Nakamura" Subject: [ruby-dev:38792] Re: [Bug:trunk] Re: [ruby-cvs:31281] Ruby:r24063 (trunk): * ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries. Date: Wed, 15 Jul 2009 16:29:25 +0900 Message-ID: <20090715161904.17F1.C613B076@garbagecollect.jp> > 実は先に修正いただいた分では完全じゃありませんでした。 > とりあえず、$LIBPATHに実在しないパスを追加するのは勘弁してく > ださい、ということで。 これは,将来的に新しいバージョンの Tcl/Tk をインストールしたり, コンパイル済みのバイナリを他の環境に持っていったりした場合に備えて, 現在は存在しなくても将来的には「ありそうな」ディレクトリを 現況に基づく推測の下に追加しておくようにしたのですが, Windows 環境ではこれも余計なお世話だったでしょうか. 例えば Linux 環境において,最初は /usr/local/lib/{tcl,tk}8.6 に 基づいて tcltklib.so を構築していたのだけれども, その後に ActiveTcl を /opt/ActiveTcl-8.6 (以前は存在しなかった) に 新たにインストールしたなどというような状況を想定しています. 最優先は /usr/local/lib のままですが, 不要となったであろう /usr/local/lib/{tcl,tk}8.6 を消してしまえば tcltklib.so を make しなおしたり環境変数を特別に設定したりしなくても /opt/ActiveTcl-8.6 に新たにインストールしたものが そのまま使えるようにと考えてのことです. 現況調査で構築に要する時間が長くなるなどの make 上の問題はあっても, インストール後の実行上の問題はないだろうとの予測です. 私が Windows 環境をきちんとわかっていないというのが問題なのですが, mswin32 環境または Windows 環境一般では実行時に問題が生じるのでしょうか. それとも mswin32 環境での make において, 存在しないディレクトリが指定されていると コンパイルエラーで止まってしまうということでしょうか. # 質問ばかりですみません. > In message "[ruby-dev:38791] Re: [Bug:trunk] Re: [ruby-cvs:31281] Ruby:r24063 (trunk): * ext/tk/extconf.rb: New strategy for searching Tcl/Tk libraries." > on Jul.15,2009 14:31:35, wrote: > > 最悪,--with-tk-old-extconf オプションを付ければ > > 「これまで通り」になるにはなるわけですが, > > 「これまで通り」であれば,特別なオプション指定処理なし > > (せいぜいパス指定くらい) でも正しく make できていたのでしょうか? > > それは Windows 系のすべてのコンパイル環境 (mswin32 mingw, cygwin ?) で > > 同じでしょうか? > > 従来はmswin32+ActiveTclの組み合わせで、パスが指定されていれば > 普通にmakeできていました。 > mingwやcygwinはここ数年見てません... mswin32 の場合には TK_LIB_SPEC を使ってはダメということのようですが, TK_LIBS を使っている点はどうでしょうか. これも使うとダメになりますか? あ,もしかして TK_LIBS を加工しようとしていることがそもそもの間違いで, TK_LIBS の内容はそのまま LDFLAGS につなぐだけでいいのでしょうか. link.exe が受け取ることができるオプションを きちんと調べないといけないですね. -- 永井 秀利 (nagai@ai.kyutech.ac.jp) 九州工業大学 大学院情報工学研究院 知能情報工学研究系 知能情報メディア部門