けいじゅ@日本ラショナルソフトウェアです. 今日は一日外だったのでメイルにアクセスできなかった(;_; In [ruby-list :04803 ] the message: "[ruby-list:4803] Re: rbc.rb ", on Oct/06 11:49(JST) matz / netlab.co.jp (Yukihiro Matsumoto) writes: >まつもと ゆきひろです > >|となってしまいます. たぶん, libreadline.a, libhistory.a が rubyで動的 >|にリンクできないためだと思うんですが... > >readline.soを作った時の状況が分からないとなんともいえません >ね.ext/readline/Makefileとか見せてもらえるとヒントになるか >もしれませんが. ん? readline.so が必要なんですか? でも, ext/readline のほうはリンクで きていて, libreadline.a がリンクできていないようなんですが?? そうすると, もしかして, gnu readlineのほうも libreadline.a ではだめで libreadline.so がひつよう? 知っているとは思いますが, OSは, Linux 1.2.13 です. ext/readline/Makefileを最後に一応添付しておきます. >|あと1つ気になったのが, 上記の様に終了してして例外が発生しないのですが >|これはしょうがないものなんでしょうか? >これはa.out形式のダイナミックローダで,リンクできなかった関 >数を呼び出した時の挙動です.rubyは未定義の関数が残っている時 >にはLoadErrorを出すはずなんですけど…. なっていないみたいですねえ... ext/readline.oはリンクできたけども, gun readline.a がリンクできていな いことと苅らんでいるのかも? --- ext/readline/Makefile SHELL = /bin/sh #### Start of system configuration section. #### srcdir = /home/keiju/var/src/unix.src/ruby/ruby-1.1a8/ext/readline CC = gcc CFLAGS = -I/home/keiju/var/src/unix.src/ruby/ruby-1.1a8 -g -O2 -DHAVE_READLINE_READLINE_H -DHAVE_READLINE_HISTORY_H -DEXTLIB='"libreadline.a","libtermcap.a"' DLDFLAGS = LDSHARED = prefix = /usr/local/app/ruby-1.1a8 exec_prefix = ${prefix} libdir = ${exec_prefix}/lib/ruby/i486-linux-a.out #### End of system configuration section. #### LIBS = -lreadline -ltermcap OBJS = /home/keiju/var/src/unix.src/ruby/ruby-1.1a8/ext/readline/readline.o TARGET = readline.o INSTALL = /usr/bin/ginstall -c binsuffix = all: $(TARGET) clean:; @rm -f *.o *.so *.sl @rm -f Makefile extconf.h conftest.* @rm -f core ruby$(binsuffix) *~ realclean: clean install:; ### readline.o: readline.c ../../ruby.h ../../config.h ../../defines.h __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju / bc.mbn.or.jp <<---