From: Vincent Legoll Date: 2008-03-01T00:53:37+09:00 Subject: Building Ruby 1.8.6 on AIX 5.3L miniruby segfault 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 ==================================================== -- Vincent Legoll