Hello,
I’m trying to get build ruby 1.8.6 on AIX 5.3L but am having problems
(the same happens with 1.8.6p111 or cvs-stable-snapshot)
I’ve search the ML archives, tried what is explained in:
http://homepage.mac.com/cjgibbons/rubyonaixhowto/t1.html
it is still crashing…
make: *** [.rbconfig.time] Segmentation fault (core dumped)
I configure with:
-bash-2.05b$ ./configure --with-openssl-dir=/opt/freeware
–with-zlib-dir=/opt/freeware --with-readline-dir=/opt/freeware
–prefix=/home/build/bin/ruby --disable-ipv6
I tried variations of the above, for example, with only --prefix
I tried to include as much info as I could imagine being useful, sorry
if
this is too much, please ask for more…
Tell me if I’m doing something wrong.
I had no problem getting the same version built for Solaris 9,
HPUX 11.23 and linux…
the backtrace was always in ruby_options, called from main, see below…
I got miniruby’s command line options with “make -n”
but the same segfault (same line) happen without command line params…
====================================================
compiled with -g3 -O1
-bash-2.05b$ gdb miniruby
GNU gdb 5.0-aix43-010414
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type “show copying” to see the conditions.
There is absolutely no warranty for GDB. Type “show warranty” for
details.
This GDB was configured as “–host=powerpc-ibm-aix4.3.3.0
–target=powerpc-ibm-aix5.1.0.0”…
(gdb) run ./mkconfig.rb -timestamp=.rbconfig.time -install_name=ruby
-so_name=ruby rbconfig.rb
Starting program: /home/build/bin/ruby/ruby-1.8.6/miniruby ./mkconfig.rb
-timestamp=.rbconfig.time -install_name=ruby -so_name=ruby rbconfig.rb
Program received signal SIGSEGV, Segmentation fault.
0x1002d194 in ruby_options (argc=6, argv=0x2ff226a0) at eval.c:1518
1518 PUSH_TAG(PROT_NONE);
(gdb) bt
#0 0x1002d194 in ruby_options (argc=6, argv=0x2ff226a0) at eval.c:1518
#1 0x10000394 in main (argc=6, argv=0x2ff226a0, envp=0x2ff22ffc) at
main.c:47
#2 0x100001dc in __start ()
(gdb) l
1513 char *argv;
1514 {
1515 int state;
1516
1517 Init_stack((void)&state);
1518 PUSH_TAG(PROT_NONE);
1519 if ((state = EXEC_TAG()) == 0) {
1520 ruby_process_options(argc, argv);
1521 }
1522 else {
(gdb) info registers
r0 0x0 0
r1 0x2ff22510 804398352
r2 0x2000f0e0 536932576
r3 0x2ff2254c 804398412
r4 0x2ff2270c 804398860
r5 0x2ff22ffc 804401148
r6 0xd0b2 53426
r7 0x0 0
r8 0x60050014 1610940436
r9 0x20009d94 536911252
r10 0xf0e568dc -253400868
r11 0x100b65a4 269182372
r12 0x10001684 268441220
r13 0xdeadbeef -559038737
r14 0x1 1
r15 0x2ff2270c 804398860
r16 0x2ff22714 804398868
r17 0x0 0
r18 0xdeadbeef -559038737
r19 0xdeadbeef -559038737
r20 0xdeadbeef -559038737
r21 0xdeadbeef -559038737
r22 0xdeadbeef -559038737
r23 0xdeadbeef -559038737
r24 0xdeadbeef -559038737
r25 0xdeadbeef -559038737
r26 0xdeadbeef -559038737
r27 0xdeadbeef -559038737
r28 0x2ff2270c 804398860
r29 0x1 1
r30 0x3 3
r31 0x20000b1c 536873756
pc 0x1002d194 268620180
ps 0xd0b2 53426
cr 0x22282428 573056040
lr 0x1002d144 268620100
ctr 0x0 0
xer 0x0 0
compiled with -g3 -O2
Program received signal SIGSEGV, Segmentation fault.
ruby_process_options (argc=1, argv=0x2ff22704) at ruby.c:1210
1210 origargc = argc; origargv = argv;
(gdb) bt
#0 ruby_process_options (argc=1, argv=0x2ff22704) at ruby.c:1210
#1 0x100316f8 in ruby_options (argc=0, argv=0x2ff22660) at eval.c:1525
#2 0x100316f8 in ruby_options (argc=1, argv=0x2ff22704) at eval.c:1525
#3 0x10000394 in main (argc=0, argv=0x0, envp=0x0) at main.c:47
#4 0x100001dc in __start ()
(gdb) l
1205 void
1206 ruby_process_options(argc, argv)
1207 int argc;
1208 char *argv;
1209 {
1210 origargc = argc; origargv = argv;
1211
1212 ruby_script(argv[0]); / for the time being /
1213 rb_argv0 = rb_progname;
1214 #if defined(USE_DLN_A_OUT)
(gdb) f 1
#1 0x100316f8 in ruby_options (argc=0, argv=0x2ff22660) at eval.c:1525
1525 ruby_process_options(argc, argv);
(gdb) l
1520 int state;
1521
1522 Init_stack((void)&state);
1523 PUSH_TAG(PROT_NONE);
1524 if ((state = EXEC_TAG()) == 0) {
1525 ruby_process_options(argc, argv);
1526 }
1527 else {
1528 trace_func = 0;
1529 tracing = 0;
$ gcc -v
Using built-in specs.
Target: powerpc-ibm-aix5.3.0.0
Configured with: …/gcc-4.1.1/configure --disable-nls
Thread model: aix
gcc version 4.1.1
Hello,
Yutaka K. wrote:
Did you do any additional steps other than configure and make?
I mean, at least, I was able to compile ruby 1.8.6p111 on AIX 5.3
using gcc 4.2.3.
I’ll retry with a 4.2.3 compiler…
Thanks
Hello Vincent,
Did you do any additional steps other than configure and make?
I mean, at least, I was able to compile ruby 1.8.6p111 on AIX 5.3
using gcc 4.2.3.
I just issue these commands after extracting the tar ball.
% ./configure --with-openssl-dir=/opt/freeware
–with-zlib-dir=/opt/freeware --with-readline-dir=/opt/freeware
–prefix=$HOME/r186p111 --disable-ipv6
% make
% make install
% ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [powerpc-aix5.3.0.0]
% gcc -v
Using built-in specs.
Target: powerpc-ibm-aix5.3.0.0
Configured with: …/gcc-4.2.3/configure --prefix=/home/kanemoto/gcc423
–enable-shared --enable-threads=aix --enable-languages=c,c++
Thread model: aix
gcc version 4.2.3
% oslevel -s
5300-06-03-0732
Best regards,