小松です。

In the message of [ruby-dev:6669] on Apr 27 12:34:01
    Katsuyuki Komatsu <komatsu / sarion.co.jp> wrote:
> 動作チェックは今日か明日の夜にはできると思います。

もうすこしですね。

まず、minirubyの作成でひっかかりました。
minirubyの作成時には、ruby.impはまだできていないのです。

@XLDFLAGS@の追加は$(PROGRAM)の作成だけでいいのですが、他の
プラットフォームではminiruby$(binsuffix)にもいるんでしょうか?
そうすると、@XLDFLAGS@をminiruby$(binsuffix)用と$(PROGRAM)用に
分ける必要が出てきます。

% env CFLAGS=-O2 ./configure --with-readline-dir=/usr/local
    ……
% make
    ……
         gcc -O2 -I. -I. -I/usr/local/include  -Wl,-bE:ruby.imp main.o dmyext.o libruby.a -lm   -o miniruby
collect2: ld returned 255 exit status
ld: 0706-004 Cannot find or read export file: ruby.imp
        ld:accessx(): No such file or directory
make: The error code from the last command is 1.


Stop.
% 

後は、下のようになってしまうので、configure.inで-eInit_$(TARGET)は
-eInit_$(TARGET:.so=)にする必要があります。

% ruby extconf.rb
creating Makefile
% make
        /usr/ccs/bin/ld -eInit_uconv.so -bI:/usr/local/lib/ruby/1.3/rs6000-aix4.1.3.0/ruby.imp -bM:SRE -T512 -H512 -lc  -o uconv.so e2u.o ustring.o u2e.o uconv.o -lc 
ld: 0711-327 WARNING: Entry point not found: Init_uconv.so
ld: 0711-244 ERROR: No csects or exported symbols have been saved.
make: The error code from the last command is 8.


Stop.
% 

それから、よくみるとruby.impがインストールされてませんでした。
前のディレクトリの内容を消していなかったのでinstallされたもの
と思ってたらしい。

まとめて、以下のようなパッチにしてみましたが……
他のプラットフォームとのかねあいで@XLDFLAGS@の処理は変える必要が
あるかもしれません。

diff -u Makefile.in.dist Makefile.in
--- Makefile.in.dist	Tue Apr 27 11:56:25 1999
+++ Makefile.in	Tue Apr 27 21:12:03 1999
@@ -13,7 +13,7 @@
 
 prefix = @prefix@
 CFLAGS = @CFLAGS@ -I. -I@srcdir@ -I@includedir@
-LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@ @XLDFLAGS@
+LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@
 EXTLIBS = 
 LIBS = @LIBS@ $(EXTLIBS)
 MISSING = @LIBOBJS@ @ALLOCA@
@@ -89,7 +89,7 @@
 
 $(PROGRAM):     $(LIBRUBY) $(MAINOBJ) $(EXTOBJS) 
 		@rm -f $@
-		$(PURIFY) $(CC) $(LDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) -o $@
+		$(PURIFY) $(CC) $(LDFLAGS) @XLDFLAGS@ $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) -o $@
 
 $(LIBRUBY_A):	$(OBJS) dmyext.o
 		@AR@ rcu $@ $(OBJS) dmyext.o
diff -u configure.in.dist configure.in
--- configure.in.dist	Tue Apr 27 14:11:12 1999
+++ configure.in	Tue Apr 27 21:15:38 1999
@@ -450,7 +450,7 @@
 			rb_cv_dlopen=yes ;;
 	aix*)		LDSHARED='/usr/ccs/bin/ld'
 			XLDFLAGS='-Wl,-bE:ruby.imp'
-			DLDFLAGS='-eInit_$(TARGET) -bI:$(ruby_inc)/ruby.imp -bM:SRE -T512 -H512 -lc'
+			DLDFLAGS='-eInit_$(TARGET:.so=) -bI:$(ruby_inc)/ruby.imp -bM:SRE -T512 -H512 -lc'
 			rb_cv_dlopen=yes ;;
 
 	human*)		DLDFLAGS=''
diff -u instruby.rb.dist instruby.rb
--- instruby.rb.dist	Mon Apr 26 18:42:31 1999
+++ instruby.rb	Tue Apr 27 21:10:32 1999
@@ -60,7 +60,7 @@
   File.install f, dir, 0644, true
 end
 
-if PLATFORM =~ /ibm-aix/
+if PLATFORM =~ /-aix/
   File.install "ruby.imp", archdir, 0644, true
 end
 for f in Dir["*.h"]

--
小松克行 (株)サリオンシステムズリサーチ ソフトウェア開発部
Katsuyuki Komatsu <komatsu / sarion.co.jp>