On 22/01/2008, chromatic <[EMAIL PROTECTED]> wrote: > On Monday 21 January 2008 08:58:25 Paul Cochrane wrote: > > > when building parrot on Solaris I get most of the way through the > > build, but right at the end, building pbc_to_exe fails with the > > following output: > > > It seems that the Makefile macro $(LIBPARROT_STATIC) isn't being > > expanded. I had a bit of a look around and found the following lines > > in config_lib.pasm (which is used for the configuration information > > necessary to build pbc_to_exe): > > > > set P0["libparrot"], "$(LIBPARROT_STATIC)" > > set P0["libparrot_ldflags"], "$(LIBPARROT_STATIC)" > > > > further digging showed that these values are set within > > config/inter/libparrot.pm, and the code in there seems perfectly sane > > (especially considering that the value would be later expanded by > > make). Unfortunately, from here I don't know where else to look to > > solve the problem, however it is stopping me from building parrot on > > the Solaris platform at present. > > Are you building Parrot as static or shared? What happens if you switch to > shared?
I'm just using C<perl Configure.pl> to configure the build, and it's setting the build to be static. Using C<perl Configure.pl --parrot_is_shared> doesn't make a difference as Configure still determines that it's not building a shared parrot. > Is LIBPARROT_STATIC defined correctly in your Makefile? LIBPARROT_STATIC = blib/lib/libparrot.a This looks good to me. This is the value I would expect the C<libparrot> configuration value to be expanded to in config_lib.pasm. However, LIBPARROT is in the Makefile: LIBPARROT = $(LIBPARROT_STATIC) Which I would guess comes directly from the configured value, and hence why the value is carried over to config_lib.pasm, although I'm confused as to why this issue of not having an expanded value only occurs on Solaris and not on other Unix based systems. Paul