I'm attempting to compile parrot 0.4.3 on my ix86 linux box. I've been able to compile all the previous versions, no problem, but for some reason this one poops out with:
src/null_config.o Invoking Parrot to generate runtime/parrot/include/config.fpmc --cross your fingers ./miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc /bin/sh: line 1: 6960 Segmentation fault ./miniparrot config_lib.pasm >runtime/parrot/include/config.fpmc gmake: *** [runtime/parrot/include/config.fpmc] Error 139
Is there something different about this release?
Any suggestions about how to proceed?
Thanks. :-)
Are you building from a fresh checkout or tarball? Have you installed Parrot elsewhere on your machine already? Did you do a make realclean and then reconfigure, or just issue make again?
If none of those tips lead to a solution, can you run gdb on the code and get a backtrace and send it to the Parrot list?
gdb ./miniparrot # gdb stuff here run config_lib.pasm # segfault caught here bt
compilers/imcc/main.c /usr/local/bin/perl tools/build/parrot_config_c.pl --mini > \ src/null_config.c src/null_config.c c++ -o miniparrot -L/usr/local/lib -Wl,-E compilers/imcc/main.o \ -Wl,-rpath=/home/ehatfield/builds/parrot-0.4.3/blib/lib -L/home/ehatfield/builds/parrot-0.4.3/blib/lib -lparrot -lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt -lgmp src/null_config.o Invoking Parrot to generate runtime/parrot/include/config.fpmc --cross your fingers ./miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc /bin/sh: line 1: 8757 Segmentation fault ./miniparrot config_lib.pasm >runtime/parrot/include/config.fpmc gmake: *** [runtime/parrot/include/config.fpmc] Error 139 [ehatfield@w3d221 parrot-0.4.3]$ [ehatfield@w3d221 parrot-0.4.3]$ gdb ./miniparrot GNU gdb Red Hat Linux (6.3.0.0-1.63rh) Copyright 2004 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 "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) run config_lib.pasm Starting program: /home/ehatfield/builds/parrot-0.4.3/miniparrot config_lib.pasm [Thread debugging using libthread_db enabled] [New Thread -1208203584 (LWP 8761)] [New Thread -1208341584 (LWP 8764)] [New Thread -1218831440 (LWP 8765)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208203584 (LWP 8761)] 0x0804a37b in main (argc=1, argv=0xbffd8998) at compilers/imcc/main.c:512 512 IMCC_INFO(interp)->optimizer_level = 0; (gdb) bt #0 0x0804a37b in main (argc=1, argv=0xbffd8998) at compilers/imcc/main.c:512 (gdb)
src/parrot_config.c looks wonky.
It ends in this line (which isn't very 'c' like, and 'c' doesn't like, 'c'?):
static const unsigned char parrot_config[] = {
Really, that's the very last line of the file.
Thx.
perlmonks.org content © perlmonks.org and chromatic, ehatfield, wazoox
prlmnks.org © 2006 edmund von der burg (eccles & toad)
v 0.03