Build Rakudo with Distutils

Andy Dougherty doughera at
Sun Mar 28 19:03:13 UTC 2010

On Fri, 26 Mar 2010, Fran?ois Perrad wrote:

> Find attached a script 'setup.nqp' for building/testing Rakudo.
> This library removes the dependences with Makefile & various make
> utilities, and remove the configure step.

I tried this with today's parrot (r45243) and 
rakudo (8f7d293a6ba3a9ce4efea3278c58a5edf0210edc) on OpenSolaris with 
Sun's compiler.  It stopped almost immediately:

perl /export/home/doughera/my/parrot/lib/2.2.0-devel/tools/build/ --c --include /export/home/doughera/my/parrot/src/2.2.0-devel --include /export/home/doughera/my/parrot/src/2.2.0-devel/pmc p6lowlevelsig.pmc
PMC has attributes but no auto_attrs or manual_attrs at /export/home/doughera/my/parrot/lib/2.2.0-devel/tools/build/../lib/Parrot/Pmc2c/ line 744.
ccache cc -c -o  src/pmc/p6lowlevelsig.o -I/export/home/doughera/my/parrot/include/2.2.0-devel -I/export/home/doughera/my/parrot/include/2.2.0-devel/pmc -I/export/home/doughera/src/parrot/rakudo  -DHASATTRIBUTE_CONST  -DHASATTRIBUTE_FORMAT  -DHASATTRIBUTE_MALLOC  -DHASATTRIBUTE_NONNULL  -DHASATTRIBUTE_NORETURN  -DHASATTRIBUTE_PURE  -DHASATTRIBUTE_UNUSED  -DDISABLE_GC_DEBUG=1 -DNDEBUG -DHAS_GETTEXT -I /export/home/doughera/my/icu//include -KPIC    -DHAVE_COMPUTED_GOTO  src/pmc/p6lowlevelsig.c
"./p6lowlevelsig.pmc", line 24: cannot find include file: "../binder/bind.h"

[and then a cascade of C errors based on that one, followed by the
following odd error message at the end]

current instr.: 'setup' pc 766 (runtime/parrot/library/distutils.pir:337)
called from Sub 'MAIN' pc 236 (EVAL_1:0)
called from Sub '_block11' pc 0 (EVAL_1:5)
called from Sub 'parrot;PCT;HLLCompiler;eval' pc -1 ((unknown file):-1)
called from Sub 'parrot;PCT;HLLCompiler;evalfiles' pc 1318 (compilers/pct/src/PCT/HLLCompiler.pir:714)
called from Sub 'parrot;PCT;HLLCompiler;command_line' pc 1504 (compilers/pct/src/PCT/HLLCompiler.pir:801)
called from Sub 'parrot;NQP;Compiler;main' pc -1 ((unknown file):-1)

I'm pretty sure this is a recurrence of [perl #66560].  See that ticket
for the diagnosis and fix currently in use in rakudo.

However, it's not at all obvious to me how someone trying to
install rakudo could fix it.  At least with a Makefile, it's
often obvious how you can hand-edit the Makefile and try to fix it.
Here, it's not.  Looking at the trace at the end, it refers to a file
"runtime/parrot/library/distutils.pir" which doesn't exist.  (It may have
existed in the build directory, but that's not around anymore.)  There is
a file distutils.pir in $prefix/lib/2.2.0-dev/library, but editing it
(assuming you have permission) doesn't appear to change anything.  I
expect that's because the precompiled distutils.pbc file is loaded

    Andy Dougherty		doughera at

More information about the parrot-dev mailing list