HTTP/1.1 -1 Read error in cache disk data: SuccessContent-Type: application/rss+xml; charset="utf-8" Last-Modified: Sat, 22 Jan 2022 02:05:16 GMT Content-length: 85597 Connection: Close Proxy-Connection: Close X-Cache: HIT from web1.osuosl.org Server: ProxyTrack 0.5 (HTTrack 3.49.2) Parrot: {1} Active Tickets http://trac.parrot.org/parrot/report/1 Trac Report - * List all active tickets by TT#. * Color each row based on type. en-us Parrot http://trac.parrot.org/parrot/chrome/site/parrot_logo.png http://trac.parrot.org/parrot/report/1 Trac v0.11.7 #1391: [TODO] Generate per-parrot-build GUID/UUID, stored in e.g. interpinfo Wed, 23 Dec 2009 04:09:14 GMT Wed, 23 Dec 2009 04:09:14 GMT <p> In order for Plumage to know that Parrot has been upgraded by some external method (manual build, system packages, binary installer, etc.), each build of parrot (note: build, *not* configure) should have a GUID/UUID that is readable from NQP/PIR -- this UUID might be available in interpinfo for instance. </p> http://trac.parrot.org/parrot/ticket/1391 http://trac.parrot.org/parrot/ticket/1391 Report #1176: Configure-time check for whether to use powl() or pow(), since powl() is an optional posix extension Mon, 02 Nov 2009 03:32:07 GMT Sun, 13 Jun 2010 04:04:24 GMT <p> This site lists powl() as an optional POSIX extension: </p> <p> <a class="ext-link" href="http://www.mers.byu.edu/docs/standardC/math.html"><span class="icon"> </span>http://www.mers.byu.edu/docs/standardC/math.html</a> </p> <p> We should have a Configure-time check for whether it exists. </p> <p> This is currently blocking the porting of Parrot to the RTEMS real-time embedded operating system, which only implements the the mandatory core of POSIX. </p> http://trac.parrot.org/parrot/ticket/1176 http://trac.parrot.org/parrot/ticket/1176 Report #1188: [RFC] Modify build directories to more closely match the install directories Tue, 03 Nov 2009 00:50:37 GMT Fri, 25 Feb 2011 03:16:24 GMT <p> To simplify building a language from a build tree or install tree, change the build directories to more closely match the install directories. This would mean standardizing on </p> <p> lib/ Holds the compiled libparrot. Holds what's currently in runtime/* as subdirectories under lib/parrot/. Holds what's currently in lib/ (Perl modules) as subdirectories under lib/parrot/tools. </p> <p> bin/ Holds the compiled binaries for parrot, parrot_config, parrot_debugger, etc. </p> <p> src/ Holds C source files, same as now. Add a 'parrot/' subdirectory to be the same as include/ and lib/ (either all should keep the subdirectory, or none should). </p> <p> include/ Holds C header files, same as now. </p> <p> (The current blib/ directory just goes away.) </p> http://trac.parrot.org/parrot/ticket/1188 http://trac.parrot.org/parrot/ticket/1188 Report #1475: [Pmc2c] make METHOD and MULTI consistent in terms of how PCC is done Mon, 22 Feb 2010 23:46:29 GMT Sat, 16 Oct 2010 22:35:06 GMT <p> Currently, pmc2c generates the boilerplate to do PCC stuff in methods. However, if the method is multi, pmc2c uses NCI to do PCC. </p> <p> There are likely advantages and disadvantages to both approaches (duplicate code vs potential object system bootstrapping issues). One thing is clear to me: whichever mechanism is used, these should be doing things the same way. </p> http://trac.parrot.org/parrot/ticket/1475 http://trac.parrot.org/parrot/ticket/1475 Report #1309: perl Configure.pl finds icu but doesn't set it up Thu, 19 Nov 2009 00:24:20 GMT Fri, 20 May 2011 02:07:24 GMT <p> perl Configure.pl finds icu during config but doesn't set you up to use it. </p> <p> perl Configure.pl says: ... auto::icu - Is ICU installed....................................yes. </p> <p> But during make, the following error is reported: Invoking Parrot to generate runtime/parrot/include/config.fpmc --cross your fingers ./miniparrot config_lib.pasm &gt; runtime/parrot/include/config.fpmc ./miniparrot: error while loading shared libraries: libicuuc.so.42: cannot open shared object file: No such file or directory gmake: *** [runtime/parrot/include/config.fpmc] Error 127 </p> http://trac.parrot.org/parrot/ticket/1309 http://trac.parrot.org/parrot/ticket/1309 Report #2160: .git doesn't imply git executable Tue, 19 Jul 2011 22:17:51 GMT Wed, 20 Jul 2011 23:10:34 GMT <p> On windows, I have "git bash" and "visual studio command shell", and they're separate. When I run 'nmake smoke' (et al.), it's complaining that </p> <pre class="wiki">'git' is not recognized as an internal.... </pre><p> So, while -d .git is an easy check, we can't assume that is sufficient to be able to run <tt>git</tt>. </p> http://trac.parrot.org/parrot/ticket/2160 http://trac.parrot.org/parrot/ticket/2160 Report #2129: pbc_to_exe: missing runtime dependency Tue, 07 Jun 2011 17:15:32 GMT Thu, 16 Jun 2011 17:41:08 GMT <p> when running make, pbc_to_exe occasionally fails with the following error: </p> <pre class="wiki">PackFile_unpack: Buffer length 0 is shorter than PACKFILE_HEADER_BYTES 18. current instr.: 'handle_args' pc 223 (tools/dev/pbc_to_exe.pir:233) make: *** [pbc_to_exe] Error 1 make: *** Waiting for unfinished jobs.... </pre><p> i've not been able to reproduce this consistently, but i think it occurs when pmc_to_exe is invoked as part of the build process, and tries to load Getopt/Obj.pbc before it's been fully compiled. the file exists so open() doesn't fail, but is still zero-length. </p> http://trac.parrot.org/parrot/ticket/2129 http://trac.parrot.org/parrot/ticket/2129 Report #2196: cygwin build fails Sat, 01 Oct 2011 00:04:18 GMT Sat, 01 Oct 2011 01:09:56 GMT <pre class="wiki">I was trying to reproduce https://rt.perl.org/rt3/Public/Bug/Display.html?id=64032 on cygwin using a fresh clone of rakudo, and ran the usual perl Configure.pl --gen-parrot and it failed with the following error (sorry for the wrapped lines): gcc-4 -o pbc_disassemble.exe \ frontend/pbc_disassemble/main.o \ src/longopt.o \ -L/cygdrive/c/Users/mwilson/src/rakudo/parrot -lparrot -lpthread -lm -L/usr/lib -licuuc -licudata -lpthread -lm -lcrypt -lintl -Wl,--enable-auto- import -Wl,--export-all-symbols -Wl,--stack,8388608 -Wl,--enable-auto-image-base -fstack-protector -L/usr/local/lib ./parrot.exe -o pbc_to_exe.pbc tools/dev/pbc_to_exe.pir ./parrot.exe pbc_to_exe.pbc pbc_to_exe.pbc gcc-4 -o pbc_to_exe.o -I"/cygdrive/c/Users/mwilson/src/rakudo/parrot/include" -U __STRICT_ANSI__ -g3 -pipe -fstack-protector -I/usr/local/include -DHASATTRIBUTE _CONST -DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED -DHASATTR IBUTE_WARN_UNUSED_RESULT -DHASATTRIBUTE_HOT -DHASATTRIBUTE_COLD -DDISABLE_GC_ DEBUG=1 -DNDEBUG -DHAS_GETTEXT -O3 -c pbc_to_exe.c 1 [main] parrot 164924 exception::handle: Exception: STATUS_ACCESS_VIOLATI ON 841 [main] parrot 164924 open_stackdumpfile: Dumping stack trace to parrot.e xe.stackdump 1 [main] parrot 143664 exception::handle: Exception: STATUS_ACCESS_VIOLATI ON 445 [main] parrot 143664 open_stackdumpfile: Dumping stack trace to parrot.e xe.stackdump 1 [main] parrot 167144 exception::handle: Exception: STATUS_ACCESS_VIOLATI ON 444 [main] parrot 167144 open_stackdumpfile: Dumping stack trace to parrot.e $ 1 [main] parrot 163884 exception::handle: Exception: STATUS_ACCESS_VIOLATI ON 445 [main] parrot 163884 open_stackdumpfile: Dumping stack trace to parrot.e xe.stackdump 1 [main] parrot 167188 exception::handle: Exception: STATUS_ACCESS_VIOLATI ON 445 [main] parrot 167188 open_stackdumpfile: Dumping stack trace to parrot.e xe.stackdump 1 [main] parrot 103664 exception::handle: Exception: STATUS_ACCESS_VIOLATI ON 447 [main] parrot 103664 open_stackdumpfile: Dumping stack trace to parrot.e xe.stackdump 1 [main] parrot 146588 fork: child -1 - died waiting for longjmp before in itialization, retry 0, exit code 0x600, errno 11 Can't spawn child process current instr.: 'compile_file' pc 1140 (tools/dev/pbc_to_exe.pir:716) called from Sub 'main' pc 171 (tools/dev/pbc_to_exe.pir:210) make: *** [pbc_to_exe.exe] Error 1 Command failed (status 512): make install-dev </pre> http://trac.parrot.org/parrot/ticket/2196 http://trac.parrot.org/parrot/ticket/2196 Report #1978: possible problem with g++ --optimize (t/pmc/float.t failure) Tue, 18 Jan 2011 16:04:01 GMT Thu, 28 Apr 2011 05:19:55 GMT <p> In testing t/pmc/float.t it failed a test when built with g++-4.5 with --optimize. </p> <p> Failed test: 102 - comparison ops: cmp_p_p: equality (passes g++ without --optimize and gcc - Ubuntu 10.10 i386) </p> <p> kid51 reported that the test passed for him using g++ v4.3.2 </p> <p> I did some further tests with Ubuntu 10.04 i386 and Ubuntu 10.10 i386 and it failed (g++ --optimize only) with g++ v4.4.3 and v4.5.1 </p> <p> NotFound and cotto both managed to reproduce the error using g++ v4.4.5 </p> <p> NotFound proposed a patch, which fixed the problem and cotto committed </p> <pre class="wiki">diff --git a/src/pmc/float.pmc b/src/pmc/float.pmc index e31cf55..dc8e06e 100644 --- a/src/pmc/float.pmc +++ b/src/pmc/float.pmc @@ -285,8 +285,9 @@ Returns the result of comparing the number with C&lt;*value&gt;. } MULTI INTVAL cmp_num(DEFAULT value) { - const FLOATVAL diff = - SELF.get_number() - VTABLE_get_number(INTERP, value); + volatile FLOATVAL n1 = SELF.get_number(); + volatile FLOATVAL n2 = VTABLE_get_number(INTERP, value); + const FLOATVAL diff = n1 - n2; return diff &gt; 0 ? 1 : diff &lt; 0 ? -1 : 0; } </pre><p> this fixed the failure. </p> <p> The main reason for creating the ticket (apart from cotto asking me to) is that we had a failure with g++ --optimize 32 bit (later versions) that did not occur without --optimize or with gcc. The test did not fail on 64 bit (perhaps because of different ways of handling floating point). </p> http://trac.parrot.org/parrot/ticket/1978 http://trac.parrot.org/parrot/ticket/1978 Report #1825: How To Utilize The GCC Compile Farm Wed, 13 Oct 2010 00:55:18 GMT Wed, 20 Oct 2010 17:27:39 GMT <p> Parrot now has access to the GCC Compile Farm, graciously hosted by the Free Software France organization. We need to figure out how best to use it i.e. installing <a class="wiki" href="http://trac.parrot.org/parrot/wiki/BuildBot">BuildBot</a>, TapTinder, smokers and benchmarkers across different configurations of Parrot, such as ICU/GMP/optimized/etc. </p> <p> Here are some links to a presentation about the Compile Farm: </p> <p> <a class="ext-link" href="https://mail.gna.org/public/gcc-cfarm-users/2010-07/msg00025.html"><span class="icon"> </span>https://mail.gna.org/public/gcc-cfarm-users/2010-07/msg00025.html</a> </p> <p> This is the main wiki page: <a class="ext-link" href="http://gcc.gnu.org/wiki/CompileFarm"><span class="icon"> </span>http://gcc.gnu.org/wiki/CompileFarm</a> </p> http://trac.parrot.org/parrot/ticket/1825 http://trac.parrot.org/parrot/ticket/1825 Report #817: [pmc2c] don't require custom #defines for private flags Tue, 07 Jul 2009 22:25:28 GMT Sat, 16 Oct 2010 22:48:42 GMT <p> It'd be nice if pmc2c didn't require that custom private PObj flags be #defined, but rather provided a way to declare them as part of the pmclass declaration. The syntax could look something like this: </p> <pre class="wiki">pmclass FooClass group FooGroup extends FooBase { ATTR PMC *foo; ATTR INTVAL *bar; FLAG FOO_IS_HAVING_A_GOOD_DAY; FLAG FOO_IS_WEARING_YELLOW; </pre><p> This would be a good introductory task for someone wanting to get into Parrot since it's not urgent and wouldn't cause any compatibility breaks. The majority of the code that would need to be changed is in lib/Parrot/Pmc2c/Parser.pm and lib/Parrot/Pmc2c/PMCEmitter.pm . </p> http://trac.parrot.org/parrot/ticket/817 http://trac.parrot.org/parrot/ticket/817 Report #1041: pmc2c silently ignores bad code Mon, 21 Sep 2009 07:03:08 GMT Mon, 21 Sep 2009 07:03:08 GMT <p> Originally reported in <a class="ext-link" href="http://rt.perl.org/rt3/Ticket/Display.html?id=39313"><span class="icon"> </span>RT</a> </p> <p> Summary of that ticket (quoting allison) </p> <pre class="wiki">Pmc2c is just a series of regular expressions. It looks for specific patterns, and if it finds them, builds relevant C code out of them. It has no ability to check for arbitrary syntax that *doesn't* match a pattern. It's a preprocessor (macro substitution), not a language parser. What could be done is have it dump anything leftover after the extraction into the resulting C file. Then you'd get a C error on compilation. </pre> http://trac.parrot.org/parrot/ticket/1041 http://trac.parrot.org/parrot/ticket/1041 Report #650: Pmc2c requires major refactoring. Fri, 08 May 2009 13:13:46 GMT Mon, 28 Mar 2011 01:15:22 GMT <p> After working on <a class="closed ticket" href="http://trac.parrot.org/parrot/ticket/631" title="RFC: [RFC] Clean-up PMC generated files. (closed: fixed)">#631</a> Pmc2c has changed and requires some refactorings. For example </p> <p> * PMC/RO.pm isn't used heavily anymore. </p> <p> * Handling of %extra_vt in PMCEmitter.pm can be simplified. </p> <p> * Code for support "old" style MMD should be removed. </p> <p> * etc. </p> http://trac.parrot.org/parrot/ticket/650 http://trac.parrot.org/parrot/ticket/650 Report #260: Build error on windows 2008 server Sun, 01 Feb 2009 18:19:48 GMT Wed, 26 Jan 2011 02:56:43 GMT <pre class="wiki">The build process doesn't complete on my windows 2008 server machine. I run activastate perl 5.10 and visual studio 2008 team system edition Version 9.0.21022.8 RTM. I get a crash in the configure step in test_7304 ( determine JIT capability) as it seems that some executbale is being killed by the DEP ( Data Execution Prevention ) facility provided in windows 2008. Nmake then manages to buid the parrot executable but doesn't complete correctly; I attach hereafter the last lines of the build log: Creating library dan_ops_switch.lib and object dan_ops_switch.exp C:\Perl\perlBins\bin\perl.exe -e "chdir shift @ARGV;system 'nmake', '-no logo', @ARGV; exit $? &gt;&gt; 8;" compilers\pct ..\..\parrot.exe -o ..\..\runtime\parrot\library\PCT.pbc --output-pbc PC T.pir ..\..\parrot.exe -o ..\..\runtime\parrot\library\PCT\PAST.pbc --output-p bc src\PAST.pir ..\..\parrot.exe -o ..\..\runtime\parrot\library\PCT\Grammar.pbc --outpu t-pbc src\PCT\Grammar.pir ..\..\parrot.exe -o ..\..\runtime\parrot\library\PCT\HLLCompiler.pbc --o utput-pbc src\PCT\HLLCompiler.pir C:\Perl\perlBins\bin\perl.exe -e "chdir shift @ARGV;system 'nmake', '-no logo', @ARGV; exit $? &gt;&gt; 8;" compilers\pge C:\Perl\perlBins\bin\perl.exe -MExtUtils::Command -e rm_f PGE.pbc ..\..\ runtime\parrot\library\PGE.pbc C:\Perl\perlBins\bin\perl.exe -e "" &gt;PGE\builtins_gen.pir ..\..\parrot.exe -o PGE.pbc --output-pbc PGE.pir ..\..\parrot.exe ..\..\runtime\parrot\library\PGE\Perl6Grammar.pir --ou tput=PGE\builtins_gen.pir PGE\builtins.pg NMAKE : fatal error U1077: '..\..\parrot.exe' : return code '0xc0000005' Stop. NMAKE : fatal error U1077: 'C:\Perl\perlBins\bin\perl.exe' : return code '0x2' Stop. </pre> http://trac.parrot.org/parrot/ticket/260 http://trac.parrot.org/parrot/ticket/260 Report #2110: mingw build fails while building opsc Thu, 12 May 2011 21:10:07 GMT Fri, 13 May 2011 01:00:03 GMT <p> I don't have the tuits to investigate this right now, but I want to make sure it doesn't escape notice. I didn't use any special arguments to Configure.pl. The build completes successfully if I use ms2 by passing --gc=ms2 to Configure.pl. </p> <pre class="wiki">C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e mkpath runtime/parrot/languages/data_json C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e cp compilers/data_json/data_json.pbc runtime/parrot/languages/data_json/data_json.pbc C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e mkpath runtime/parrot/languages/JSON .\parrot-nqp.exe --target=pir compilers/data_json/JSON.nqp &gt; runtime/parrot/languages/JSON/JSON.pir .\parrot-nqp.exe --target=pir --output=compilers/opsc/gen/Ops/Compiler.pir compilers/opsc/src/Ops/Compiler.pm .\parrot-nqp.exe --target=pir --output=compilers/opsc/gen/Ops/Compiler/Actions.pir compilers/opsc/src/Ops/Compiler/Actions.pm gmake: *** [compilers/opsc/gen/Ops/Compiler/Actions.pir] Error -1073741819 C:\src\parrot-mingw&gt; </pre> http://trac.parrot.org/parrot/ticket/2110 http://trac.parrot.org/parrot/ticket/2110 Report #2109: Can't find asm/errno.h Thu, 12 May 2011 01:30:32 GMT Thu, 12 May 2011 02:47:51 GMT <p> I just upgraded my laptop to Ubuntu 11.04, and immediately there is a problem building Parrot. </p> <pre class="wiki">In file included from src/datatypes.c:23: In file included from ./include/parrot/parrot.h:35: In file included from /usr/include/errno.h:36: In file included from /usr/include/bits/errno.h:25: /usr/include/linux/errno.h:4:10: fatal error: 'asm/errno.h' file not found </pre><p> errno.h used to be in /usr/include/asm/errno.h, but as of Ubuntu 11.04 it appears in these locations: </p> <pre class="wiki">&gt; locate errno.h /opt/intel/Compiler/11.1/064/Documentation/en_US/compiler_c/main_cls/copts/common_options/option_fmath_errno.htm /opt/intel/Compiler/11.1/064/Documentation/ja_JP/compiler_c/main_cls/copts/common_options/option_fmath_errno.htm /usr/include/errno.h /usr/include/asm-generic/errno.h /usr/include/bits/errno.h /usr/include/linux/errno.h /usr/include/sys/errno.h /usr/lib/syslinux/com32/include/errno.h </pre><p> So it looks like it's in /usr/include/errno.h ("#include &lt;errno.h&gt;") or in /usr/include/asm-generic/errno.h ("#include &lt;asm-generic/errno.h&gt;"). What's weird is that the two files are not the same, and don't define the same constants. It looks like Parrot will build with /usr/include/asm-generic/errno.h, but fails with a symbol undefined error with /usr/include/errno.h. I don't know if this is a "bug" as far as Ubuntu is concerned or not. It certainly seems undesired to me. </p> <p> I can, as a temporary fix, use a symlink to put the files in the correct places. However, For completeness, I wonder if we should do any of the following: </p> <ul><li>Try to avoid using asm/errno.h in our code, if possible </li><li>Add a configure probe to search for the correct errno.h </li><li>Yell at Ubuntu until they fix this. </li></ul><p> Any of these are fine, I just want to get some opinions about it. If more people upgrade ubuntu and run into these problems, we will be getting more reports about it. </p> http://trac.parrot.org/parrot/ticket/2109 http://trac.parrot.org/parrot/ticket/2109 Report #922: Coding standard tests for examples/ directories without tests Sat, 15 Aug 2009 02:51:19 GMT Thu, 24 Feb 2011 10:53:10 GMT <p> A TODO test should be added for each directory in examples/ that does not have a corresponding file in t/examples . So the directory examples/foobar should have a corresponding test t/examples/foobar.t </p> <p> Some important examples that fail this currently are SDL and OpenGL. </p> http://trac.parrot.org/parrot/ticket/922 http://trac.parrot.org/parrot/ticket/922 Report #1726: Missing POD in .pmc files (and a couple of others) Sun, 01 Aug 2010 18:51:51 GMT Sun, 31 Oct 2010 15:13:07 GMT <p> We recently completed an exercise whereby the coding standard test t/codingstd/c_function_docs.t and the associated documentation was fixed so that no TODO's remain for missing POD in c functions in parrot. </p> <p> I had occasion to run make headerizer and found that it reported missing POD in some other files, mostly .pmc files and one .y file (plus 3 .c files from compilers/src/pirc not tested by c_function_docs.t). </p> <p> It is suggested that .pmc files be included in c_function_docs.t or possibly in a new test. </p> <p> at r48245 make headerizer furnishes the following output: </p> <pre class="wiki">compilers/imcc/imcc.y: adv_named_set_u has no POD compilers/pirc/src/main.c: process_file has no POD compilers/pirc/src/pircompunit.c: set_sub_multi_types has no POD compilers/pirc/src/pirparser.c: YYID has no POD src/pmc/bigint.pmc: bigint_init has no POD src/pmc/bigint.pmc: bigint_clear has no POD src/pmc/bigint.pmc: bigint_set has no POD src/pmc/bigint.pmc: bigint_set_str has no POD src/pmc/bigint.pmc: bigint_get_self has no POD src/pmc/bigint.pmc: bigint_set_self has no POD src/pmc/bigint.pmc: bigint_get_long has no POD src/pmc/bigint.pmc: bigint_get_bool has no POD src/pmc/bigint.pmc: bigint_get_string has no POD src/pmc/bigint.pmc: bigint_get_double has no POD src/pmc/bigint.pmc: bigint_add_bigint has no POD src/pmc/bigint.pmc: bigint_add_bigint_int has no POD src/pmc/bigint.pmc: bigint_sub_bigint has no POD src/pmc/bigint.pmc: bigint_sub_bigint_int has no POD src/pmc/bigint.pmc: bigint_mul_bigint has no POD src/pmc/bigint.pmc: bigint_mul_bigint_int has no POD src/pmc/bigint.pmc: bigint_pow_bigint_int has no POD src/pmc/bigint.pmc: int_check_divide_zero has no POD src/pmc/bigint.pmc: bigint_check_divide_zero has no POD src/pmc/bigint.pmc: bigint_div_bigint has no POD src/pmc/bigint.pmc: bigint_div_bigint_int has no POD src/pmc/bigint.pmc: bigint_fdiv_bigint has no POD src/pmc/bigint.pmc: bigint_fdiv_bigint_int has no POD src/pmc/bigint.pmc: bigint_mod_bigint has no POD src/pmc/bigint.pmc: bigint_mod_bigint_int has no POD src/pmc/bigint.pmc: bigint_cmp has no POD src/pmc/bigint.pmc: bigint_cmp_int has no POD src/pmc/bigint.pmc: bigint_abs has no POD src/pmc/bigint.pmc: bigint_neg has no POD src/pmc/callcontext.pmc: ensure_positionals_storage has no POD src/pmc/callcontext.pmc: ensure_positionals_storage_ap has no POD src/pmc/callcontext.pmc: get_cell_at has no POD src/pmc/callcontext.pmc: autobox_intval has no POD src/pmc/callcontext.pmc: autobox_floatval has no POD src/pmc/callcontext.pmc: autobox_string has no POD src/pmc/callcontext.pmc: autobox_pmc has no POD src/pmc/callcontext.pmc: get_hash has no POD src/pmc/callcontext.pmc: mark_cell has no POD src/pmc/callcontext.pmc: mark_positionals has no POD src/pmc/callcontext.pmc: mark_hash has no POD src/pmc/callcontext.pmc: get_named_names has no POD src/pmc/class.pmc: pointer_compare has no POD src/pmc/class.pmc: key_hash_pointer has no POD src/pmc/class.pmc: cache_class_attribs has no POD src/pmc/class.pmc: build_attrib_index has no POD src/pmc/class.pmc: init_class_from_hash has no POD src/pmc/class.pmc: initialize_parents has no POD src/pmc/class.pmc: initialize_parents_pmc has no POD src/pmc/class.pmc: make_class_name has no POD src/pmc/class.pmc: calculate_mro has no POD src/pmc/complex.pmc: int_check_divide_zero has no POD src/pmc/complex.pmc: float_check_divide_zero has no POD src/pmc/complex.pmc: complex_check_divide_zero has no POD src/pmc/coroutine.pmc: print_sub_name has no POD src/pmc/eval.pmc: clear_fixups has no POD src/pmc/eval.pmc: get_sub has no POD src/pmc/eval.pmc: mark_subs has no POD src/pmc/fixedintegerarray.pmc: auxcmpfunc has no POD src/pmc/hashiterator.pmc: advance_to_next has no POD src/pmc/imageio.pmc: GET_VISIT_CURSOR has no POD src/pmc/imageio.pmc: SET_VISIT_CURSOR has no POD src/pmc/imageio.pmc: INC_VISIT_CURSOR has no POD src/pmc/imageio.pmc: create_buffer has no POD src/pmc/imageio.pmc: ensure_buffer_size has no POD src/pmc/imageio.pmc: INFO_HAS_DATA has no POD src/pmc/imageio.pmc: id_list_get has no POD src/pmc/imageio.pmc: visit_todo_list_thaw has no POD src/pmc/imageio.pmc: visit_todo_list_freeze has no POD src/pmc/imageiosize.pmc: visit_todo_list_freeze has no POD src/pmc/integer.pmc: maybe_throw_overflow_error has no POD src/pmc/integer.pmc: upgrade_self_to_bignum has no POD src/pmc/namespace.pmc: add_to_class has no POD src/pmc/namespace.pmc: ns_insert_sub_keyed_str has no POD src/pmc/namespace.pmc: maybe_add_sub_to_namespace has no POD src/pmc/namespace.pmc: add_nci_to_namespace has no POD src/pmc/namespace.pmc: add_multi_to_namespace has no POD src/pmc/nci.pmc: pcc_params has no POD src/pmc/nci.pmc: build_func has no POD src/pmc/null.pmc: null_pmc_access has no POD src/pmc/object.pmc: get_attrib_index has no POD src/pmc/object.pmc: get_attrib_index_keyed has no POD src/pmc/object.pmc: find_cached has no POD src/pmc/object.pmc: cache_method has no POD src/pmc/orderedhash.pmc: get_list_item has no POD src/pmc/orderedhash.pmc: find_bounds has no POD src/pmc/orderedhash.pmc: box_string has no POD src/pmc/orderedhash.pmc: box_integer has no POD src/pmc/orderedhash.pmc: box_number has no POD src/pmc/packfile.pmc: copy_packfile_header has no POD src/pmc/role.pmc: init_role_from_hash has no POD src/pmc/sub.pmc: print_sub_name has no POD src/pmc/threadinterpreter.pmc: stop_GC has no POD Headerization complete. </pre> http://trac.parrot.org/parrot/ticket/1726 http://trac.parrot.org/parrot/ticket/1726 Report #1864: [RFC] Change coding standard to avoid 2 space outdent. Tue, 23 Nov 2010 10:53:52 GMT Sat, 27 Aug 2011 17:38:53 GMT <p> Hello. </p> <p> Current coding standard requires 2 space indent on switch/case indent. I would like to propose to change it to 4 space and close <a class="closed ticket" href="http://trac.parrot.org/parrot/ticket/1547" title="cage: Mass-update vim modelines (closed: done)">#1547</a> as "wontfix". </p> <p> Basically I speak about this patch: </p> <pre class="wiki">diff --git a/docs/pdds/pdd07_codingstd.pod b/docs/pdds/pdd07_codingstd.pod index 8741a1b..52dc866 100644 --- a/docs/pdds/pdd07_codingstd.pod +++ b/docs/pdds/pdd07_codingstd.pod @@ -110,11 +110,6 @@ the level of indenting to increase. =item * -Labels (including case labels) must be outdented two columns relative to the -code they label. - -=item * - Closing braces for control structures must line up vertically with the start of the control structures; e.g. C&lt;}&gt; that closes an C&lt;if&gt; must line up with the C&lt;if&gt;. </pre><p> Or at least change "including" to "excluding". </p> <p> -- Bacek </p> http://trac.parrot.org/parrot/ticket/1864 http://trac.parrot.org/parrot/ticket/1864 Report #799: Configure should explicitly check for symbolic link capability on Linux Sun, 28 Jun 2009 23:46:01 GMT Sat, 02 Jul 2011 20:42:13 GMT <p> I'm running linux for Parrot work, but the underlying filesystem is NTFS, mounted r/w. This means that Configure.pl will detect my system as being linux, but it also means that symlinks don't work in the build area (ironically, they DO work in /usr/**, but not in /home/austin/parrot). When evaluating capabilities, Configure.pl should check to ensure that symlinks work. Presently, the build fails when trying to link a versioned .so to an unversioned on inside blib/lib. (I work around this by cp'ing it, and restart the make.) </p> http://trac.parrot.org/parrot/ticket/799 http://trac.parrot.org/parrot/ticket/799 Report #2085: Eliminate reliance during build on 'tempdir' in config settings Sat, 02 Apr 2011 18:08:42 GMT Sat, 02 Apr 2011 19:29:14 GMT <p> This ticket addresses an issue which came to dominate discussion in TT <a class="closed ticket" href="http://trac.parrot.org/parrot/ticket/1544" title="bug: t/profiling/profiling.t fails on darwin (closed: fixed)">#1544</a> and supersedes that ticket. </p> <p> As noted by Benabik and Coke 12 months ago, the value for <tt>tempdir</tt> in <i>config_lib.pir</i> and <i>lib/Parrot/Config/Generated.pm</i> can be dramatically different on different OSes and on different versions on the same OS. For example, on my older Mac OS X 10.4.11, the results are straightforward and very Unix-ish: </p> <pre class="wiki">$ grep -n tempdir config_lib.pir lib/Parrot/Config/Generated.pm config_lib.pir:272: set $P0["tempdir"], "/tmp" lib/Parrot/Config/Generated.pm:371: 'tempdir' =&gt; '/tmp', </pre><p> But on later versions of Mac OS X, it can appear as something much more, errrm, clever: </p> <pre class="wiki">set P0["tempdir"], "/var/folders/Bh/BhrBssnnHYqX6SDI8N3S1U+++TM/-Tmp-" </pre><p> As Coke put it in TT <a class="closed ticket" href="http://trac.parrot.org/parrot/ticket/1544" title="bug: t/profiling/profiling.t fails on darwin (closed: fixed)">#1544</a>, it "like it's intended to be a one-time use tempdir, not something that we can save and reuse elsewhere." Benabik speculated that "I'm guessing <i>launchd</i> creates a new per-user temp dir at login. The problem here is that we're caching <tt>TMPDIR</tt> and there's no guarantee that it will be stable.<i> </i></p> <p> In each case, <tt>tempdir</tt> is simply picked up from Perl 5 early in the configuration process: </p> <pre class="wiki">$ grep -n tempdir config/init/defaults.pm 255: tempdir =&gt; File::Spec-&gt;tmpdir, </pre><p> No magic there, but it suggests that it is the <strong>environment</strong> in which Perl 5 is built on different OS versions that controls what Perl 5 gets and what, in turn, Parrot gets. </p> <p> Two courses of action are conceivable: One is to find some clever, Parrot-specific way of populating <tt>tempdir</tt>. The other is simply to extirpate any instance where <tt>tempdir</tt> is used in our build or test systems. </p> <p> A bit of data on the latter option: Here are the locations in our source code where I can see something what the problem is: </p> <pre class="wiki">$ find . -type f | xargs grep -n 'config.*tempdir' ./runtime/parrot/library/ProfTest/PIRProfile.nqp:66: my $tmp_pir := %config&lt;tempdir&gt; ~ %config&lt;slash&gt; ~ 'test.pir'; ./runtime/parrot/library/ProfTest/PIRProfile.nqp:67: my $tmp_pprof := %config&lt;tempdir&gt; ~ %config&lt;slash&gt; ~ 'test.pprof'; </pre><p> Another datum: We have functions <tt>tempdir()</tt> and <tt>tmpdir()</tt> in <i> ./runtime/parrot/library/osutils.pir</i>. Would they be of any use? </p> <p> Thank you very much. </p> <p> kid51 </p> http://trac.parrot.org/parrot/ticket/2085 http://trac.parrot.org/parrot/ticket/2085 Report #565: remove optional features from default config, refactor config probes Tue, 21 Apr 2009 13:29:50 GMT Tue, 21 Jul 2009 01:44:16 GMT <p> From <a href="https://trac.parrot.org/parrot/wiki/ParrotRoadmap">https://trac.parrot.org/parrot/wiki/ParrotRoadmap</a>. </p> http://trac.parrot.org/parrot/ticket/565 http://trac.parrot.org/parrot/ticket/565 Report #919: On Mac OS X 10.5.8, Configure.pl : lazy symbol binding failed Fri, 14 Aug 2009 19:41:13 GMT Sat, 11 Jun 2011 01:11:37 GMT <p> Hi, </p> <p> I'm running Mac OS X 10.5.8 with the dev tools installed. </p> <p> I just downloaded parrot 1.4.0, unpacked it into my <tt>~/opt/src</tt> directory, and ran <tt>perl Configure.pl --prefix=/Users/john/opt</tt>. </p> <p> Although the configure seemed to succeed, it complained thusly: </p> <pre class="wiki">auto::readline - Does your platform support readline...dyld: lazy symbol binding failed: Symbol not found: _rl_get_keymap Referenced from: /Users/john/opt/src/parrot-1.4.0/./test_2640 Expected in: dynamic lookup dyld: Symbol not found: _rl_get_keymap Referenced from: /Users/john/opt/src/parrot-1.4.0/./test_2640 Expected in: dynamic lookup .............done. </pre><p> At the end, it reported: </p> <pre class="wiki">Okay, we're done! You can now use `make' to build your Parrot. After that, you can use `make test' to run the test suite. Happy Hacking, The Parrot Team </pre><p> Here is some other info that was in the output from running parrotbug: </p> <pre class="wiki">--- osname= darwin osvers= 9.0 arch= darwin-thread-multi-2level cc= cc --- Flags: category=install severity=medium ack=no --- Summary of my parrot 1.4.0 (r0) configuration: configdate='Fri Aug 14 19:11:27 2009 GMT' Platform: osname=darwin, archname=darwin-2level jitcapable=0, jitarchname=nojit, jitosname=darwin, jitcpuarch=i386 execcapable=0 perl=perl Compiler: cc='/usr/bin/gcc-4.0', ccflags='-fno-common -I/opt/local/include -no-cpp-precomp -pipe -I/opt/local/include -pipe -fno-common -Wno-long-double -DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_ NONNULL -DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED -DHASATTRIBUTE_WARN_UNUSED_RESULT -falign-functions=16 -fvisibility=hidden -funit-at-a-time -maccumulate-outgoing-args -W -Wall -Waggregate-return -Wcast-ali gn -Wcast-qual -Wchar-subscripts -Wcomment -Wdisabled-optimization -Wendif-labels -Wextra -Wformat -Wformat-extra-args -Wformat-nonliteral -Wformat-security -Wformat-y2k -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wmissing-b races -Wmissing-field-initializers -Wno-missing-format-attribute -Wmissing-include-dirs -Wpacked -Wparentheses -Wpointer-arith -Wreturn-type -Wsequence-point -Wno-shadow -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wsw itch-default -Wtrigraphs -Wundef -Wunknown-pragmas -Wno-unused -Wvariadic-macros -Wwrite-strings -Wbad-function-cast -Wdeclaration-after-statement -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-declarations -Wmissing-pr ototypes -Wnested-externs -Wnonnull', Linker and Libraries: ld='c++', ldflags='-L/opt/local/lib -L/Users/john/opt/src/parrot-1.4.0/blib/lib', cc_ldflags='', libs='-lm -lutil -lgmp -lreadline' Dynamic Linking: share_ext='.dylib', ld_share_flags='-dynamiclib -undefined dynamic_lookup', load_ext='.bundle', ld_load_flags='-undefined dynamic_lookup -bundle' Types: iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4, ptrsize=4, ptr_alignment=1 byteorder=1234, nv=double, numvalsize=8, doublesize=8, longdoublesize=16 --- Environment: DYLD_LIBRARY_PATH (unset) HOME =/Users/john LANG =en_US.UTF-8 LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH =/opt/local/bin:/opt/local/sbin:/usr/local/mysql/bin:/Users/john/.cabal/bin:/Users/john/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin SHELL =/bin/bash </pre> http://trac.parrot.org/parrot/ticket/919 http://trac.parrot.org/parrot/ticket/919 Report #1045: parrot needs a shared library even if configured with --parrot_is_shared=0. Mon, 21 Sep 2009 13:31:08 GMT Sun, 06 Mar 2011 01:44:19 GMT <p> This problem still persists. At least on Linux, running </p> <pre class="wiki">perl Configure.pl --parrot_is_shared=0 </pre><p> builds a miniparrot that requires a shared libparrot.so. </p> <p> See <a class="ext-link" href="http://rt.perl.org/rt3/Ticket/Display.html?id=53494"><span class="icon"> </span>Original RT</a> for more details. </p> http://trac.parrot.org/parrot/ticket/1045 http://trac.parrot.org/parrot/ticket/1045 Report #2107: "Failed to load libpcre" during build Wed, 11 May 2011 20:42:39 GMT Fri, 12 Aug 2011 01:46:04 GMT http://trac.parrot.org/parrot/ticket/2107 http://trac.parrot.org/parrot/ticket/2107 Report #1044: Configure.pl relies too heavily on perl5 ccflags settings. Mon, 21 Sep 2009 12:58:49 GMT Sun, 28 Aug 2011 18:26:49 GMT <p> See <a class="ext-link" href="http://rt.perl.org/rt3/Ticket/Display.html?id=38823"><span class="icon"> </span>Original RT</a> for more details. </p> http://trac.parrot.org/parrot/ticket/1044 http://trac.parrot.org/parrot/ticket/1044 Report #855: config/init/defaults.pm: Profiling options are too specific to GCC Sun, 19 Jul 2009 23:46:59 GMT Mon, 03 Jan 2011 22:54:34 GMT <p> This ticket was created in <a class="ext-link" href="http://rt.perl.org/rt3/Ticket/Display.html?id=41497"><span class="icon"> </span>RT #41497</a> by Paul T Cochrane in February 2007. I am moving it into the Trac system to raise its visibility. I believe it could be moved toward resolution by someone -- a newcomer, perhaps -- who was willing to spend some time doing Internet searching on the profiling options of various C compilers. </p> <p> Original description:<br /> <strong>The profiling options used in config/init/defaults.pm are specific to gcc. This should probably be specified in the relevant hints file.</strong> </p> <p> The relevant code in <i>config/init/defaults.pm</i> is this: </p> <pre class="wiki"> if ( $conf-&gt;options-&gt;get('profile') ) { $conf-&gt;data-&gt;set( cc_debug =&gt; " -pg ", ld_debug =&gt; " -pg ", ); } </pre><p> In the original ticket, Infinoid subsequently commented: <i>This flag convinces gcc to generate profiling code specifically for the GNU profiler, <tt>gprof</tt>. I find it *extremely* unlikely that this flag would be available and/or mean the same thing for other compilers ...</i> </p> <p> In addition, Andy Dougherty commented: <i>[These options] are gcc-specific. A plain <tt>-p</tt> is common on Unix systems, but <tt>-pg</tt> is gcc-specific. For example, with Sun's C compiler, <tt>-xpg</tt> would be the equivalent flag. (Though Sun's C compiler also has other profile options selected by <tt>-xprofile</tt> ...)</i> </p> <p> Could someone research profiling options on a variety of C compilers, including the principal C compilers for Windows? </p> <p> Thank you very much.<br /> kid51 </p> http://trac.parrot.org/parrot/ticket/855 http://trac.parrot.org/parrot/ticket/855 Report #2031: Configure.pl bug in Gentoo Mon, 28 Feb 2011 02:29:24 GMT Thu, 30 Jun 2011 15:56:25 GMT <pre class="wiki">donp@tower ~/src/parrot/parrot-3.1.0 $ perl Configure.pl auto::byteorder - Compute native byteorder for wordsize.....little-endian. auto::va_ptr - Test the type of va_ptr... step auto::va_ptr died during execution: Unknown va_ptr type at config/auto/va_ptr.pm line 41. at Configure.pl line 77 auto::format - What formats should be used for sprintf............done. </pre><p> Related bug? <a class="ext-link" href="http://rt.perl.org/rt3//Public/Bug/Display.html?id=47313"><span class="icon"> </span>http://rt.perl.org/rt3//Public/Bug/Display.html?id=47313</a> </p> http://trac.parrot.org/parrot/ticket/2031 http://trac.parrot.org/parrot/ticket/2031 Report #555: perldoc detection fails if build runs as root Tue, 14 Apr 2009 22:37:53 GMT Tue, 16 Jun 2009 17:23:44 GMT <p> If you build parrot as root, the detection of perldoc will always fail. The reason is that perldoc for security reasons runs as either 'nobody', 'nouser' or uid -2. Therefore, it cannot write to a file given as the argument to perldoc's -d option, when that file is created by File::Temp, since it's owned by root and has mode 0600. </p> <p> It also appears to me that the first part of the perldoc test is ... a little sketchy in how it should behave? capture_output doesn't collect STDERR output, it captures STDOUT output. </p> <p> I know, using &gt; instead of perldoc's -d option is possibly port unfriendly to non-Unix systems, so a better way of testing should probably be found. In my case, I do this for only Unix-y systems, so permit myself some leeway here. </p> <p> Patch to be attached. </p> <p> Regards, </p> <p> - Håvard </p> http://trac.parrot.org/parrot/ticket/555 http://trac.parrot.org/parrot/ticket/555 Report #775: Simplify makefile rules on windows. Thu, 18 Jun 2009 22:01:39 GMT Sun, 13 Jun 2010 03:58:51 GMT <p> Windows XP Professional, ActivePerl 5.10.0.1005-MSWin32, dmake 4.11 </p> <p> Trying to build Parrot using dmake results in the following error: </p> <pre class="wiki">dmake: makefile: line 126: Warning: -- Macro `O' redefined after use dmake: makefile: line 130: Warning: -- Macro `A' redefined after use dmake: makefile: line 3236: Warning: -- Found non-white space character after '[' in [[ -d parrot-$(VERSION) ] || ln -s $(CUR_DIR) parrot-$(VERSION)]. dmake: makefile: line 3340: Error: -- Incomplete rule recipe group detected </pre><p> (See attached Makefile) Especially for Strawberry Perl users this might be a blocker, as afaik Strawberry Perl ships only dmake by default, so someone should probably document this somewhere. </p> http://trac.parrot.org/parrot/ticket/775 http://trac.parrot.org/parrot/ticket/775 Report #1074: Parrot fails to build with gcc when using --optimize on OpenSolaris Tue, 29 Sep 2009 09:13:05 GMT Tue, 20 Apr 2010 21:14:12 GMT <p> Parrot will not build on OpenSolaris with GCC if --optimize is used. This happens with both gcc 3.4.3 (the default gcc package on Solaris) and gcc 4.3.2. </p> <p> The output is a bit unwieldy (and I'm not sure what's relevant and what isn't) so I have pasted the output in a pastebin: </p> <p> <a class="ext-link" href="http://paste2.org/p/443346"><span class="icon"> </span>Parrot's Configure errors</a><br /> </p> <p> <a class="ext-link" href="http://paste2.org/p/443353"><span class="icon"> </span>Parrot's make errors</a><br /> </p> <p> <a class="ext-link" href="http://paste2.org/p/443358"><span class="icon"> </span>Configure working as expected without --optimize</a> </p> http://trac.parrot.org/parrot/ticket/1074 http://trac.parrot.org/parrot/ticket/1074 Report #1884: don't cache .parrot_current_git_describe Thu, 09 Dec 2010 01:26:40 GMT Sun, 27 Mar 2011 16:02:47 GMT <p> When configuring parrot, the value for "git-describe" is taken from the cache file if it is present. </p> <p> Here's a not-uncommon workflow that breaks in this case: </p> <ul><li>realclean </li><li>build </li><li>git pull </li><li>configure # XXX This does not update the sha1-describe. </li><li>build </li></ul><p> Unless there's a super compelling reason to cache this file, the value shouldn't even be stored on disk - it should go into the config hash and be calculated every time you run configure. </p> <p> (similar arguments may cover other newly generated .parrot files.) </p> http://trac.parrot.org/parrot/ticket/1884 http://trac.parrot.org/parrot/ticket/1884 Report #1056: inter::progs ought to be smarter about finding linker Mon, 21 Sep 2009 23:25:27 GMT Mon, 21 Sep 2009 23:25:27 GMT <p> This issue was first discussed in <a class="ext-link" href="http://rt.perl.org/rt3/Ticket/Display.html?id=49558"><span class="icon"> </span>RT #49558</a>. I'm quoting Andy Dougherty's original post in its entirety. </p> <p> "This patch just notes a problem area. In order to pick the correct linker on platforms where there is more than one possibility (e.g. the vendor's cc and gcc), Configure.pl needs to know which compiler is being used. Both solaris.pm and dec_osf.pm (assuming my recent patch is applied) handle this with a callback -- immediately after $cc is set, they run a test program to see if $cc is really gcc. Duplicating this callback code in each hints file seems wrong. Configure really ought to do at least some of that guessing right away. </p> <p> "(The ????? can be filled in with whatever tag RT assigns this.)" </p> <pre class="wiki">diff -r -u parrot-current/config/inter/progs.pm parrot-andy/config/inter/progs.pm --- parrot-current/config/inter/progs.pm 2008-01-02 08:59:40.000000000 -0500 +++ parrot-andy/config/inter/progs.pm 2008-01-09 08:55:50.000000000 -0500 @@ -91,6 +91,15 @@ if $ask; $conf-&gt;data-&gt;set( cc =&gt; $cc ); + # XXX [RT ????? ] Configure should do some intelligent guessing here. + # Which linker to pick may well depend on the compiler chosen. + # If the user picks 'gcc', then the linker should probably + # be either 'gcc' or 'g++'. + # If the user picks 'cc', then the linker should probably be + # the associated c++ compiler, known as 'c++', 'CC', or 'cxx', + # or perhaps something else. + # Currently, solaris and dec_osf handle this with callbacks. + # $link = integrate( $conf-&gt;data-&gt;get('link'), $conf-&gt;options-&gt;get('link') ); $link = prompt( "How about your linker?", $link ) if $ask; $conf-&gt;data-&gt;set( link =&gt; $link ); </pre><p> I don't know whether the patch would cleanly apply today. </p> <p> Thank you very much.<br /> kid51 </p> http://trac.parrot.org/parrot/ticket/1056 http://trac.parrot.org/parrot/ticket/1056 Report #1195: Add cross-compiling support to Configure.pl, such as --target=i386-rtems4.10 Thu, 05 Nov 2009 03:54:55 GMT Sun, 27 Mar 2011 14:42:30 GMT <p> Parrot is currently being ported to the RTEMS real-time OS. This means that we need to support cross-compiling. </p> <p> More info here: </p> <p> <a class="ext-link" href="http://leto.net/dukeleto.pl/2009/11/realtime-embedded-parrots.html"><span class="icon"> </span>http://leto.net/dukeleto.pl/2009/11/realtime-embedded-parrots.html</a> </p> http://trac.parrot.org/parrot/ticket/1195 http://trac.parrot.org/parrot/ticket/1195 Report #1390: Configure doesn't check for a 'curses' lib in the readline test Wed, 23 Dec 2009 02:51:34 GMT Sat, 18 Sep 2010 00:16:32 GMT <p> Parrot doesn't build with readline support on OpenSolaris because readline needs tgetnum et al. from Solaris' "curses" lib. The configure script tries to fall back to "ncurses" which still fails on OSOL. </p> http://trac.parrot.org/parrot/ticket/1390 http://trac.parrot.org/parrot/ticket/1390 Report #1048: [TODO] Configure.pl needs a has_function() function. Mon, 21 Sep 2009 17:38:47 GMT Mon, 21 Sep 2009 17:38:47 GMT <p> Configure.pl needs a better infrastructure for detecting functions and passing along that information to parrot (and other programs that might embed or extend parrot). See <a class="ext-link" href="http://rt.perl.org/rt3/Ticket/Display.html?id=51232"><span class="icon"> </span>Original RT</a> for more details. </p> http://trac.parrot.org/parrot/ticket/1048 http://trac.parrot.org/parrot/ticket/1048 Report #1732: [PATCH] Parrot Configure can't find pod2man and perldoc under a versiononly perl Fri, 06 Aug 2010 18:18:14 GMT Fri, 27 Aug 2010 05:28:39 GMT <pre class="wiki">Summary: [PATCH] Parrot Configure can't find pod2man and perldoc under a versiononly perl Reported by: avarab@gmail.com --- Parrot can't find pod2man and perldoc under a versiononly perl. Which will e.g. be installed by perlbrew. I have a patch that fixes this in my GitHub fork of Parrot: http://github.com/avar/parrot/compare/master...configure-versiononly.patch Note that that may not cover some other bizarre cases. CPANPLUS has some more tests at the bottom of its Makefile.PL that might be interesting as reference for further work in this area. --- osname= linux osvers= 2.6.32.12-x86_64-linode12 arch= x86_64-linux cc= cc --- Flags: category=core severity=low ack=no --- Summary of my parrot 2.6.0 (r48160) configuration: configdate='Thu Jul 22 13:57:33 2010 GMT' Platform: osname=linux, archname=x86_64-linux jitcapable=0, jitarchname=nojit, jitosname=linux, jitcpuarch=amd64 execcapable=0 perl=/home/v-perlbrew/perl5/perlbrew/perls/perl-5.13.2/bin/perl5.13.2 Compiler: cc='cc', ccflags=' -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED -DHASATTRIBUTE_WARN_UNUSED_RESULT -DHASATTRIBUTE_HOT -DHASATTRIBUTE_COLD -DHAS_GETTEXT', Linker and Libraries: ld='cc', ldflags=' -fstack-protector -L/usr/local/lib', cc_ldflags='', libs='-lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt -lreadline ' Dynamic Linking: share_ext='.so', ld_share_flags='-shared -O2 -L/usr/local/lib -fstack-protector -fPIC', load_ext='.so', ld_load_flags='-shared -O2 -L/usr/local/lib -fstack-protector -fPIC' Types: iv=long, intvalsize=8, intsize=4, opcode_t=long, opcode_t_size=8, ptrsize=8, byteorder=12345678, nv=double, numvalsize=8, doublesize=8, longdoublesize=16 --- Environment: HOME =/home/avar LANG =en_US.utf8 LANGUAGE =en_US:en LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH =/home/v-perlbrew/perl5/perlbrew/bin:/home/v-perlbrew/perl5/perlbrew/perls/current/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/home/avar/g/misc-scripts:/home/avar/g/rtmpdump:/home/avar/src/dl/rakudo-star-2010.07/install/bin PERLDOC =-MPod::Text::Ansi SHELL =/bin/bash </pre> http://trac.parrot.org/parrot/ticket/1732 http://trac.parrot.org/parrot/ticket/1732 Report #2164: Error detecting attributes (g++-3.3) Tue, 26 Jul 2011 17:56:52 GMT Wed, 27 Jul 2011 12:14:28 GMT <pre class="wiki">I'm forwarding this to Trac so it doesn't get lost. The original problem manifested itself on the openbsd smoker in the gcc compile farm, but is likely more general than that. -- Andy Dougherty doughera@lafayette.edu ---------- Forwarded message ---------- Date: Mon, 25 Jul 2011 19:53:31 -0400 (EDT) From: Andy Dougherty &lt;doughera@lafayette.edu&gt; To: Jonathan "Duke" Leto &lt;jonathan@leto.net&gt; Cc: parrot-dev &lt;parrot-dev@lists.parrot.org&gt; Subject: Re: compile error on openbsd with g++ On Sat, 23 Jul 2011, Andy Dougherty wrote: &gt; On Fri, 22 Jul 2011, Jonathan "Duke" Leto wrote: &gt; &gt; &gt; gcc (GCC) 3.3.5 (propolice) &gt; &gt; On Fri, Jul 22, 2011 at 10:49 AM, Jonathan "Duke" Leto &gt; &gt; &lt;jonathan@leto.net&gt; wrote: &gt; &gt; &gt; Howdy, &gt; &gt; &gt; &gt; &gt; &gt; Just got the openbsd smoker in the farm working again, and it hit a &gt; &gt; &gt; compile error: &gt; &gt; &gt; &gt; &gt; &gt; https://gist.github.com/1099956 &gt; &gt; Without seeing both the output of Configure.pl --verbose and the &gt; preprocessed output of src/string/api.c, it's hard to be sure, but this &gt; looks like the sort of thing you get when parrot's detection of attributes &gt; is wrong. &gt; &gt; In particular, the gcc-3.3/HASATTRIBUTE_UNUSED combination is tricky: It &gt; works in gcc-3.3, but fails in g++-3.3. I haven't tested this at all, but I suspect that the issue is that the Configure.pl probe doesn't use the attribute in the same way as parrot does. (The inline probe has the same problem. See TT #1943). It's likely that a rather trivial patch like the one below will fix this immediate problem, but since my last 2 attempts to do something useful for attribute detection were rejected, I'm unwilling to work any harder at it. diff --git a/config/auto/attributes/test_c.in b/config/auto/attributes/test_c.in index eb5262c..896da8b 100644 --- a/config/auto/attributes/test_c.in +++ b/config/auto/attributes/test_c.in @@ -42,7 +42,7 @@ coldfunc(int x); static int -useless(void) { int x __attribute__unused__; return 0; } +useless(int x __attribute__unused__) { int y __attribute__unused__; return 0; } /* as long as the file compiles, everything is okay */ -- Andy Dougherty doughera@lafayette.edu </pre> http://trac.parrot.org/parrot/ticket/2164 http://trac.parrot.org/parrot/ticket/2164 Report #2028: pcre is deprecated Tue, 22 Feb 2011 20:59:11 GMT Wed, 23 Feb 2011 19:17:37 GMT <p> The pcre module is deprecated from core. It will be moved to another repo if someone wants to take care of it, or just removed if not. </p> <p> This is an early notice, waiting a few days before adding to api.yaml just in case someone has a good reason to keep it. </p> http://trac.parrot.org/parrot/ticket/2028 http://trac.parrot.org/parrot/ticket/2028 Report #1516: Allow a build directory to be specified to Configure.pl Wed, 17 Mar 2010 23:47:01 GMT Sun, 27 Mar 2011 15:10:11 GMT <p> To facilitate cross-compiling environments, it would be nice if we had something like </p> <p> <tt> perl Configure.pl --builddir=/foo/build </tt> </p> <p> See <a class="ext-link" href="http://lists.parrot.org/pipermail/parrot-dev/2010-March/003992.html"><span class="icon"> </span>http://lists.parrot.org/pipermail/parrot-dev/2010-March/003992.html</a> for more details. </p> <p> This feature would greatly help in porting Parrot to Embedded Linux distros as well as RTEMS. </p> http://trac.parrot.org/parrot/ticket/1516 http://trac.parrot.org/parrot/ticket/1516 Report #1246: Extra libraries on CC build command Mon, 09 Nov 2009 02:47:30 GMT Sat, 21 May 2011 02:28:51 GMT <p> This ticket moves to the Trac system discussion of issues originally raised as <a class="ext-link" href="http://rt.perl.org/rt3/Ticket/Display.html?id=53610"><span class="icon"> </span>RT 53610</a>. In that RT, Alberto Simões stated: </p> <pre class="wiki">As discussed on the mailing list, currently parrot is being linked with a bunch of libraries that will be just used by dynamic loading. For instante: [ambs@rachmaninoff parrot]$ ldd parrot parrot: /Users/ambs/Projects/parrot/blib/lib/libparrot.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0) /opt/local/lib/libicuuc.38.dylib (compatibility version 38.0.0, current version 38.1.0) /opt/local/lib/libicudata.38.dylib (compatibility version 38.0.0, current version 38.1.0) /usr/lib/libutil.dylib (compatibility version 1.0.0, current version 1.0.0) /opt/local/lib/libgmp.3.dylib (compatibility version 8.0.0, current version 8.2.0) /opt/local/lib/libreadline.5.2.dylib (compatibility version 5.0.0, current version 5.2.0) /opt/local/lib/libpcre.0.dylib (compatibility version 1.0.0, current version 1.1.0) /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/GLUT.framework/Versions/A/GLUT (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libcrypto.0.9.7.dylib (compatibility version 0.9.7, current version 0.9.7) /opt/local/lib/libintl.8.dylib (compatibility version 9.0.0, current version 9.2.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) From these, I am sure GLUT/GL and pcre should not be there. Some others might be in excess as well, like readline (?). So, the CC line used to build parrot should be cleaned up from these extra libraries. </pre><p> Note: Though I too am on Darwin (albeit an older version), I apparently don't have the <tt>ldd</tt> command, so I could not produce a more recent report on that platform. It's not clear to me whether this is a Darwin-specific issues or one that applies regardless of platform. </p> <p> kid51 </p> http://trac.parrot.org/parrot/ticket/1246 http://trac.parrot.org/parrot/ticket/1246 Report #1202: build - header file detection w/o perl5 Thu, 05 Nov 2009 06:00:05 GMT Mon, 20 Sep 2010 00:07:07 GMT <p> auto::headers uses the Config module to detect installed header files. It's ok to get default values and the arch name from Config but it's not OK to depend on it for probing the system as the Configure code will liked be compiled down to PIR someday so it can be executed by miniparrot and systems that don't have perl5 installed. </p> http://trac.parrot.org/parrot/ticket/1202 http://trac.parrot.org/parrot/ticket/1202 Report #1831: config problem with glui library on ubuntu 10.04 Sat, 16 Oct 2010 23:33:12 GMT Sat, 16 Oct 2010 23:33:12 GMT <p> If I have the glui libraries (include files) installed on my ubuntu 10.04 system, the $ perl configure.pl shell command makes the following complaint/warning: </p> <pre class="wiki">gen::opengl - Generating OpenGL bindings...In OpenGL header '/usr/include/GL/glui.h', can't parse canonicalized prototype for '': GLUI_String&amp; glui_format_str(GLUI_String &amp;str, char* fmt, ...); Original prototype: GLUIAPI GLUI_String&amp; glui_format_str(GLUI_String &amp;str, const char* fmt, ...); ......................done. </pre><p> this appears to come from the header file parser in parrot/config/gen/opengl.pm throwing out the "const" prefix for a "char *" argument: </p> <pre class="wiki">cc179ba1 (japhb 2008-06-01 03:02:27 +0000 695) s/\bconst\b\s*//g; </pre> http://trac.parrot.org/parrot/ticket/1831 http://trac.parrot.org/parrot/ticket/1831 Report #1943: Failure due to missing external definition of inlined functions Mon, 10 Jan 2011 04:41:27 GMT Wed, 19 Jan 2011 19:52:59 GMT <p> As of version RELEASE_2_11_0-902-gdce9186, attempting to build parrot with Sun's compiler under Linux fails with the following errors: </p> <pre class="wiki">/tmp/parrot/blib/lib/libparrot.so: undefined reference to `Parrot_pmc_box_integer' /tmp/parrot/blib/lib/libparrot.so: undefined reference to `Parrot_pmc_box_string' /tmp/parrot/blib/lib/libparrot.so: undefined reference to `Parrot_pmc_box_number' </pre><p> The problem is a reappearance of TT <a class="closed ticket" href="http://trac.parrot.org/parrot/ticket/1646" title="bug: Failure due to missing external definition of inlined function ... (closed: fixed)">#1646</a>. There really seem to be three separate issues: </p> <p> 1. The config::auto inline test does not test the inline keyword in the way that parrot ultimately uses it. (It specifies neither static nor external, and is in the same file as it is ultimately used.) It is relevant to note that gcc -std=c99 won't accept the current inline test files either. A correct test would test the way that inline is intended to actually be used. If parrot wants to assume that inline functions also have external linkage, then the tests should be written to test for this. Note that traditional GNU inline behavior is different from C99 behavior. A good discussion of these issues is at <a class="ext-link" href="http://www.greenend.org.uk/rjk/2003/03/inline.html"><span class="icon"> </span>http://www.greenend.org.uk/rjk/2003/03/inline.html</a>. (In perl 5, we test for and use only <tt> static inline </tt>. Feel free to copy those tests.) </p> <p> 2. The result of the configure test is, in some cases, ignored anyway. Specifically, if the compiler passes the second test for <tt> __inline </tt>, the following code in <tt> config/gen/config_h/feature_h.in </tt> unconditionally uses a plain <tt> inline </tt> anyway, even though Configure determined that didn't work: </p> <pre class="wiki">#if defined(__STDC_VERSION__) &amp;&amp; __STDC_VERSION__ &gt;= 199901L # define PARROT_INLINE inline # define PARROT_HAS_INLINE #else # define PARROT_INLINE #endif </pre><p> 3. The functions above are never declared 'extern'. </p> http://trac.parrot.org/parrot/ticket/1943 http://trac.parrot.org/parrot/ticket/1943 Report #1840: Config step to detect RTEMS Sun, 24 Oct 2010 22:41:04 GMT Sun, 27 Mar 2011 14:41:18 GMT <p> We need a config step that checks for <span class="underline">rtems</span> and sets the parrot_config key of 'rtems' to true or false, depending on whether the symbol is defined. </p> http://trac.parrot.org/parrot/ticket/1840 http://trac.parrot.org/parrot/ticket/1840 Report #1175: Get external Perl5 modules out of the parrot repo Mon, 02 Nov 2009 03:04:58 GMT Wed, 01 Dec 2010 19:57:09 GMT <p> I am moving into the Trac system <a class="ext-link" href="http://rt.perl.org/rt3/Ticket/Display.html?id=38262"><span class="icon"> </span>RT 38262</a>, originally created by Jerry Gay in January 2006. </p> <p> Since that time various interpretations of what the ticket should accomplish have been advanced; see the original ticket for that discussion. The most recent post in the original ticket was by Coke in February 2009: </p> <p> <i>Summing up an IRC conversation with allison from today:</i> </p> <p> <i>- Let's explicitly list which modules we are dual hosting from CPAN.</i> </p> <p> <i>- building parrot (configure &amp; make) shouldn't require anything outside of core perl.</i> </p> <p> <i>- modules that are used for, e.g., 'make html' or other similar targets can be moved to the parrot developer bundle on CPAN.</i> </p> http://trac.parrot.org/parrot/ticket/1175 http://trac.parrot.org/parrot/ticket/1175 Report #2177: Access system properties Thu, 11 Aug 2011 18:13:54 GMT Fri, 12 Aug 2011 00:22:18 GMT <p> To achieve portable applications we need a set of system properties. <br /> <br /> The most important ones are :<br /> - User home directory<br /> - User information (name ...)<br /> - File path separator<br /> - Temporary directory<br /> - System locale<br /> - System encoding<br /> - System time zone<br /> - System line separator (e.g., "\n" on UNIX, "\r\n" for Windows)<br /> - Name of the operating system<br /> - System architecture i386, x64 ...<br /> </p> http://trac.parrot.org/parrot/ticket/2177 http://trac.parrot.org/parrot/ticket/2177 Report #1787: OS X --m=32 doesn't work in snow leopard Mon, 13 Sep 2010 15:37:23 GMT Tue, 21 Sep 2010 02:46:33 GMT <p> In OS X, if you try to build parrot as 32 bit using --m=32 it has no effect. </p> <p> Also, it would be nice if there was a configuration option for building a universal binary in OS X (which means configuring for 32-bit, 64-bit x86 and possibly ppc, and ppc64). </p> http://trac.parrot.org/parrot/ticket/1787 http://trac.parrot.org/parrot/ticket/1787 Report #1046: Configure.pl allows sizeof(INTVAL) != sizeof(void *), but parrot requires them to be equal. Mon, 21 Sep 2009 13:43:34 GMT Sat, 16 Oct 2010 22:13:30 GMT <p> See <a class="ext-link" href="http://rt.perl.org/rt3/Ticket/Display.html?id=56484"><span class="icon"> </span>Original RT</a> for more details. </p> <p> On Linux/x86, the problem can be reproduced by running </p> <pre class="wiki">perl Configure.pl --intval="long long int" --opcode="long long int" </pre> http://trac.parrot.org/parrot/ticket/1046 http://trac.parrot.org/parrot/ticket/1046 Report #339: msvc+mingw detection Sun, 15 Feb 2009 10:46:27 GMT Tue, 02 Mar 2010 15:34:41 GMT <p> With r36750 I had to fix one more MSWin32 compiler detection (uppercase allowed), but there are several more instances of compiler special cases in the makefile templates and tests. </p> <p> My proposal is to get that right in the first place, config/init/hints/mswin32.pm, and store it in the config as <strong>msvc</strong>, <strong>mingw</strong>, and maybe also icc or borland keys. </p> <p> Use these keys in the makefile templates and testsuite then. </p> <p> cc="ccache cl" for example might not be safe also. </p> <p> The patch in TT <a class="closed ticket" href="http://trac.parrot.org/parrot/ticket/312" title="bug: disable static on win32/aix if shared (closed: invalid)">#312</a> already contains the mingw and msvc keys, as they are the only one currently used. </p> http://trac.parrot.org/parrot/ticket/339 http://trac.parrot.org/parrot/ticket/339 Report