1 /*! \page installation Installation
2 Currently SHOGUN has been confirmed to be <b>fully functional</b> on PowerPC,
3 i386 and AMD64 Linux (tested on debian/ubuntu and gentoo). We also managed
4 to compile SHOGUN on MacOSX and via cygwin on WIN32 platforms. However some
5 manual tweakings of configuration files might be necessary.
7 \section from_package From a Package
8 SHOGUN is currently pre-packaged for debian (see http://www.debian.org) and
9 available on MacOSX via macports (see http://www.macports.org )
11 \subsection on_debian Installation on Debian/Ubuntu
12 On debian, depending on the interface you want, install the package(s)
15 libshogun-dev - for C++ developers building extensions using
17 shogun-csharp-modular - for the modular csharp interface
18 shogun-lua-modular - for the modular lua interface
19 shogun-java-modular - for the modular java interface
20 shogun-octave-static - for the static octave interface
21 shogun-octave-modular - for the modular octave interface
22 shogun-python-static - for the static python interface
23 shogun-python-modular - for the modular python interface
24 shogun-r-static - for the static r interface
25 shogun-ruby-modular - for the modular ruby interface
26 shogun-cmdline-static - for the static command-line interface.
27 shogun-elwms-static - for the static eierlegende wollmilchsau interface
28 (one interface to r/python/octave allowing
29 to run commands in non-native languages)
30 shogun-doc - for the documentation
33 \subsection on_osx Installation on MacOSX
35 The mac port is provided by James Kyle (Thanks!!) and makes installations on
36 OSX as easy as under linux. To install shogun you will need macports (see
37 http://www.macports.org). Then issue
42 sudo port install swig -php5 -ruby -perl +python
43 (shogun users who want the r and octave interfaces should add
44 +octave and/or +r to this list)
46 sudo port install shogun
47 (for r, octave, and elwms interfaces: +r +octave +elwms)
50 Add \verbatim DYLD_FALLBACK_LIBRARY_PATH=${macports_prefix}/lib \endverbatim
51 to your shell profile. *Tip* the default ${macports_prefix} is /opt/local/. In
52 that case, the library path would be /opt/local/lib.
55 \section from_source Installing SHOGUN from Source
57 Download SHOGUN from http://www.shogun-toolbox.org , as well as its requirements.
59 \subsection requirements Requirements
61 SHOGUN requires the standard linux utils like bash, grep, test, sed, cut, ldd,
62 uname gcc g++ and cat python (debian package: python2.4 or python2.5)
63 for the ./configure to work.
65 Optionally you will need atlas and lapack (debian packages lapack3-dev,
66 atlas3-headers atlas3-base-dev or atlas3-altivec-dev atlas3-sse2-dev)
67 installed. Note that atlas/lapack is only supported under linux (high
68 performance computing should be done under linux only anyway). In case
69 atlas/lapack is unavailable, don't worry most of shogun will work without, though
70 slightly slower versions are used. To enable Multiple %Kernel Learning with
71 CPLEX(tm) just make sure cplex can be found in the PATH. If it is not found
72 shogun will resort to GLPK (if version at least 4.29 is found) for 1-norm MKL,
73 p-norm MKL with p>1 will work nonetheless.
75 \li To compile the C# interface you need to have the C# developer files
76 (debian package mono-utils) installed.
78 \li To compile the Lua interface you need to have the Lua developer files
79 (debian package lua) installed.
81 \li To compile the Java interface you need to have the Java developer files
82 (debian package openjdk-6-jdk) installed.
84 \li To compile the R interface you need to have the R developer files
85 (debian package r-base-dev) installed.
87 \li To compile the Ruby interface you need to have the Ruby developer files
88 (debian package ruby) installed.
90 \li To compile the octave interface you need to have the octave developer files
91 (debian package octave3.0-headers) installed.
93 \li To compile the python interface you need to have numpy version 1.x installed
94 (debian package python-numpy) installed.
96 \section compiling_shogun Compiling SHOGUN
98 \subsection most_platforms: General
99 On most platforms (Linux,MacOSX,cygwin) it is sufficient to issue
107 In case you just want to compile for a single interfaces you can use
109 ./configure --interfaces=libshogun,libshogunui,<interface>
114 where \b interface is one of the following
116 \li python_static or python_modular -- for python (see http://www.python.org)
118 \li octave_static or octave_modular -- for octave (see http://www.octave.org)
120 \li r_static or r_modular -- for r (see http://www.r-project.org).
122 \li java_modular -- for java (see http://www.java.com).
124 \li lua_modular -- for lua (see http://www.lua.org).
126 \li ruby_modular -- for ruby (see http://ruby-lang.org/).
128 \li csharp_modular -- for csharp (see http://www.csharp-station.com/).
130 \li matlab_static -- for matlab (see http://www.mathworks.com)
132 \li libshogun_static -- for for regular shogun library
134 (you don't need to compile libshogunui in case you compile a modular interface)
136 However, just running
137 \verbatim ./configure\endverbatim
138 will autodetect and configure for the available interfaces.
141 \verbatim./configure --help \endverbatim
142 to see the list of additional options detailed below.
143 \verbinclude Configure.generated
145 If this does not work for you, consult the INSTALL file for platform specific
146 build instructions. The INSTALL file is contained in the shogun src distribution and quoted below.