The ruby previously compiled was on AIX 5.3.0.4. It compiled perfectly
and there were no errors and ran perfectly until I upgraded AIX from
maintenance level 4 to maintenance level 5. I tried to compile again
and this is the error I get when I run “make”. When I use the binaries
which I compiled on Maintenance level 4 the test scripts work and looks
like its working but when I run “ruby -v” it gives segmentation fault,
like the one given below when I tried compiling agin.
The ruby previously compiled was on AIX 5.3.0.4. It compiled perfectly
and there were no errors and ran perfectly until I upgraded AIX from
maintenance level 4 to maintenance level 5. I tried to compile again
and this is the error I get when I run “make”.
Try it again without -O2 in the CFLAGS, in case it’s an
optimiser issue. However if it’s really crashing inside
exit(), that seems less likely.
After upgraded to TL5, my ruby core dumped as well.
But this occurred only if the ruby was compiled by gcc. I mean, the
ruby compiled by using XL C Ver.8 did not core dumped.
The stack trace in my environment is like this: #I omitted some dbx error…
(dbx) t
raise.raise(??) at 0xd0313754
abort.abort() at 0xd0342cb0
rb_bug(fmt = “Segmentation fault”), line 214 in “error.c”
sigsegv(sig = 11), line 537 in “signal.c”
__modinit.find_rtinit(??, ??, ??) at 0xd032af10
__modinit.__modfini() at 0xd032afa0
cuexit.exit(??) at 0xd032005c
proc_options(argc = 0, argv = 0x2ff22c30), line 776 in “ruby.c”
ruby_process_options(argc = 2, argv = 0x2ff22c28), line 1194 in “ruby.c”
ruby_options(argc = 2, argv = 0x2ff22c28), line 1521 in “eval.c”
main(argc = 2, argv = 0x2ff22c28, envp = 0x2ff22c34), line 45 in
“main.c”
It seemed that my ruby core dumped after calling exit().
This might be AIX issue, I guess.
Unlike your case, I was able to compile the ruby again after upgraded
to TL5 (actually, TL5 + SP1), and it did not core dumped.
I’m using gcc 3.4.6 which I compiled using XL C, when the AIX was TL4.
Which version of gcc are you using? Where/How did you get it?
If you have XL C, it would be worth trying.