けいじゅ@日本ラショナルソフトウェアです.

今日は一日外だったのでメイルにアクセスできなかった(;_;

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 <<---