.. _prerequisites:
Prerequisites
====================
The software required by ARS to run (or install other parts) is listed in
the following sections.
.. note::
On a \*NIX system, some actions, such as:
* ``apt-get install``
* ``make install``
* ``python setup.py install``
* ``pip install``
require root permission because they affect it as a whole.
In those cases prepend ``sudo``.
Python-related packages
------------------------------
Obviously you need Python (i.e. the interpreter and the basic libraries) but
also its header files, static library, and the 'update-python-modules'. Don't
be scared by those names, they are quite common for software, even if you
had not heard them before.
::
apt-get install python python-dev python-support
Other Python packages
------------------------------
`Numpy `_
(Numerical Python) is a very popular package for scientific work.
It adds "support for large, multi-dimensional arrays and matrices, along with a
large library of high-level mathematical functions to operate on these
arrays." (`Wikipedia `_)
`Cython `_ is required to build ODE's Python bindings.
It "is a language that makes writing C extensions for the Python language as
easy as Python itself. It is based on the well-known Pyrex, but supports more
cutting edge functionality and optimizations." (cython.org)
::
apt-get install python-numpy cython
Visualization Toolkit (VTK)
------------------------------
"The Visualization Toolkit (VTK) is an open-source, freely available software
system for 3D computer graphics, image processing and visualization. VTK
consists of a C++ class library and several interpreted interface layers
including Tcl/Tk, Java, and Python." (`vtk.org `_)
::
apt-get install libvtk5.8 python-vtk
.. note::
VTK source code packages include the Python wrappers but the default setup
for most systems will not install them. In general, the binary distributions
of VTK do not include the Python wrappers.
Open Dynamics Engine (ODE)
------------------------------
"`ODE `_
is an open source, high performance library for simulating rigid body
dynamics. It is fully featured, stable, mature and platform independent with an
easy to use C/C++ API. It has advanced joint types and integrated collision
detection with friction. ODE is useful for simulating vehicles, objects in
virtual reality environments and virtual creatures. It is currently used in
many computer games, 3D authoring tools and simulation tools." (ode.org)
Library
^^^^^^^^^^
After unpacking archive ``ode-0.12.tar.gz`` (or ``.zip``, ``.tar.bz2``)::
cd ode-0.12
./configure --enable-double-precision --with-trimesh=opcode --enable-new-trimesh --enable-shared
make
make install
.. warning::
If you downloaded ODE's source code from its Subversion repository instead of
getting a release version you must 'bootstrap' the process by running
``sh autogen.sh`` before ``configure``.
Python bindings
^^^^^^^^^^^^^^^^^^^^
Run the following at the command line::
cd bindings/python/
python setup.py install
.. removed `python setup.py build_ext` because is redundant with `... install`