On Fri, 24 Jul 2009, Patrick R. Michaud via RT wrote:

> On Fri Jun 12 13:42:59 2009, doughera wrote:
> > Trying a build with the rakudo "ins" branch today on OpenSolaris/x86
> >    with
> > Sun's compiler, I hit the following error:
> > 
> > [...]
> > "./src/pmc/p6invocation.pmc", line 22: cannot find include file:
> >    "pmc_perl6multisub.h"
> > cc: acomp failed for p6invocation.c
> > gmake: *** [dynext/perl6_group.so] Error 1
> > ...
> >     #line 1 "./src/pmc/p6invocation.pmc"
> > ...
> > 
> > The './src/pmc/' part of the #line directive is what is confusing
> >    Sun's compiler.
> > It tries to #include "src/pmc/pmc_perl6multisub.h".  However, since we
> >    are *in*
> > the src/pmc directory already, that fails.
> > 
> > Removing the './src/pmc/' part of the #line directive fixes it.
> 
> 
> Unfortunately, the #line directives are generated code, so I don't know
> that Rakudo has any direct control over this.  We may need to report it
> as a Parrot toolchain bug.
> 
> Can you verify that this is still a problem in the 'ins2' branch?  Thanks!

Yes, it's still there.  It's the 'cd' at the beginning of this line:

        cd $(PMC_DIR) && $(CC) -c $(CINCLUDES) $(CFLAGS) *.c

If memory serves, parrot doesn't change directories like that.  Instead, it sets
the output location directly, with something like

        $(CC) -c $(CINCLUDES) $(CFLAGS) -o src/pmc/p6invocation.o 
src/pmc/p6invocation.c

-- 
    Andy Dougherty              dough...@lafayette.edu

Reply via email to