Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
94 lines (62 sloc) 2.77 KB

Build Requirements

There are a number of requirements for building Parrot from source, and a number of optional libraries and components that can be used to extend its capabilities. None of these requirements or optional components are necessary unless you are building Parrot from the source code.

  • C Compiler

    Parrot can be built with a number of C compilers. Parrot is written using the C89 standard, and the Parrot project officially supports the most recent C89 compiler on major systems, including the most recent versions of Microsoft C Compiler and the GNU Compiler Collection (GCC).

  • make

    Make is a program to manage and automate the build process. Unix-based systems will typically have access to the make command as part of the normal development tools. Windows systems can get the nmake utility to perform the same task.

  • Git

    Git is the source control system that is used by the Parrot project. You need git to clone the latest version of the source code. You can get git at, or through one of the common packaging systems.

  • bison and flex

    Bison and Flex are used to create the lexical analyzer and parser components for the PIR compiler IMCC. These are not necessary most of the time unless you are planning to hack on IMCC directly.

  • ICU

    ICU is a library for handling and manipulating Unicode text strings. Without ICU libraries installed, you wont be able to use Unicode with your built Parrot.

  • GMP

    GMP is a mathematics library for manipulating arbitrary precision and arbitrary size numbers. GMP is an optional library used by the BigInt and BigNum PMCs.

  • Readline

    The readline library allows some advanced behaviors on the command line such as command history.

  • PCRE

    PCRE is a library that provides access to the Perl 5 regular expression syntax. In order to use these regular expressions, you will want to install PCRE. To do that on Linux you use the command:

    sudo apt-get install libpcre3-dev
  • GDBM

  • PQ

  • GLUT

    GLUT is an interface to the OpenGL API. It enables programs running on Parrot to have access to 3D graphics. To get GLUT on Linux systems you can use the command:

    sudo apt-get install libglut3-dev

In addition to these build requirements listed above, there are a number of Perl libraries needed to enable the full set of tests and testing facilities, and to generate all the necessary documentation.

To get the Perl packages for Parrot, you can use the commands:

sudo cpan Test::Base Test::Pod Test::Pod::Coverage Pod::Spell
sudo cpan File::HomeDir File::Which Readonly Regexp::Parser
sudo cpan Perl::Critic Perl::Critic::Bangs Test::Perl::Critic