Open MPI logo

Source Code Access: Requirements to Build from a Subversion Checkout

  |   Home   |   Support   |   FAQ   |  

This page is for developers who want to work on the internals of Open MPI itself.
If you are a general user or system administrator looking to simply download and install Open MPI, please click here.


After obtaining a successful Subversion checkout, the following tools are required for developers to compile Open MPI from its repository sources (users who download Open MPI tarballs do not need these tools - they are only required for developers working on the internals of Open MPI itself):

Software package Notes URL
Subversion client Version 1.2.0 or above http://subversion.tigris.org/
GNU m4 See version chart below ftp://ftp.gnu.org/gnu/m4/
GNU autoconf See version chart below ftp://ftp.gnu.org/gnu/autoconf/
GNU automake See version chart below ftp://ftp.gnu.org/gnu/automake/
GNU libtool See version chart below ftp://ftp.gnu.org/gnu/libtool/
Flex Version 2.5.4 or above ftp://ftp.gnu.org/non-gnu/flex/


Open MPI Release M4 Versions Autoconf Versions Automake Versions Libtool Versions
v1.0NA2.58 - 2.591.7 - 1.9.61.5.16 - 1.5.22
v1.1NA2.591.9.61.5.16 - 1.5.22
v1.2NA2.591.9.61.5.22 - 2.1a
v1.31.4.112.631.10.12.2.6 - most recent
trunk1.4.112.631.10.12.2.6 - most recent

Note that other Autotool combinations may work, but are untested and unsupported.

Autoconf/Automake Note: If Autoconf 2.60 (and higher) is used, Automake 1.10 (and higher) must be used.

Libtool Note: The v1.2 branch and later (including the present trunk) require the use of the Libtool 2 so that Open MPI can build the Fortran 90 module as a shared library. If (and only if) you intend to not build the Fortran 90 library or your Fortran 77 and Fortran 90 compilers have the same name (ie, gfortran), you can use Libtool 1.5.22.

Note: There was a period of time where OMPI nightly trunk snapshot tarballs were made with a Libtool 2.0 development snapshot. This is now deprecated; Open MPI uses official Libtool releases (no official Open MPI releases used the Libtool 2.0 development snapshot).

Although it should probably be assumed, you'll also need a C/C++ compiler.

The HACKING file in the top-level directory of the Open MPI checkout details how to install the tools listed above and the steps required to build a developer checkout of Open MPI. It always contains the most current information on how to build a developer's copy of Open MPI.

shell$ ./configure --prefix=$HOME/openmpi-install
[...lots of output...]

This configures Open MPI and tells it to install under $HOME/openmpi-install.

NOTE: by default, when configuring and building Open MPI from a Subversion checkout, all debugging code is enabled. This results in a significant run-time performance penalty. There are several options for building an optimzed Open MPI; see the HACKING file for more details.

NOTE: you only need the Subversion client. Getting the server to compile may be quite complex and require a lot of dependencies -- the client is currently significantly easier to compile.

NOTE: Most Linux distributions and OSX install Flex by default (and this is sufficient). Other operating systems may provide "lex", but this is notsufficient -- flex is required.