Compiling ODE, KODEX, and MISS
This how-to is on compiling ODE, KODEX and MISS for those who want to move to ODE instead of VORTEX.
It is assumed that you have OpenGL and GLUT installed and that you are using a Linux system. It takes about 15 minutes to complete everything. I have managed to compile the combo on CygWin but I would not recommend doing so, unless you have masochistic tendencies as it is quite a pain.
Obtaining ODE, KODEX and MISS
You can either download ODE, KODEX and MISS from the (semi)official or you can download a local version of the sources used for this how-to.
Compiling ODE and KODEX
First compile ODE, then move it so that it becomes a subdirectory of KODEX, and compile KODEX. Both projects should compile in the usual way, e.g.
~/sbot/ode/kodex-0.5.3/ode$ ./configure .. ~/sbot/ode/kodex-0.5.3/ode$ make .. ~/sbot/ode/kodex-0.5.3/ode$ cd .. ~/sbot/ode/kodex-0.5.3$ ./configure .. ~/sbot/ode/kodex-0.5.3/ode$ make ..
The simulator proves a bit more challenging to compile. First of all the MISS directory has to be a subdirectory of KODEX like ODE. If you try to compile it as it is PES has to be installed. PES is apparently a library for genetic algorithms used by the researchers who did the KODEX wrapper. I do not have it installed and commenting out the three references to PES in the MISS source code works:
- miss-2.1.4/src/Environment.h:39 comment out include "pes/pesnet.h"
- miss-2.1.4/src/Environment.h:150 comment out the declaration of PESNetworkAdapter NetAdapter
- miss-2.1.4/src/Environment.cpp:4 comment out the line PESNetworkAdapter* Environment::NetAdapter = NULL
Now you can do a configure and make. Despite the warnings MISS should compile and generate an executable called miss. It won't run yet, so don't get your hopes up. You need to download and compile Xerces an XML parser library.
Downloading and compiling Xerces
KODEX is for some reason distributed with the Xerces header files. This means that you will need to compile the matching version (2.5.0). Version 2.5.0 can be downloaded from Apache archive precompiled for multiple operating systems. However, it is recommented to download the source code and compile Xerces.
You can download it to whereever you want and unpack it. Compiling Xerces is almost the standard configure/make combo, however you have to declare an environment variable called XERCESCROOT pointing to the directory in which you have installed Xerces. Moreover, you have to run a script called runConfigure in the src/xercesc subdirectory, e.g.:
$ cd xerces-c-src_2_5_0/ $ export XERCESCROOT=$PWD $ cd src/xercesc $ ./runConfigure -p linux
If everything goes well you can run "make" and then "make install". 'NOTICE': In case you did not compile Xerces as root, you need to become root and to define the environment variable XERCESCROOT again in order to install Xerces. As root, run ldconfig in case miss complains that it cannot find the xerces shared library.
You should now be able to test the system.
In the MISS directory you can run miss and load the World.me definitions:
$ ./miss -load World.me
A window appears for the graphics, however in the terminal from which you started MISS you are prompted for the neural network length. Just type 0 and see robots dropping from the sky.
Now you are ready to do some research.