--- osname= linux osvers= 2.6.9-gentoo-r9 arch= powerpc-linux-thread-multi cc= gcc 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7) --- Flags: category=core severity=critical ack=no --- trying to compile parrot (cvs) in a linux ppc machine I get the following error. It looks like the configure process gets confused and does not compile the ppc jit code when it is under linux:
c++ -o parrot -L/usr/local/lib -Wl,-E -g imcc/main.o blib/lib/libparrot.a -lpthread -lnsl -ldl -lm -lcrypt -lutil -lrt -lpthread -lm -L/usr/lib -licuuc -licudata -lpthread -lm blib/lib/libparrot.a(jit_cpu.o)(.text+0x2722): In function `Parrot_end_jit': src/jit_cpu.c:74: undefined reference to `Parrot_ppc_jit_restore_nonvolatile_registers' blib/lib/libparrot.a(jit_cpu.o)(.text+0x2726):src/jit_cpu.c:74: undefined reference to `Parrot_ppc_jit_restore_nonvolatile_registers' blib/lib/libparrot.a(jit_cpu.o)(.text+0x274e):src/jit_cpu.c:74: undefined reference to `Parrot_ppc_jit_restore_nonvolatile_registers' blib/lib/libparrot.a(jit_cpu.o)(.text+0x2752):src/jit_cpu.c:74: undefined reference to `Parrot_ppc_jit_restore_nonvolatile_registers' blib/lib/libparrot.a(jit_cpu.o)(.text+0x2772):src/jit_cpu.c:74: undefined reference to `Parrot_ppc_jit_restore_nonvolatile_registers' blib/lib/libparrot.a(jit_cpu.o)(.text+0x2776):src/jit_cpu.c:74: more undefined references to `Parrot_ppc_jit_restore_nonvolatile_registers' follow collect2: ld returned 1 exit status make: *** [parrot] Error 1
On Fri, 2004-12-10 at 07:23 -0800, via RT wrote: > trying to compile parrot (cvs) in a linux ppc machine I get the following error. It looks like the configure process gets confused and does not compile the ppc jit code when it is under linux:
This is a duplicate of #32514, which still awaits the gentle touch of a Configure hacker.
> --- > osname= linux > osvers= 2.6.9-gentoo-r9 > arch= powerpc-linux-thread-multi > trying to compile parrot (cvs) in a linux ppc machine I get the > following error. It looks like the configure process gets confused and > does not compile the ppc jit code when it is under linux: > src/jit_cpu.c:74: undefined reference to `Parrot_ppc_jit_restore_nonvolatile_registers' > jitcapable=1, jitarchname=ppc-linux,
I've now tried to fix that too long lasting problem.
1) attach the patch below
2) mv config/gen/platform/darwin/asm.s jit/ppc
3) perl Configure.pl --nomanicheck # or fix MANIFEST
This might cause trouble for ppc-aix, because the asm function is included via a different mechanism too.
Tested on OS X only. If that works, cleanup (MANIFEST, aix) can follow.
leo
--- parrot/config/auto/jit.pl Wed Feb 2 13:23:59 2005 +++ parrot-leo/config/auto/jit.pl Mon Feb 14 18:02:32 2005 @@ -79,10 +79,13 @@ } }