Docs > Ikaros for Linux
These are the Linux specific instructions on how to compile Ikaros using only command-line tools and how to add a new module to the project.
The software used is listed in the end of the document. Ikaros will most likely work with later package versions than those listed here.
> sudo apt-get install libpng-dev g++ libgsl0-dev libjpeg62-dev
> tar -xzf IKAROS.1.0.0.tar.gz
> cd IKAROS.1.0.0/Linux > ./install.shThis script adds all the makefile bits we need, and also creates a "bin" subdirectory in your home catalog if you do not have one.
> cd ../Source > makeThe ikaros binary will be placed in the "Source" directory. If you want to install it in your "~/bin" directory, run:
> make installYou can clean out the source tree from object files and other intermediate files by running:
> make cleanYou can build Ikaros in debug-mode. To do so, first clean the source tree (to make sure everything gets rebuilt). Then build with make debug:
> make clean > make debugOnce you want to build Ikaros normally again, don't forgot to again run make clean before make.
At the shell prompt run ikaros this way:
> ikaros experimentfile.ikc
Here, "experimentfile.ikc" is the path to the experiment you want to run. The make-based build system automatically sets the needed paths, so your binary can be placed anywhere you like. It is convenient to place it in your ~/bin so you can use ikaros like any other command on the command-line. Example ikc-files are available in the Examples directory.
If you want to use ikaros with the Web-based user interface, start ikaros like this:
> ikaros -w8000 experimentfile.ikc
Ikaros will now wait for you to connect to 127.0.0.1:8000 with your web browser. Enter this URL into FireFox. You will find a start-up page where you can select the different views the experimentfile makes available.
There are several things you can set in the main Makefile. You can add flags for building (globally needed only; as we'll see later you set module-specific settings elsewhere). You can add definitions that will be visible in the source code, and you can set where to place the binary.
Please note that the definitions in IKAROS_System.h do not directly affect the build system. Specifically, setting "LINUX" or "MINIMAL" will not have the intended effect there. Instead, set it in the main Makefile:
DEFS := -DMINIMALor
DEFS := -DLINUX
For information, all libraries that are specific for a module (like libJPEG and libPNG) are included in the module-specific makefile fragment in its module directory, so for instance, you'd find it included in InputJPEG/Rules.mk. CBLAS (libgslcblas) and thread libraries (libpthread) are included in the Kernel/Rules.mk makefile fragment.
While quite easy to add another module to the simulator it does involve a few steps. The idea is to create a new folder to hold the module, add the folder to the project, add a bit of documentation (you will thank yourself for doing this), and tell the system to add the module to the Ikaros.
dir := $(d)/MyModule include $(dir)/Rules.mkand change the name from "MyModule" to your module.
An example on how to write an Ikaros module can be found here.
Ubuntu Linux
http://www.ubuntu.com/
Ubuntu 7.04 (Feisty Fawn)
Ikaros
http://www.ikaros-project.org/
Ikaros 1.0
Independent JPEG Group
http://www.ijg.org/
libjpeg62-dev
GSL - GNU Scientific Library
http://www.gnu.org/software/gsl/
libgsl0-dev
Only GSL's BLAS functions are used.
POSIX Threads
libpthread-dev
PNG Libary
http://www.libpng.org/
libpng12-dev
LZW compression Libary
http://www.zlib.net/
zlib1g-dev
Copyright © 2001-2007 Christian Balkenius