Kirsle.net logo Kirsle.net

Build Perl 6 in Fedora 11

August 6, 2009 by Noah
The current instructions for building Rakudo Perl 6 are a lil bit confusing. Here's what I did to build it on Fedora 11 Linux.

For those that don't know, Perl 6 is the new version of Perl and is still under rapid development (and has been for several years). However, it's come a long way already. In Spring of 2010 there will be a "useful and usable" release of Perl 6. But for now you can still build it and play around.

Note that there are some dependencies required to build some of these things. Read the "README" files that ship with Parrot and Rakudo for details. On Fedora I needed gcc, make, libicu-devel, and subversion to build everything. Check out Parrot, the virtual machine that Rakudo targets

The Parrot Virtual Machine is a pretty weird program that's supposed to be able to run various different kinds of dynamic languages, including Perl 6. Rakudo Perl 6 uses Parrot, so we need Parrot.

Fedora provides packages for Parrot via the yum database, but I didn't use them; firstly I wanted the latest version and secondly I needed the source code anyway to build Perl 6.

Check out Parrot using svn. Something like this (as root or a user that is able to modify files in /usr/src/svn)...

# mkdir -p /usr/src/svn
# cd /usr/src/svn
# svn co https://svn.parrot.org/parrot/trunk parrot
# cd parrot
# perl Configure.pl
# make
# make test
# make install
This installs it to /usr/local/. The next place we want to go is /usr/local/lib/parrot/1.4.0-devel/languages (note the "1.4.0-devel" might be some different version number).

Get Rakudo Perl

# cd /usr/local/lib/parrot/1.4.0-devel/languages
# git clone git://github.com/rakudo/rakudo.git
# cd rakudo/
The Configure.pl script to build Perl 6 requires the "parrot_config" file that came with the source code of Parrot, in the svn repository. So I just made a symbolic link to my svn folder here.
(current dir: /usr/local/lib/parrot/1.4.0-devel/languages/rakudo)
# ln -s /usr/src/svn/parrot
Then build Perl 6.
(current dir: /usr/local/lib/parrot/1.4.0-devel/languages/rakudo)
# perl Configure.pl
# make
If all went well there will be a "perl6" binary in the current directory. I then just made a symlink to it in /usr/bin:
# cd /usr/bin
# ln -s /usr/local/lib/parrot/1.4.0-devel/languages/rakudo/perl6
Now you can make a test Perl 6 script:
$ cat <<'EOF' > test.pl
> #!/usr/bin/perl6
> print "Hello world!\n";
> EOF
$ chmod 0755 test.pl
$ ./test.pl
Perl 6 CGI scripts run just fine in the Apache web server too.

I imagine that by Spring 2010 Perl 6 will ship with a "make install" script, possibly some RPMs, and generally be easier to install.

Tags:

Comments

There are 0 comments on this page. Add yours.

Add a Comment

Used for your Gravatar and optional thread subscription. Privacy policy.
You may format your message using GitHub Flavored Markdown syntax.