descriptionparrot vm git mirror
homepage URL
last changeWed, 15 Sep 2010 19:50:44 +0000 (15 19:50 +0000)
content tags
This is Parrot, version 2.7.0

Parrot is Copyright (C) 2001-2010, Parrot Foundation.



This code is distributed under the terms of the Artistic License 2.0.
For more details, see the full text of the license in the file LICENSE.

Parrot is a virtual machine designed to efficiently compile and execute
bytecode for dynamic languages.


You need a C compiler, a linker, and a make program of course.

If you will be linking with the ICU library you have to download and install it
before configuring Parrot. Get it from

You also need Perl 5.8.4 or newer, and Storable 2.12 or newer
for running various configure and build scripts.

For most of the platforms that we are supporting initially, Parrot should build
out of the box. docs/parrot.pod lists the core platforms. PLATFORMS provides
reports on the platforms on which Parrot has been built and tested.


For now, unpack your Parrot tarball, (if you're reading this, you've
probably already done that) and type


to run the Configure script. The script extracts
configuration from the running perl5 program.  Unfortunately, the perl5
configuration is not set up to compile and link c++ programs, so you
may need to explicitly tell which compiler and linker to
use.  For example, to compile C files with 'cc', C++ files with
'CC', and link everything together with 'CC', you would type

    perl --cc=cc --cxx=CC --link=CC --ld=CC

See "perl --help" for more options and docs/configuration.pod
for more details.

For systems like HPUX that don't have inet_pton please run

    perl --define=inet_aton

Running will generate a config.h header, a Parrot::Config
module, platform files and many Makefiles.

The file "myconfig" has an overview of configure settings.

Next, run make. ( will tell you which version of make it
recommends for your system.)

Now, the interpreter should build.  If you are building the ICU library
(this is the default on most systems), you need to use GNU make instead
(or something compatible with it).

You can test Parrot by running "make test". You can run the tests in parallel
with "make TEST_JOBS=3 test".

You can run the full test suite with

    make fulltest

Note: PLATFORMS contains notes about whether test failures are expected
on your system.

You can install Parrot with:

    make install

By default, this installs in /usr/local, with the Parrot executable in
/usr/local/bin. If you want to install Parrot into another location use:

    perl --prefix=/home/joe/bird
    make install

But please note that dynamic libs will not be found for non-standard
locations unless you set LD_LIBRARY_PATH or similar.

Look at docs/parrot.pod and docs/intro.pod for where to go from here.  If you
have any problems, see the section "How To Submit A Bug Report" in
docs/submissions.pod.  These documents are in POD format. You can view these
files with the command:

    perldoc -F docs/intro.pod


For documentation on the user-visible changes between this version and
previous versions, please see NEWS.


The Parrot user mailing list is Subscribe by
filling out the form at .
The list is archived at .

For development discussions see the information in docs/gettingstarted.pod.


See docs/submissions.pod for more information on reporting bugs and
submitting patches.


The following web sites have all the information you need about Parrot:

Have fun,
   The Parrot Team.
2010-09-15 mikehhfix codetest failure - ASSERT_ARGS does not have a... mastertrunk
2010-09-15 mikehhfix codetest failure - trailing spaces
2010-09-15 mikehhPBC_COMPAT requires tab separators not spaces
2010-09-15 nwellnhofSkip tests from r48987 without ICU
2010-09-15 dukeleto[harness] Update smolder submission info
2010-09-15 lubenfix bug in logical not on PMCs when dest == src
2010-09-15 Paul C. AnagnostopoulosFirst round of improvements to Parrot debugger
2010-09-15 cokeFixup some makefile dependencies for chromatic++
2010-09-15 gerdadd and change NEWS for 2.8.0 release
2010-09-15 nwellnhof[str] Introduce growable strings
2010-09-15 gerdsome news for 2.8.0
2010-09-15 lubenUpdated DEPRECATED.pod, bumped PBC_COMPAT
2010-09-15 lubenfix indentation
2010-09-15 lubenRipped out deprecated logical VTABLES
2010-09-15 plobsingavoid creating unnecessary lexinfos for subs with ...
2010-09-15 lubenDo not create empty hashes in get_X_keyed_str vtables
10 years ago assert_args-34775
10 years ago smoke2smolder-34199
10 years ago RELEASE_0_8_2
10 years ago RELEASE_0_8_0
10 years ago testparrottest-33271
10 years ago RELEASE_0_8_1
10 years ago fileconfig-32167
10 years ago RELEASE_0_7_1
10 years ago newsc-30513
10 years ago RELEASE_0_7_0
10 years ago RELEASE_0_7_0@30352
10 years ago scriptconfigure-29975
10 years ago darwin_fix_hints-29925
10 years ago revisionpm-29566
10 years ago RELEASE_0_6_4
10 years ago noautopack-29452
8 years ago trunk
8 years ago master
10 years ago pdd28str_part2
10 years ago strings
10 years ago morph_pmc_type
10 years ago removing_stm
10 years ago pcc_invoke_convert
10 years ago pdd09gc_part2
10 years ago pdd09gc_part1
10 years ago rvar2
10 years ago pdd30install_stage4
10 years ago jit_h_files
10 years ago cc_restart
10 years ago rvar
10 years ago bcanno
10 years ago pct_hll