[#5] subscribe — gougi@...3test3.nagoya.caelum.co.jp (Shigeru Gougi)
ごうぎ@TCIです。
1 message
1995/12/21
[#24] Re: can't make clean — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろ@トヨタケーラムです.
1 message
1995/12/27
[#39] Re: can't make clean — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろ@トヨタケーラムです.
1 message
1995/12/27
[#40] Re: can't make clean — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろ@トヨタケーラムです.
1 message
1995/12/27
[ruby-list:23] ruby install on Solaris 2.4
From:
Tetsunori Matsubara - Nihon Sun IR <Tetsunori.Matsubara@...>
Date:
1995-12-25 07:43:06 UTC
List:
ruby-list #23
松原@日本サンです。
今日 ruby をインストールして見ました。当初 fj.sources で配布されたものをコ
ンパイルしたのですが、make test で core dump してしまいました。
そこで ruby-0.95-0.95b-diff を ftp してきて、patch を当てたところ、問題無
く make test は通りました。しかし、それからもいろいろ問題が起きましたので、
起きた現象と私のとった対処方法を以下にまとめます。今後のリリースの参考にな
れば幸いです。
以下は Solaris2.4 でのコンパイル結果を元にしています。他のシステムには当て
はまらないかも知れません。
1. ext/*/*.so が インストールされない。
make install の際に .././install-sh というコマンドが呼ばれていたが、実
際のコマンドは ../../install-sh に存在していたため、エラーとなった。
→ ext/ ディレクトリに ../install-sh に対するシンボリックリンクを張って
対処。本来は install script を修正すべきところかと思います。
2. ext/tkutil/tkutil.so が作成されない。
ext/Setup に tkutil を指定していたが、なぜかコンパイルされない。他のモ
ジュールはコンパイルされていた。
→ コンパイル時に PATH に wish が存在していないと、省略される事に気付く。
which wish で wish を見えるように設定して対処。
3. lib/*.rb が base64.rb のみインストールされる。
make install 時に lib/*.rb が /usr/local/lib/ruby にインストールされる
が、なぜか base64.rb しかインストールされない。install-sh のバグ?
→ Makefile を直接修正して、/usr/ucb/install を使用するように変更。
4. sample/dbm.rb が core dump する。
make test が成功した ruby で、sample/ ディレクトリの dbm.rb を実行させ
ると core dump してしまう。debugger で追いかけたりした結果、dlopen が実
行されていない事に気付く。config.log に
Undefined first referenced
symbol in file
dlopen conftest.o (/usr/lib/libdl.so.1?)
ld: fatal: Symbol referencing errors. No output written to conftest
というエラーが出ていたので、どうも configure が dynamic load 無しと判断
しているらしい。
→ configure はよくわからないので、defines.h に
#define USE_DLN_DLOPEN
を追加して再コンパイルしたところ、無事共有ライブラリをロードした。
5. socket.so のコンパイルオプションに -lnsl が抜けている。
0.95b パッチを当てた直後の socket/extconf.rb は、
have_library("inet", "gethostbyname")
have_library("nls", "gethostbyname")
have_library("nls", "gethostbyname")
have_library("socket", "socket")
have_header("sys/un.h")
if have_func("socket")
create_makefile("socket")
end
となっているが、これは、
have_library("nsl", "gethostbyname")
have_library("socket", "socket")
have_header("sys/un.h")
if have_func("socket")
create_makefile("socket")
end
であるべき。上記のように変更後、再コンパイルして clnt.rb/svr.rb が動作
する事を確認しました。
6. Tk が動かない。(未解決)
sample/tkhello.rb を起動しても何も表示されない。ps でプロセスを見てみる
と wish -n /dev/null というプロセスがあるので、何かをしようとしていると
は思うのですが、何か足りないんでしょうか?皆様のところでは Tk うまく動
いていますか?
とりあえず Tk 以外の機能は動くようになりました。これから時間を見つけていろ
いろ試して見ようと思います。ゆくゆくは oraperl みたいな RDBMS の ext を作
れたら楽しそうだなとか、考えています。
−
松原 哲範
teppan@sun.co.jp
Nihon Sun Microsystems K.K. - Information Resources