in reply to Parrot build mechanism expertise required.

Are you using ActiveState perl? I bet what happened is that you got an error during "Determining minimum pointer alignment", right? What is happening is that ActiveState Perl was built using Visual C++, and so the configure information doesn't match what is needed for BCC. This is a problem, since parrot's configure pulls a ton of info from perl's configure information. You have 2 choices:
  1. First, uninstall ActiveState perl. Then make Perl from scratch using BCC, and then make parrot.
  2. Install cygwin, including installing perl 5.6.1 (I had problems with 5.8.0, for some reason) and gcc. This way, your configure information for perl will match when you make parrot from inside cygwin. This second method has the added bonus in that it won't muck with your ActiveState settings.

Let me know if you are having different problems.

Replies are listed 'Best First'.
Re: Re: Parrot build mechanism expertise required.
by BrowserUk (Patriarch) on Mar 24, 2003 at 01:21 UTC

    Basically, I don't want Cygwin and I don't want to use a build process that is dependant upon other parts of my installed and working system for it's operation.

    I have tried to use the --ask switch to bypass the automated (and incorrect) detection of the build tools I wish to use, and would like a little help in working my way through the existing build process in order to construct a standard makefile. I have been trying to track my way through the existing build process, but am finding this to be an extremely difficult thing to do and hope that someone who is familiar with it will be able to guide me.

    For example: What is the route of the dependancy tree. The obvious starting place is the file in the root of the build directories parrot.c, but all this does is include parrot.h. This is further complicated by the precence of other source files in this same directory which apparently are not directly a part of the parrot binary such as jit.c

    I realise that the JIT and several other subprojects are related, but I can find no clear delineation between the sub-projects nor any simple roadmap of the dependancies of any given source file.


    Examine what is said, not who speaks.
    1) When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.
    2) The only way of discovering the limits of the possible is to venture a little way past them into the impossible
    3) Any sufficiently advanced technology is indistinguishable from magic.
    Arthur C. Clarke.
Re: Re: Parrot build mechanism expertise required.
by jryan (Vicar) on Mar 24, 2003 at 01:03 UTC
    Ack; I just upgraded my version of mozilla, and didn't realize that I wasn't logged in. Please reply to this node, instead of the last, so that I will know if you reply.
      Parrot's Configure routine uses your Perl5 compiler info as a starting point. Everything inherited from the Perl5 environment is overrideable. Parrot will often be built in environments where the compilers for Parrot and Perl5 differ; Configure.pl and friends have support for this. See my post below for more details. My personal goal for the free Win32 compiler support is an auto-recognition routine in Configure.pl, but no tuits yet.
        Of course; but then you have to *do stuff*. Lots of it, as your post proves. I can't imagine why you'd want to go through all of that trouble when installing cygwin allows you to simply perl Configure.pl; make install.

      Go to User Settings and change your theme. It will become obvious when you are logged in.

      --- print map { my ($m)=1<<hex($_)&11?' ':''; $m.=substr('AHJPacehklnorstu',hex($_),1) } split //,'2fde0abe76c36c914586c';
        I do have a custom theme. I even noticed it was different. I even realized that I wasn't logged in. The sad part is I forgot all of this by the time I responded :-/