''Table of Contents''
#contents

* Installation Guide for Debian/Ubuntu (32bit) [#ad9ab29f]

** 1. Install Octave, Boost, and ODE [#y7aeebfd]
:[[Octave>http://www.gnu.org/software/octave/]]|
Install the packages, octave3.0 and octave3.0-headers.
  $ sudo apt-get -f install octave3.0 octave3.0-headers
Note: octave3.2 is not supported in SkyAI 0.1.0.&br;
Use the latest version to work with octave3.2 (package names are: octave3.2 octave3.2-headers).&br;
Note: octave3.2 is not supported by SkyAI 0.1.0.  Use the latest version of SkyAI (get by git) to work with octave3.2 (package names are: octave3.2 octave3.2-headers).&br;
Note: You may need to create a symbolic link of libatlas.so, as follows:
  $ cd /usr/lib
  $ sudo ln -s libatlas.so.3gf libatlas.so

:[[Boost C++ Libraries>http://www.boost.org/]]|
Install libboost1.40-all-dev.
  $ sudo apt-get -f install libboost1.40-all-dev
// SkyAI may not work with libboost1.48-all-dev because of some problems of boost::filesystem

:[[Open Dynamics Engine (ODE)>http://www.ode.org/]]|
Since the binary package of ODE does not provide libdrawstuff, we compile ODE from the source code.
First of all, we need to install OpenGL:
  $ sudo apt-get -f install libglut3 libglut3-dev
If you cannot find out these packages, freeglut3 and freeglut3-dev may be the alternatives.&br;
Then, download the source code (e.g. ode-0.11.1.zip) and extract it:
  $ cd ~/lib
  $ unzip ode-0.11.1.zip
  $ cd ode-0.11.1/
// version 0.12 seems to be OK
Here, we put ODE on ~/lib/ode-0.11.1, but any location is possible.
Execute ./configure (maybe you need to install the other packages):
  $ ./configure --enable-double-precision
Here, ''--enable-double-precision is required for the SkyAI's benchmark''.
If the configure succeeded, execute the make command:
  $ make
That's it. You need NOT to execute 'make install'.
:Note|
When installing ODE, you will see the following errors:
  x11.cpp:108: error: undefined reference to 'XOpenDisplay'
  x11.cpp:123: error: undefined reference to 'XCreateColormap'
  ...
To fix this problem, you need to change the configure option.  These errors arise because the library libX11.so is not about to be linked.  Thus, set -lX11 in X_EXTRA_LIBS, then configure.  Specifically, if you are using bash, execute as follows:
#codeh(sh){{
X_EXTRA_LIBS=-lX11 ./configure --enable-double-precision
}}

** 2. Download the source code [#x910bfde]

You can choose two ways:

:(1) Get the files from the Git repository (recommended)|
You need the Git program. If you do not have Git, install:
  $ sudo apt-get -f install git-core
Download SkyAI from sourceforge:
  $ cd ~/proj
  $ git clone git://skyai.git.sourceforge.net/gitroot/skyai/skyai
Here, we put SkyAI on ~/proj/skyai, but any location is OK.
:(2) Download the archive (easy)|
Download an archive from [[SkyAI File List:https://sourceforge.net/projects/skyai/files/]], then extract it.
Here, we assume the extracted directory is ~/proj/skyai, but any location is OK.


** 3. Setup the makefiles [#cd133e73]
Create the following files at the SkyAI directory (e.g. ~/proj/skyai).

:Makefile_preconf|
  include $(BASE_REL_DIR)/Makefile_preconf.sample
  SKYAI_BASE := $(wildcard ~/proj/skyai)
Here, we assume that SkyAI is put on ~/proj/skyai.  If not, modify SKYAI_BASE.

:Makefile_libconf|
  ## for Octave
  ifeq ($(USING_OCTAVE),true)
    OCTAVE_VER:=3.0.5
    LIBS += -I/usr/include/octave-$(OCTAVE_VER)
    LDLIBS += -L/usr/lib/octave-$(OCTAVE_VER) -loctave -lcruft -Wl,-rpath /usr/lib/octave-$(OCTAVE_VER)
    LDLIBS += -ldl -lfftw3 -L/usr/lib/atlas -latlas -llapack -lblas
  endif
  
  ## for ODE
  ifeq ($(USING_ODE),true)
    LIBODE := $(wildcard ~/lib/ode-0.11.1)
    LIBS += -I$(LIBODE)/include
    LIBS += -DODE_MINOR_VERSION=11 -DdDOUBLE
    LDLIBS += $(LIBODE)/ode/src/.libs/libode.a
    LDLIBS += $(LIBODE)/drawstuff/src/.libs/libdrawstuff.a
    LDLIBS += -lSM -lICE -lGL -L/usr/X11R6/lib -lXext -lX11 -ldl -lGLU -lpthread
  endif
Here, we assume that (1) the octave version is 3.0.5, and (2) ODE is version 0.11.1 and put on ~/lib/ode-0.11.1.  If you are using a difference configuration, modify OCTAVE_VER and LIBODE.

** 4. Build [#w59e824f]
In the skyai directory, execute:
  $ make


* Installation Guide for Debian/Ubuntu (64bit) [#y9e04542]
In the procedure of Debian/Ubuntu (32bit), change the setup of Makefile_preconf as follows:
  include $(BASE_REL_DIR)/Makefile_preconf.sample
  SKYAI_BASE := $(wildcard ~/proj/skyai)
  
  ifeq ($(DEBUG),true)
    CXXFLAGS := -g -Wall -rdynamic
  else
    CXXFLAGS := -g -Wall -rdynamic -O3
  endif
  LDFLAGS  := $(CXXFLAGS)


* Test [#b0f4fe2d]
To test your installation, please see [[Running Demos>Documentation/Running Demos]].


* If you have a trouble... [#i4ebcee3]
Please do not hesitate to [[contact us>Developers]].
Any comments are welcome!

Front page   Edit Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes