First Perl 6 experiences

| No Comments | No TrackBacks
First Perl 6 experiences

Ok. I've been telling myself I can look at Perl 6 after I've finished my big project... But I just can't wait. I'm going to have a go at installing it on my Vista 32 laptop, and getting it working through CGI with IIS7.

Getting Rakudo

The Rakudo site has an easy looking guide.

I'm still very new to git, so rather than faf about trying to remember how to use it, I'm just going to download the tarball from:-

Unzipped it to c:\temp and renamed the long rakudo-rakudo-xxxxxxxxx folder to just 'rakudo'.

cd c:\temp\rakudo
perl --gen-parrot

Generating Parrot ...
C:\Perl\bin\perl.exe build/

The system cannot find the path specified.
Checking out Parrot r37869 via svn...
'svn' is not recognized as an internal or external command,
operable program or batch file.

Oops. I need to have subversion installed so that it can grab the parrot sources. I remember starting a Perl 6 guide last year that gave instructions on how to get subversion and svk setup.

After skipping through, I downloaded:-

Then extracted them to c:\temp\svn. I don't think I need to set this up with Apache to get this working. So for now I'll just update my path to point to the svn binary folder:-

set PATH=%PATH%;c:\temp\svn\svn-win32-1.6.0\bin

Now retry the Rakudo build:-

cd c:\temp\rakudo
perl --gen-parrot

Ok. Got a lot further this time but still failed. Useful parts of the output:-

Since you're running this program, you obviously have Perl 5--I'll be pulling
some defaults from its configuration.


inter::progs -        Determine what C compiler and linker to use...Compilation failed with 'cl'

So it's getting default from Perl 5. As I'm running ActivePerl which comes pre-compiled and without a compiler, this is the problem. ActivePerl is built with MSVC++. I can see 3 options:-

1) Installing MSVC++
2) Install Strawberry Perl that comes with a compiler
3) Install a separate compiler and get the parrot install to use this instead of MSVC++

Hmm. I do have a copy of MSVC++, but it takes ages to install and I don't fancy waiting for it. Installing Strawberry Perl would be easy, but it might effect my current ActivePerl and scripts I run on this system. I'll try option 3.

Googling ActivePerl MinGW seems that these two work well together and have done since 2005. I'll try just installing MinGW and see if that's enough.

I downloaded the Automated MinGW Installer and ran it selecting a full install to c:\MinGW.

Add this to the path and retry the Rakudo install:-

set PATH=%PATH%;c:\MinGW\bin

cd c:\temp\rakudo
perl --gen-parrot

That seems to have been enough. Parrot it now building.

Righty then. Looks like it all went ok. Finishing with the message:-

You can now use 'mingw32-make' to build Rakudo Perl.
After that, you can use 'mingw32-make test' to run some local tests,
or 'mingw32-make spectest' to check out (via svn) a copy of the Perl 6
official test suite and run its tests.

But running mingw32-make is giving me the error:-

makefile:332: *** commands commence before first target.  Stop.

Checking the makefile, line 332 is:-
perlcritic -1 --profile tools\util\perlcritic.conf $(CRITIC_FILES)

If I type perlcritic in the command shell then I get a command not recognised error. So I'm guessing perlcritic is a requirement that you need to install before trying to build Rakudo.

ppm install Perl-Critic

Hmmm. Still getting the same make error, even with a working perlcritic command...

I'm no Makefile expert, I can't see what's wrong. I've subscribed to the mailing list to see if they can help :/

Update:  The guys on the mailing list got back to me with a solution the same night :) They've also updated the master tree with the fix, so anyone reading this should find it works first try.
 I'll do another blog post when I've had a bit more of a play...


No TrackBacks

TrackBack URL:

Leave a comment

About this Entry

This page contains a single entry by Lyle published on April 6, 2009 12:38 AM.

Perl patching experiences part 2 was the previous entry in this blog.

First Perl 6 experiences part 2 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.