Redmine管理用プロジェクトに報告されてしまったので転送します。


---------- 転送メッセージ ----------
From: Joel Soete <redmine / ruby-lang.org>
日付: 2009/08/09 7:55
件名: [redmine4ruby-lang:253] [Bug #1914] ruby-1.9.1-p243 failed to
build from source on aix 5.3 with gcc 4.2.0
To: redmine4ruby-lang / qwik.jp


Bug #1914: ruby-1.9.1-p243 failed to build from source on aix 5.3 with gcc 4.2.0
http://redmine.ruby-lang.org/issues/show/1914

起票者: Joel Soete
ステータス: Open, 優先度: Normal

Hello all,

I very fall in love of ruby programming language when I discover it
some years ago (iirc it was release 1.6) and when in a few days, even
thought I am not a programmer, I was able to rewrite in ruby a ksh
script of mine about 10 time faster ;<)

Today I would like to use it on the platform Aix which I am now in
charge to manage as system engineer.

I reach to compile release 1.8.7-p160 and later but without kernel
pthread support, also would I like to test 1.9 if it better support
those native pthread.

Unfortunately, it failed to build with this first issue:
/opt/freeware/bin/gcc -fno-strict-aliasing -gxcoff -fsigned-char
-D_LINUX_SOURCE_COMPAT -D_REENTRANT -O2 -g -Wall -Wno-parentheses
 -I. -I.ext/include/powerpc-aix5
.3.0.0 -I./include -I.  -DRUBY_EXPORT -D_LINUX_SOURCE_COMPAT   -o
dmyext.o -c dmyext.c
/opt/freeware/bin/gcc -fno-strict-aliasing -gxcoff -fsigned-char
-D_LINUX_SOURCE_COMPAT -D_REENTRANT -O2 -g -Wall -Wno-parentheses
 -I. -I.ext/include/powerpc-aix5
.3.0.0 -I./include -I.  -DRUBY_EXPORT -D_LINUX_SOURCE_COMPAT   -o
encoding.o -c encoding.c
make: Circular prelude.c <- .rbconfig.time dependency dropped.
make: Circular prelude.c <- miniruby dependency dropped.
./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb  -I.
-rrbconfig ./tool/compile_prelude.rb ./prelude.rb ./enc/prelude.rb .
/gem_prelude.rb prelude.c
make: ./miniruby: Command not found
make: *** [prelude.c] Error 127

With Google I read this thread:
<http://www.ruby-forum.com/topic/135197>
well the patch aix.diff it contains and apply:

diff -Naur ruby-1.9.1-p243.orig/common.mk ruby-1.9.1-p243/common.mk
--- ruby-1.9.1-p243.orig/common.mk      2009-05-04 12:31:23.000000000 +0000
+++ ruby-1.9.1-p243/common.mk   2009-08-07 13:04:27.000000000 +0000
@@ -160,8 +160,8 @@
       @$(RM) $@
       $(PURIFY) $(CC) $(MAINOBJ) $(DLDOBJS) $(EXTOBJS) $(LIBRUBY_A)
$(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)$@ $(LDFLAGS) $(XLDF
LAGS)

-ruby.imp: $(OBJS)
-       @$(NM) -Pgp $(OBJS) | awk 'BEGIN{print "#!"};
$$2~/^[BD]$$/{print $$1}' | sort -u -o $@
+ruby.imp: $(COMMONOBJS)
+       @$(NM) -Pgp $(COMMONOBJS) | awk 'BEGIN{print "#!"};
$$2~/^[BD]$$/{print $$1}' | sort -u -o $@

 install: install-nodoc $(RDOCTARGET)
 install-all: install-nodoc install-doc

which help me to go a bit ahead but finaly failed as follow:

