Redminee$B4IM}MQ%W%m%8%'%/%H$KJs9p$5$l$F$7$^$C$?$N$GE>Aw$7$^$9!#e(B
---------- e$BE>Aw%a%C%;!<%8e(B ----------
From: Joel S. [email protected]
e$BF|IUe(B: 2009/08/09 7:55
e$B7oL>e(B: [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: [email protected]
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
e$B5/I<<Te(B: Joel S.
e$B%9%F!<%?%9e(B: Open, e$BM%@hEYe(B: 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.
–
archive-> http://qwik.jp/redmine4ruby-lang/145.html
ML-> [email protected]