* Installation Guide [#t76324d1]
''Table of Contents''
#contents

* OS Specific Installation Guide [#OSSpec]

** [[Debian/Ubuntu>./Debian and Ubuntu]] [#i1d8be6b]
- [[Installation Guide for Debian/Ubuntu>./Debian and Ubuntu]]
** [[Mac>./Mac]] [#xd4a1523]
- [[Installation Guide for Mac>./Mac]]

* General Installation Guide [#General]

** Dependent Libraries [#k140a87a]
To build SkyAI, the following libraries (including headers) are needed:

- [[Octave>http://www.gnu.org/software/octave/]] (liboctave, headers)

- [[Boost C++ Libraries>http://www.boost.org/]]
-- current_function.hpp
-- Bind (bind.hpp)
-- Conversion (lexical_cast.hpp)
-- Filesystem (filesystem/operations.hpp, filesystem/path.hpp)
-- Function (function.hpp)
-- Preprocessor (preprocessor.hpp)
-- Random (random.hpp)
-- Spirit (spirit/include/classic.hpp)
-- Tokenizer (tokenizer.hpp)
-- (Thread)

- [[Open Dynamics Engine (ODE)>http://www.ode.org/]]
-- (Required only for robot-learning benchmarks)
--- libode
--- libdrawstuff
- [[Open Dynamics Engine (ODE)>http://www.ode.org/]] (Required only for robot-learning benchmarks)
-- libode
-- libdrawstuff
-- We tested the following versions:
--- 0.11.1, 0.10.1
-- ''Configure option --enable-double-precision is required for the SkyAI's benchmark''

- Some *nix-specific headers:
-- sys/ioctl.h
-- sys/resource.h
-- sys/stat.h
-- sys/time.h
-- sys/types.h
-- termios.h
-- fcntl.h
-- unistd.h


** Build [#k29289c2]
*** 1. Get the source code [#yb19ea79]
Get the files from the Git repository:
*** 1. Download the source code [#yb19ea79]
You can choose two ways:

:(1) Get the files from the Git repository (recommended)|
Execute the following command:
  $ git clone git://skyai.git.sourceforge.net/gitroot/skyai/skyai

*** 2. Create the file liblora/src/Makefile_odeflags [#nf698dc2]
This file sets some compile flags for ODE.
:(2) Download the archive (easy)|
Download an archive from [[SkyAI File List:https://sourceforge.net/projects/skyai/files/]], then extract it.

See a sample: liblora/src/Makefile_odeflags.sample
*** 2. Setup the makefiles [#se537c68]
:Makefile_preconf|
1. Create a blank file Makefile_preconf:
  touch Makefile_preconf
2. Edit it as follows:
  include $(BASE_REL_DIR)/Makefile_preconf.sample
  SKYAI_BASE := SKYAI_DIRECTORY
where SKYAI_DIRECTORY denotes the root directory of SkyAI.

*** 3. Modify makefiles [#z7922081]
The default makefiles are written for a standard Debian / Ubuntu system.  If your system is something else, some modifications may be needed about the following makefiles:
:Makefile_libconf|
1. Create Makefile_libconf as a copy of Makefile_libconf.sample
  cp Makefile_libconf.sample Makefile_libconf
2. edit Makefile_libconf

- liblora/src/Makefile_cmn
- benchmarks/humanoid01/Makefile
- benchmarks/bioloid/Makefile
- benchmarks/maze2d/Makefile
- tools/ngnet-generator/Makefile

*** 4. Build [#p64d4c4f]
*** 3. Build [#p64d4c4f]
''Build all programs''

In the skyai directory, execute:

In the SskyAI directory, execute:
  $ make

''Custom build''

You can build each sub-program in ''any order''.  If a sub-program depends on the other sub-programs, they are automatically built.
Note: liblora is a supplementary library of SkyAI, which is used in every program.

- liblora (loco_rabbits C++ libraries):
-- liblora - standard:
:Only libskyai (with ODE)|
  $ make lora skyai

  $ cd liblora/src
  $ make std
:Only libskyai (without ODE)|
  $ make lora skyai
  $ make lora_std lora_oct skyai

-- liblora - Octave:
:Maze2D demo (without ODE)|
  $ make -C benchmarks/maze2d

  $ cd liblora/src
  $ make oct

-- liblora - ODE:
* Test [#mfa70201]
To test your installation, please see [[Running Demos>Documentation/Running Demos]].

  $ cd liblora/src
  $ make ode

- libskyai (the SkyAI core system, and some modules):
* If you have a trouble... [#s1d90c8d]
Please do not hesitate to [[contact us>Developers]].
Any comments are welcome!

  $ cd libskyai/src
  $ make

- benchmarks (some demo programs):
-- maze2d:

  $ cd benchmarks/maze2d
  $ make

-- humanoid01:

  $ cd benchmarks/humanoid01
  $ make

-- bioloid:

  $ cd benchmarks/bioloid
  $ make

- tools:
-- ngnet-generator:

  $ cd tools/ngnet-generator
  $ make


Front page   New List of pages Search Recent changes   Help   RSS of recent changes