Hello > Tonight I was curious to test the last rakudo-star on amd64, and discovered > that parrot build failed. > After taking the git tree and checking many versions, I found the last > version working is the 2.11.0 for me. > > It's tested with gcc-4.6 and gcc-4.4, same result. > The error looks like this : > ./miniparrot -Iruntime/parrot/include config_lib.pir > > runtime/parrot/include/config.fpmc > src/call/context_accessors.c:580: failed assertion 'ctx' > Backtrace - Obtained 12 stack frames (max trace depth is 32). > /home/manu/parrot/blib/lib/libparrot.so.3.0.0(+0x180506) [0x2b99f17cd506] > /home/manu/parrot/blib/lib/libparrot.so.3.0.0(Parrot_confess+0x8a) > [0x2b99f17cd4da] > /home/manu/parrot/blib/lib/libparrot.so.3.0.0(Parrot_pcc_warnings_test_func+0x33) > [0x2b99f17f18e3] > /home/manu/parrot/blib/lib/libparrot.so.3.0.0(Parrot_warn+0xcb) > [0x2b99f18380bb] > /home/manu/parrot/blib/lib/libparrot.so.3.0.0(+0x1d7831) [0x2b99f1824831] > /home/manu/parrot/blib/lib/libparrot.so.3.0.0(Parrot_encodings_init+0x102) > [0x2b99f17cc312] > /home/manu/parrot/blib/lib/libparrot.so.3.0.0(Parrot_str_init+0x12a) > [0x2b99f177078a] > /home/manu/parrot/blib/lib/libparrot.so.3.0.0(initialize_interpreter+0xd4) > [0x2b99f17edb74] > /home/manu/parrot/blib/lib/libparrot.so.3.0.0(Parrot_api_make_interpreter+0x120) > [0x2b99f17c4fd0] > ./miniparrot() [0x401501]
The segfault should be fixed in master by the commit e1483aaf3c Attached the diff, you can try to patch with it if you want to use the parrot provided by rakudo-star. -- Salu2
commit e1483aaf3cd6020c823740169602020e7e67ecdb Author: NotFound <[email protected]> Date: Sun Jul 10 03:04:27 2011 +0200 Don't use Parrot_warn in Parrot_init_platform_encoding, the interpreter is not initialized enough at that point diff --git a/src/platform/linux/encoding.c b/src/platform/linux/encoding.c index 8c8383a..554c1c5 100644 --- a/src/platform/linux/encoding.c +++ b/src/platform/linux/encoding.c @@ -52,7 +52,8 @@ Parrot_init_platform_encoding(PARROT_INTERP) else if (STREQ(codeset, "ANSI_X3.4-1968")) Parrot_platform_encoding_ptr = Parrot_ascii_encoding_ptr; else { - Parrot_warn(interp, PARROT_WARNINGS_PLATFORM_FLAG, + /* Can't use Parrot_warn here, the interpreter is not ready */ + fprintf(stderr, "Unknown codeset `%s', defaulting to ASCII", codeset); Parrot_platform_encoding_ptr = Parrot_ascii_encoding_ptr; }
_______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
