Installation Guide - VerifiableRobotics/LTLMoP GitHub Wiki
LTLMoP is supported on Linux (developed mainly on Ubuntu), Mac OS X (developed mainly on 10.9.x), and Windows (developed mainly on Win7). If you have any LTLMoP-specific trouble with installation, please feel free to post an issue.
Listed here is the bare-minimum software that must be installed for LTLMoP to run.
For a step-by-step guide on how to install these dependencies, please see the next sections.
- Programming language environments:
- Java Runtime Environment (JRE) and Java Development Kit (JDK)
- Python 2.7.x
- Python libraries:
- wxPython (A cross-platform GUI library)
- NumPy and SciPy (Libraries that provide matrix operations and optimization routines)
- Polygon (For decomposition and other polygon operations)
-
Java may already be installed on your computer; otherwise, see the Java SE Download Page. Be sure you have both the JRE and the JDK (you should be able to successfully run both
java
andjavac
from the command prompt).Note: You may need to manually add the JDK
bin/
folder to your system path. On Windows, this can be done from the command-line using the commandsetx PATH "%PATH%;C:\Program Files\Java\jdkXXXX\bin"
whereXXXX
is the JDK version number. Otherwise, see this page for more information. -
For Python, you can use the official Python installer and official wxPython installer along with this repository of library binaries (be sure to choose the packages for your version and architecture of Python).
Alternatively, for 32-bit Windows, the Python(x,y) package is a fairly convenient way to install everything at once (though you may want to disable installation of large unrelated packages like Eclipse).
Note: You may also need to manually add Python to your system path. The procedure is almost identical to the instructions above for adding the Java path, except you will save the path to the Python folder. Python usually places its folder in
C:\PythonXX
whereXX
is the version number. -
The Polygon library for Python can be installed using the installer from the official website.
-
To install dependencies on OS X, you will need to install a package manager.
Homebrew is recommended, and these instructions will assume you are okay with that choice.
- If you already have a working Homebrew installation, you should skip to Step 4.
- If you already have MacPorts installed, please see the appendix.
To install Homebrew, open up a Terminal window and run:
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
-
If you do not have them already, install the Command Line Tools for Xcode from Apple's developer downloads website (free but unfortunately requires Apple registration).
-
Run
brew doctor
. If you see a message like "Consider setting your PATH so that /usr/local/bin occurs before /usr/bin", run:
echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile
source ~/.bash_profile
- Ensure you have a java compiler. Run
javac
; if it asks if you want to install, say yes. brew install git
-
brew install python
. If it complains about having trouble linking, runbrew link --overwrite python
. - Install Numpy and Scipy:
brew tap samueljohn/python
brew tap homebrew/science
pip-2.7 install nose
brew install numpy scipy
This will take about ten minutes.
-
brew install wxmac
. This will take a while (10-20 minutes). brew install wxpython
pip install Polygon2
-
Java may already be installed on your computer. If so, you should be able to successfully run both
java
andjavac
from a terminal, otherwise you can install Java from a terminal withsuds apt-get install default-jre
andsuds apt-get install default-jdk
(or from Synaptic package manager, which can be installed from the Ubuntu Software Center). -
Most versions of Linux come with Python pre-installed. The necessary Python packages can be installed from the terminal using
sudo apt-get install python-numpy python-scipy python-wxtools
(or via Synaptic Package Manager, which itself can be installed from the Ubuntu Software Center). -
The Polygon library for Python can be installed using
pip install Polygon2
(if you need to install pip you can do so withsudo apt-get install python-pip
)
This section lists other packages that can be used for extended functionality.
- If you will want to be able to view automata as PDFs: install Graphviz.
- To perform unrealizable core-finding, LTLMoP currently requires PicoSAT to be installed into an appropriate subdirectory of
src/lib/cores
, e.g.src/lib/cores/picosat-954
. Be sure to enable trace support (i.e../configure --trace
). See also Tips for compiling PicoSAT on Windows. - To use OMPL for motion planning, you will need to install it.
- If you want to use the ODE simulator ( tested only on Windows and Ubuntu ):
- Install pygame, PyOpenGL, and PyODE (see the previous section for library sources)
- Install the Open Dynamics Engine (ODE):
- Get version 0.8 ( no later versions! ).
- If you are installing ODE on Windows, you should download the source package, then navigate to the build directory which is populated with different versions of Visual Studio solution folders named vs200X. Open one of these solutions in Visual Studio and build the solution there. This will install ODE on your system.
There are three ways to download a copy of LTLMoP:
-
For general users:
- Direct download: Download an up-to-date copy of the LTLMoP development branch (.zip) from GitHub. After downloading, extract the contents of the .zip file to the desired install directory.
-
Via Git: You can also use Git to clone the repository by running
git clone https://github.com/LTLMoP/LTLMoP.git
.
-
For LTLMoP developers:
- This method of installation will automatically set up a LTLMoP development environment for you (including automatically creating a fork on GitHub and checking it out).
- First, make sure you have Git installed. If you do not, install it as follows:
-
Windows: Git for Windows ( Note: Please make sure to leave the default option of
core.autocrlf
enabled) -
Mac OS X:
brew install git
(or, for MacPorts,sudo port install git-core
) -
Ubuntu:
sudo apt-get install git
-
Windows: Git for Windows ( Note: Please make sure to leave the default option of
- Download this install script.
- Run the script in Python and the follow the directions.
- Windows: Double-click the file.
-
Mac OS X: In a terminal, run
python ~/Downloads/LTLMoP_GitHub_Setup.py
(if you have a different default downloads directory, you will need to change the path). -
Ubuntu: In a terminal, run
python /path/to/downloaded/file
.
Warning: On Windows, due to write permissions, LTLMoP does not behave well when installed to the Program Files
directory. The recommended install directory is C:\LTLMoP
.

- Run the
dist/setup.py
script in the LTLMoP folder.- Windows: Double-click the file.
-
Mac OS X / Ubuntu: In a terminal, run
python ~/LTLMoP/dist/setup.py
(if you installed LTLMoP to a different directory, you will need to change the path).
- You will be asked whether you want to install SLURP, the optional natural language processing subsystem. It is fairly large, so you can skip this step if you don't plan on using it. You can always come back and run this script again if you change your mind later.
- That's it! Now go check out the Tutorial.
You may want to install wxGlade, which is used for developing the LTLMoP GUIs.
- To get crisp text rendering on Retina Macs, you need to use wxPython >= 2.9 (for full support, you need >= 2.9.5).
- If you are not using a Homebrewed Python, you may need to add the following lines to
Info.plist
inside thePython.app
package (e.g./opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/Info.plist
or/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Info.plist
):
<key>NSPrincipalClass</key>
<string>NSApplication</string>
**Note:** This trick is from [this page on the wxWidgets Wiki](http://wiki.wxwidgets.org/WxMac-specific_topics#Retina_display_support).
You should be able to just run: sudo port install python27 py27-numpy py27-polygon py27-scipy py27-wxpython-devel
.
This is done automatically by the dist/setup.py
script, but if you wish to manually build:
- Navigate to the directory
(LTLMoP install dir)/src/etc/jtlv/
- Run the
build.sh
script, either by double-clicking it or typingsh build.sh
at the command prompt. - If the script succeeds, it will exit with no output and the
GROne/
directory will contain several.class
files.
Note: If you have trouble running the build script, see the instructions in (LTLMoP install dir)/src/etc/jtlv/JTLV_INSTRUCTIONS
. Don't forget that the JDK needs to be in your path (see the Dependencies section); if you can't run javac
successfully from the command-line, the build process will not succeed.
- As of Oct. 2012, the Windows Naoqi SDK only supports 32-bit Python installations.
- As of Oct. 2012, the OS X Naoqi SDK seems to only work with the version of Python shipped with OS X (10.8). Copying the libraries necessary for LTLMoP from your MacPorts installation to the OS X Python installation directory seems to work okay, despite being kind of scary.