Difference between revisions of "Compiling ODE, KODEX, and MISS"

From IridiaWiki
Jump to navigationJump to search
Line 44: Line 44:
 
</pre>
 
</pre>
   
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.
+
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.
 
You should now be able to test the system.
 
   
 
== Testing ==
 
== Testing ==

Revision as of 12:54, 10 January 2005

This how-to is on compiling ODE, KODEX and MISS for those who want to move to ODE instead of VORTEX.

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

Compiling MISS

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:

  1. miss-2.1.4/src/Environment.h:39 comment out include "pes/pesnet.h"
  2. miss-2.1.4/src/Environment.h:150 comment out the declaration of PESNetworkAdapter NetAdapter
  3. 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.

Testing