Installation instructions for Frama-C Lithium

Assuming OCaml (and the LablGtk2 bindings for the GUI) are installed, the following commands should be enough to compile Frama-C:

  tar zxvf frama-c-Lithium-20081201.tar.gz
  cd frama-c-Lithium-20081201
  ./configure
  make
  make install

The binaries frama-c (and frama-c-gui if you have LablGtk2) are installed in /usr/local/bin. See below for more detailed instructions. You may also consult the INSTALL file within the source distribution.

Requirements

The following environments have been verified to compile Frama-C provided that the proper OCaml and LablGTK version were installed:

Other distributions may also be able to compile Frama-C provided they have the following tools:

You may use Godi to install Frama-C and the appropriate OCaml and LablGtk versions.

Ocamlgraph and the Why platform are included in this distribution. Note that the Why platform is installed together with Frama-C (if the jessie plug-in is enabled), and might overwrite an existing why installation. Why version 2.17 is required, and versions 2.16 and below are not compatible with Frama-C.

Configuration

Frama-C is configured by ./configure [options]

The configure script is generated by autoconf, so that the standard options for setting installation directories are available. In particular --prefix=/path sets the installation path. A plugin can be enabled by --enable-plugin and disabled by --disable-plugin. By default, all distributed plugins are enabled. See ./configure --help for the current list of plugins. Those who defaults to 'no' are not part of the Frama-C distribution (usually because they are currently too experimental to be released).

If you have a compatible Why platform version (2.16 or higher) installed, using ./configure --with-why-dir=no will not overwrite your Why platform installation.

Compilation

make

Interesting Makefile targets are:

Installation

make install

Depending on the installation directory, this may require superuser privileges. This installs the following binary files:

Shared files are installed into the directory share/frama-c. It contains some .h files used as prelude by Frama-C. As stated above, the Why platform is installed if you have enabled the jessie plug-in.