Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Rakudo Star Perl 6 distribution


This is Rakudo Star, a useful, usable Perl 6 distribution for "early adopters".

This is the 2015.02 release of Rakudo Star.

Rakudo Star is Copyright (C) 2010 - 2015 by the Rakudo Star Team.

License Information
Rakudo Star is distributed under the terms of the Artistic License 2.0.
This distribution contains software collected from other sources; see the
individual source subdirectories (in parrot/, rakudo/, MoarVM/ and modules/)
for copyright and licensing information of those components.

The Rakudo Perl 6 compiler can target MoarVM, the JVM, and the Parrot
Virtual Machine. Rakudo Star fully supports MoarVM and Parrot; not all
modules work on the JVM at present. You can choose to build and install
Rakudo for one or more of these virtual machines at configure time.

Build Prerequisites for Rakudo on MoarVM
To build Rakudo Star on MoarVM, you need at least a 'make' utility, a C
compiler, and Perl 5.10.0 or newer. Building Rakudo on MoarVM needs a
machine with a gigabyte of memory; for a 32-bit build, you may get by
with less.

Build Prerequisites for Rakudo on the JVM
To build Rakudo Star on the JVM, you need at least a 'make' utility,
both 'java' and 'javac' available in your path, and Perl 5.10.0 or
newer. The 'java' and 'javac' are obtained by installing a Java
Development kit, for example openjdk-7 or the Oracle JDK.

The newer the JDK you have the better; due to bugs in the
invokedynamic instruction in early JDK7 releases, JDK7 update 21 or
above is suggested. JDK8, if available, is better still. The build
can complete within a gigabyte of memory.

Build Prerequisites for Rakudo on Parrot
To build Rakudo Star on Parrot you need at least a 'make' utility, a C
compiler, and Perl 5.10.0 or newer. You probably also want a machine with
a fair amount of memory available: 1GB is known to be too small for
building Rakudo on Parrot, while 2GB is generally known to be sufficient.

In order to fully support Unicode, you'll also want to have the ICU
library installed ( Rakudo can run
without ICU, but some Unicode-related features will not work properly.

On Debian GNU/Linux or Ubuntu Linux, the necessary components
for building Rakudo can be installed via the command

    aptitude install build-essential libicu-dev openjdk-7-jdk

Readline support also requires the "libreadline-dev" library.

On RedHat/Fedora/CentOS, the components can be installed with

    yum groupinstall development-tools
    yum install libicu-devel readline-devel

Configuring Rakudo Star
The easiest way to build Rakudo Star for a particular backend is:

    $ perl --backend=moar --gen-moar       # MoarVM
    $ perl --backend=parrot --gen-parrot   # Parrot
    $ perl --backend=jvm --gen-nqp         # JVM

You can also build for all backends:

    $ perl --backend=parrot,jvm,moar --gen-parrot --gen-moar

Note that --gen-parrot automatically builds a Parrot for you, and
--gen-moar does likewise. Both imply --gen-nqp, which builds NQP, a
subset of Perl 6 that is used to implemented Rakudo.

Configure this way, one or more Perl 6 executable and selected Perl
6 modules will be installed into the install/ subdirectory, which
resides inside the source archive directory. Running make install
will *not* install anything into /usr/local. If you want to change
this behavior, specify the install prefix using the --prefix option.

Building Rakudo Star
After configuration, build Rakudo Star with:

    $ make
    $ make install

On some 64-bit systems Parrot installation reports the lack of,
or an incomplete ICU installation. It may be required to add
a symlink to help Parrot find the ICU library:

    # ln -s /usr/include/x86_64-linux-gnu/unicode /usr/include/unicode

Once Rakudo Star is installed, you can run Perl 6 programs by doing:

    $ ./perl6

Programs can also be run by adding the "install/bin" directory
to your PATH environment variable.

If the Rakudo compiler is invoked without an explicit script to
run, it enters a small interactive mode that allows Perl 6 statements
to be executed from the command line.

Running the Perl 6 test suite
Entering "make rakudo-test" will run a small test suite that comes
bundled with Rakudo.  This is a simple suite of tests, designed
to make sure that the Rakudo compiler is basically working and that
it's capable of running a simple test harness.

Running "make rakudo-spectest" will run the Perl 6 specification
test suite ("roast") that was bundled with the Rakudo compiler release.

Running "make modules-test" will run the test suites of any installed
modules.  The modules currently have to be installed (via 'make install' 
or 'make modules-install') before the tests can be run.

Release information
Information about the current release is placed in the docs/
directory, here is a brief overview:

    docs/cheatsheet.txt   —   Perl 6 cheat sheet
    docs/announce/        —   detailed release announcements

Where to get help or answers to questions
The website contains a great many links to
resources for Perl 6 development, and is generally the starting
point for information about Perl 6.

There are several mailing lists, IRC channels, and wikis available
with help for Perl 6 and Rakudo on Parrot.  Figuring out the right
one to use is often the biggest battle.  Here are some rough

If you have a question about Perl 6 syntax or the right way to
approach a problem using Perl 6, you probably want the mailing list.  This list is primarily
for the people who want to use Perl 6 to write programs, as
opposed to those who are implementing or developing the Perl 6
language itself.

Questions about the Rakudo compiler for Parrot and the Parrot compiler 
tools can go to  Discussion about Parrot itself 
generally takes place on

The Rakudo and Parrot development teams tend to hang out on IRC a fair
bit, on and, respectively.

Rakudo's official web site is , where you can
find useful information for developers and users alike. 

Reporting bugs
Bug reports about Rakudo Star or the Perl 6 specification should be 
sent to with the moniker [BUG] (including the brackets) 
at the start of the subject so that it gets appropriately tagged in the 
RT system (  Please include or attach any sample 
source code that exhibits the bug, and include either the release name/date 
or the git commit identifier. You find that information in the output from
"perl6 --version".  There's no need to Cc: the perl6-compiler
mailing list, as the RT system will handle this on its own.

Submitting patches
Patches to the Rakudo compiler itself should be submitted to
''.  Patches for individual modules should be
submitted to the module authors (see the module source code for

We'll generally accept patches in any form if we can get them to work,
but unified diff from the 'git' command is greatly preferred.
See further instructions in the rakudo/ subdirectory for more details.
Other ways to create and submit patches are discussed at

Patrick Michaud ( is the primary author and
maintainer for Rakudo Star. See docs/CREDITS for further Rakudo
Star authors, and */CREDITS for authors of other collected

Something went wrong with that request. Please try again.