.. _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`