make[1]: Entering directory `/lppdir/stage/ruby1.9/ruby-1.9.1-p243/ext/dl'
/opt/freeware/bin/gcc -I. -I../../.ext/include/powerpc-aix5.3.0.0
-I../.././include -I../.././ext/dl -DRUBY_EXTCONF_H=\"extconf.h\"
 -D_LINUX_SOURCE_COMPAT -D_LARGE_FILES=1  -fno-strict-aliasing -gxcoff
-fsigned-char -D_LINUX_SOURCE_COMPAT -D_REENTRANT -O2 -g -Wa
ll -Wno-parentheses  -fno-defer-pop -fno-omit-frame-pointer  -o
cfunc.o -c cfunc.c
generating callback.h
/lppdir/stage/ruby1.9/ruby-1.9.1-p243/.ext/powerpc-aix5.3.0.0/enc/encdb.so:
[BUG] Segmentation fault
ruby 1.9.1p243 (2009-07-16 revision 24175) [powerpc-aix5.3.0.0]

-- control frame ----------
c:0003 p:-134605378 s:0006 b:0006 l:000005 d:000005 TOP
c:0002 p:-134599490 s:0004 b:0004 l:000003 d:000003 TOP
c:0001 p:0000 s:0002 b:0002 l:00265c d:00265c TOP
---------------------------
-- Ruby level backtrace information-----------------------------------------

[NOTE]
You may encounter a bug of Ruby interpreter. Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

make[1]: *** [callback.h] IOT/Abort trap (core dumped)
make[1]: Leaving directory `/lppdir/stage/ruby1.9/ruby-1.9.1-p243/ext/dl'
make: *** [mkmain.sh] Error 1

Well I also read this thread related also related to 1.9 but with xlC compiler:
<http://www.ruby-forum.com/topic/180444>

but as I am not a programmer, I am not familiar with any gdb or dbx
and I doesn't understand how Graham reach to compile ruby1.9.

That said, I noticed another error in the make step:
/opt/freeware/bin/gcc -shared -Wl,-G -Wl,-bnoentry -Wl,-bE:ruby.imp
-Wl,-brtl -Wl,-blibpath:/opt/mce-pware/lib:/usr/lib:/lib   dln.
o encoding.o prelude.o array.o bi
gnum.o class.o compar.o complex.o dir.o enum.o enumerator.o error.o
eval.o load.o proc.o file.o gc.o hash.o inits.o io.o marshal.o
math.o numeric.o object.o pack.o
parse.o process.o random.o range.o rational.o re.o regcomp.o regenc.o
regerror.o regexec.o regparse.o regsyntax.o ruby.o safe.o sig
nal.o sprintf.o st.o strftime.o s
tring.o struct.o time.o transcode.o util.o variable.o version.o
compile.o debug.o iseq.o vm.o vm_dump.o thread.o cont.o ascii.o us_
ascii.o unicode.o utf_8.o newline
.o flock.o strlcpy.o strlcat.o  dmyext.o -lm -lc -o libruby.so.1.9.1
/usr/bin/w64: Not a recognized flag: L
Usage: /usr/bin/w64 [ -hlsuwX ] [ user ]
make: [libruby.so.1.9.1] Error 1 (ignored)

I was worry why 'w' was used here and see that it comes from Makefile:
Makefile
$(LIBRUBY_SO):
               @-$(PRE_LIBRUBY_UPDATE)
               $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(OUTFLAG)$@
               -$(OBJCOPY) -w -L 'Init_*' $@
               @-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link if
File.exist? link; \
                                                 File.symlink
"$(LIBRUBY_SO)", link}' \
                               $(LIBRUBY_ALIASES) || true

but I didn't install binutils (I read somewhere it wasn't recommended) so:

SET_LC_MESSAGES = env LC_MESSAGES=C
OBJDUMP       =
OBJCOPY       =
VCS           = echo cannot
VCSUP         = $(VCS)

But this error is 'ignored' so may be not related to the previous
"[BUG] Segmentation fault" above, though?

That said, all comments, advise will be welcome.

Thanks in advance,
  J.


----------------------------------------
http://redmine.ruby-lang.org

--
archive-> http://qwik.jp/redmine4ruby-lang/145.html
ML-> redmine4ruby-lang / qwik.jp



-- 
Yugui
yugui.ps / gmail.com
http://yugui.jp