# Installation \htmlonly

## Select your operating system:

## Ubuntu

Download the OMPL installation script. First, make the script executable:

    chmod u+x install-ompl-ubuntu.sh

Next, there are three ways to run this script:

- `./install-ompl-ubuntu.sh` will install OMPL without Python bindings
- `./install-ompl-ubuntu.sh --python` will install OMPL with Python bindings
- `./install-ompl-ubuntu.sh --app` will install OMPL.app with Python bindings

The script downloads and installs OMPL and all dependencies via `apt-get` & `pip` and from source. It will ask for your password to install things. The script has been tested on vanilla installs of Ubuntu 14.04 (Trusty), 15.10 (Wily), and 16.04 (Xenial).
Simply type:

    apt-get install libompl-dev ompl-demos

Note that this package does not include Python bindings.
Debian packages for OMPL are also found in ROS distributions. Note that these packages do not include Python bindings. To install the ROS version of OMPL you need to add the ROS repository to your list of sources (you have probably have done this already if you are using ROS):

    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" > /etc/apt/sources.list.d/ros-latest.list'
    wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

and install OMPL:

    sudo apt-get update
    sudo apt-get install ros-`rosversion -d`-ompl

Please see MoveIt! for further information.

## Fedora

Simply type:

    sudo yum install ompl

Note that this package does not include Python bindings.

## Linux (generic)

OMPL requires Boost (version 1.54 or higher) and CMake (version 2.8.7 or higher). Some additional features are available if Eigen 3 or ODE are installed. To be able to generate python bindings you need to install the Python library and header files and Py++.

Once the dependencies are installed, OMPL can then be compiled like so:

- Create a build directory and run cmake:

      cd ompl
      mkdir -p build/Release
      cd build/Release
      cmake ../..

- Optionally, generate the Python bindings with `make -j 4 update_bindings`.
- Optionally, run the test programs by typing `make test`.
- Optionally, generate the documentation (i.e., a local copy of this web site) by typing `make doc` (requires Doxygen and Graphviz to be installed).

The build system includes a number of options that you can enable or disable.

## OS X

Install MacPorts and type:

    sudo port sync \; install ompl

Install Homebrew and type:

    brew install ompl

Note that the Homebrew formula does not include Python bindings.

## MS Windows

Installation on Windows is possible, but not supported at this time. Our configuration files for compiling OMPL using AppVeyor's Windows Continuous Integration servers might serve as a useful starting point.
\endhtmlonly