From: Bil Kleb Date: 2004-08-28T03:43:39+09:00 Subject: Compilation fails for Altix (IA64) During compile of the 08-26-2004 stable snapshot, I get a warning: gcc -g -O2 -I. -I. -c eval.c eval.c: In function `massign': eval.c:4912: warning: cast from pointer to integer of different size For convenience, 4907 assign(self, list->nd_head, RARRAY(val)->ptr[i], pcall); 4908 list = list->nd_next; 4909 } 4910 if (pcall && list) goto arg_error; 4911 if (node->nd_args) { 4912 if ((int)(node->nd_args) == -1) { 4913 /* no check for mere `*' */ 4914 } 4915 else if (!list && ind_args, rb_ary_new4(len-i, RARRAY(val)->ptr+i), pcall); The make eventually fails with, gcc -g -O2 -rdynamic main.o dmyext.o libruby-static.a -ldl -lcrypt -lm -o miniruby ./lib/ftools.rb:204: [BUG] Segmentation fault ruby 1.8.2 (2004-08-26) [ia64-linux] And gdb miniruby r mkconfig.rb rbconfig.rb provides, Program received signal SIGSEGV, Segmentation fault. rb_yield_0 (val=2305843009218535704, self=2305843009218655784, klass=0, flags=-68136, avalue=0) at eval.c:4726 4726 if ((state = EXEC_TAG()) == 0) { bt #0 rb_yield_0 (val=2305843009218535704, self=2305843009218655784, klass=0, flags=-68136, avalue=0) at eval.c:4726 #1 0x4000000000026620 in rb_yield (val=2305843009218535704) at eval.c:4826 #2 0x400000000011cda0 in rb_ary_each (ary=2305843009218534304) at array.c:1112 #3 0x400000000002ae00 in rb_call0 (klass=2305843009218685664, recv=2305843009218534304, id=3825, oid=0, argc=0, argv=0x0, body=0x20000000004c2298, nosuper=62488) at eval.c:5404 #4 0x400000000002ccb0 in rb_call (klass=2305843009218685664, recv=2305843009218534304, mid=3825, argc=0, argv=0x0, scope=0) at eval.c:5756 #5 0x400000000001be30 in rb_eval (self=2305843009218655784, n=0x60000000000062b8) at eval.c:2988 #6 0x400000000002c240 in rb_call0 (klass=2305843009218655744, recv=2305843009218655784, id=10273, oid=0, argc=2, argv=0x60000fffffff6500, body=0x20000000004a0c60, nosuper=-45416) at eval.c:5663 #7 0x400000000002ccb0 in rb_call (klass=2305843009218655744, recv=2305843009218655784, mid=10273, argc=2, argv=0x60000fffffff6500, scope=0) at eval.c:5756 #8 0x400000000001e010 in rb_eval (self=2305843009218737024, n=0x60000000000062b8) at eval.c:3257 #9 0x4000000000013380 in eval_node (self=2305843009218737024, node=0x20000000004b0160) at eval.c:1287 #10 0x40000000000140f0 in ruby_exec () at eval.c:1456 #11 0x40000000000141d0 in ruby_run () at eval.c:1477 #12 0x400000000000f3d0 in Init_ext () at main.c:50 #13 0x4000000000025b80 in rb_yield_0 (val=Cannot access memory at address 0x60000fff7fffbfa0) at eval.c:4726 #14 0x400000000000f200 in _start () #15 0x4000000000025b80 in rb_yield_0 (val=Cannot access memory at address 0x60000fff7fffbef8) at eval.c:4726 Cannot access memory at address 0x60000fff7fffbf98 list 4721 } 4722 ruby_current_node = node; 4723 4724 PUSH_ITER(block->iter); 4725 PUSH_TAG(lambda ? PROT_NONE : PROT_YIELD); 4726 if ((state = EXEC_TAG()) == 0) { 4727 redo: 4728 if (nd_type(node) == NODE_CFUNC || nd_type(node) == NODE_IFUNC) { 4729 if (node->nd_state == YIELD_FUNC_AVALUE) { 4730 if (!avalue) { Any ideas? Thanks, -- Bil, Hampton, Virginia