Difference between revisions of "Installation"

From SUMOwiki
Jump to navigationJump to search
 
(41 intermediate revisions by 4 users not shown)
Line 6: Line 6:
 
Quick and dirty instructions:
 
Quick and dirty instructions:
  
 +
# Log into the SUMO lab website with the account information mailed to you and download the toolbox
 
# Unzip the toolbox zip file, it will create a directory (= the toolbox installation directory)
 
# Unzip the toolbox zip file, it will create a directory (= the toolbox installation directory)
# Unzip the activation zip file in the toolbox directory (this file was mailed to you after you registered)
+
<!-- # Unzip the activation zip file '''INTO the toolbox installation directory''' (this file was mailed to you after you registered) -->
 
# Start Matlab
 
# Start Matlab
 
# Go to the toolbox directory
 
# Go to the toolbox directory
Line 16: Line 17:
  
 
=== Toolbox ===
 
=== Toolbox ===
Unzip the toolbox zip file to a directory somewhere on your harddisk, the full path of the SUMO Toolbox (including installation directory) will be referred to as the toolbox root directory.  Note that you do '''not''' have to put the toolbox in the Matlab installation directory, we actually advise against it since it can cause confusing errors.
+
Unzip the toolbox zip file to a directory somewhere on your harddisk, the full path of the SUMO Toolbox (including installation directory) will be referred to as the toolbox installation directory (e.g., c:\software\SUMO-Toolbox-6.3).  Note that you do '''not''' have to put the toolbox in the Matlab installation directory, we actually advise against it since it can cause confusing errors.
  
* <code><installation directory></code>
+
Once you have unzipped the toolbox zip file the directory structure looks like this:
 +
 
 +
* <code><toolbox installation directory> ''(e.g., c:\software\SUMO-Toolbox-6.3)''</code>
 
** <code>bin/</code> : binaries, executable scripts, ...
 
** <code>bin/</code> : binaries, executable scripts, ...
 
** <code>config/</code> : configuration files, location of <code>default.xml</code>
 
** <code>config/</code> : configuration files, location of <code>default.xml</code>
Line 28: Line 31:
 
** <code>src/</code> : all source code
 
** <code>src/</code> : all source code
 
** <code>examples/</code> : project directories of different examples (you can test with these problems and use them as an example to [[Adding an example|add your own]])
 
** <code>examples/</code> : project directories of different examples (you can test with these problems and use them as an example to [[Adding an example|add your own]])
 +
 +
<!--
 +
=== Activation file ===
 +
 +
Once you have received the activation file simply unzip it '''INTO''' in your toolbox installation directory.  So place the zip file in the toolbox installation directory and unzip it there, it should place all files in the correct places (see also the README file in the activation zip).  DO NOT unzip the activation file into its own directory somewhere else. Make sure you restart Matlab (if it was running) after you have done this.
  
 
=== Extension pack ===
 
=== Extension pack ===
  
There are a number of third party tools and modeling libraries that the SUMO Toolbox can use but that we cannot distribute together with the toolbox. These have been bundeled in an extension pack.  To install the extension pack, download the zip file, and unzip it in your toolbox root directory. The files should be placed in the correct directories.  Simply re-run 'startup' to make Matlab aware of the new files.
+
There are a number of third party tools and modeling libraries that the SUMO Toolbox can use but that we cannot distribute together with the toolbox. These have been bundled in an extension pack.  Only minor patches have been made to the original code to make them work better with SUMO (e.g., remove debug output).  To install the extension pack, download the zip file, and unzip it INTO your toolbox installation directory. The files should be placed in the correct directories.  Simply re-run 'startup' to make Matlab aware of the new files.
  
 
If you download and/or use these files  please respect their licenses (found in doc/licenses), '''THIS IS YOUR RESPONSIBILITY !!!'''.
 
If you download and/or use these files  please respect their licenses (found in doc/licenses), '''THIS IS YOUR RESPONSIBILITY !!!'''.
 +
-->
 +
=== Setup ===
  
=== Activation file ===
+
Setting up the toolbox is very easy.  Start Matlab, navigate to the toolbox installation directory (not anywhere else, this is important!!) and run '<code>startup</code>'.
  
Once you have received the activation file simply unzip it in your toolbox root directory.  So place the zip file in the toolbox directory and unzip it there, it should place all files in the correct places (see also the README file in the activation zip).  Make sure you restart Matlab (if it was running) after you have done this.
+
=== Test run ===
  
== Setup ==
+
To ensure everything is working you can do a simple run of the toolbox with the default configuration. This means the toolbox will use the setting specified in <code><SUMO-Toolbox-installation-dir>/config/default.xml</code>.
Setting up the toolbox is very easy. Start Matlab, navigate to the toolbox installation directory and run '<code>startup</code>'.
 
  
''Side Note:'' if you '''dont''' want to run the toolbox in its own directory you will need to make sure Matlab will be able to find the source files for the toolbox regardless of path. This can be accomplished as follows:
+
# Make sure that you are in the toolbox installation directory and you have run '<code>startup</code>' (see above)
 +
# Type '<code>go</code>' and press enter.
 +
# The toolbox will start to model the ''Academic2DTwice'' simulator.  This simulator has 2 inputs and 2 outputs, and will be modeled using Kriging models, scored using [[Measures#CrossValidation| CrossValidation]], and samples selected using a combined sample selection method.
 +
# To see the exact settings used open <code>config/default.xml</code>.  Feel free to edit this file and play around with the different options.
  
# Copy <code>startup.m</code> (found in the toolbox root directory), to the work directory of Matlab (e.g.: <code>C:\Program files\MATLAB\R2007a\work</code>)
+
The examples directory contains many example simulators that you can use to test the toolbox with. See [[Running#Running_different_examples]].
# Open <code>startup.m</code> (This file will be executed automatically whenever Matlab boots)
 
# Edit the path so that it points to the toolbox root directory (i.e., where you unzipped the toolbox).
 
# Reboot Matlab.
 
  
== Test run ==
+
== Ok, the test run works, now what? ==
  
# Make sure that you are in the toolbox root directory and you have run '<code>startup</code>' (see above)
+
See [[Running]] page.
# Type '<code>go</code>' and press enter.
 
# The toolbox will start to model the ''Academic2DTwice'' simulator.  This simulator has 2 inputs and 2 outputs, and will be modeled using Rational functions, scored using [[Measures#CrossValidation| CrossValidation]], and samples selected using a combined [[SampleSelector#GradientSampleSelector| GradientSampleSelector]] and [[Sample_Selectors#ErrorSampleSelector|ErrorSampleSelector]] method.
 
# To see the exact settings used open <code>config/default.xml</code>.  Feel free to edit this file and play around with the different options.
 
 
 
The examples directory contains many example simulators that you can use to test the toolbox with.  See the [[configuration]] section on information about the possible options.
 
  
 
== Problems ==
 
== Problems ==
  
 
See the [[reporting problems]] page.
 
See the [[reporting problems]] page.
 
== Usage and Documentation ==
 
 
See the [[Running]] page.
 
  
 
== Optional: Compiling libraries ==
 
== Optional: Compiling libraries ==
Line 75: Line 75:
 
## <code>MATLABDIR=/path/to/your/matlab/installation</code>
 
## <code>MATLABDIR=/path/to/your/matlab/installation</code>
 
## <code>JAVA_HOME=/path/to/your/SDK/installation</code>
 
## <code>JAVA_HOME=/path/to/your/SDK/installation</code>
# Go to the toolbox root directory and type '<code>make</code>'. This will build everything for you (C/C++ files, SVM libraries, ...).  If you only want to build certain packages simply '<code>make Package</code>' in the toolbox root. A complete list of available packages follows:
+
# Ensure you have the usual build tools installed: gcc, g++, autotools, make, etc
 +
# From the command line shell (so NOT from inside Matlab): Go to the toolbox installation directory and type '<code>make</code>'. This will build everything for you (C/C++ files, SVM libraries, ...).  If you only want to build certain packages simply '<code>make Package</code>' in the toolbox installation directory.
 +
## For Matlab versions R2011a and above, in case your operating system is Mac OS X (version 10.6 - Snow Leopard upwards), and the C compiler being used is Xcode version 4.1 and above, you will need to install a patch from MathWorks, please refer to [http://www.mathworks.nl/support/solutions/en/data/1-FR6LXJ/ this]. You will also need to update the SDKROOT entry in mexopts.sh file (usually located in ~/.matlab/R2012b/mexopts.sh), according to its location in the filesystem as it has been moved in recent versions of OS X. For example, for OS X Lion the updated entry should be,
 +
###<code>SDKROOT='/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/'</code>
 +
### It is also advisable to change the entry for <code>CC</code> from <code>gcc-4.2</code> to just <code>gcc</code>.
 +
## If you encounter the message "This process is attempting to exclude an item from Time Machine by path without administrator privileges. This is not supported." on Mac OS X while building the code, building it as a super-user by using the command '<code>sudo make</code>' instead of only '<code>make</code>' will solve the problem.
 +
# A complete list of available packages follows:
  
 
{| style="margin: 1em auto 1em auto" border="1"
 
{| style="margin: 1em auto 1em auto" border="1"
Line 81: Line 87:
 
! Package
 
! Package
 
! Description
 
! Description
! Requires extension pack
 
 
|-
 
|-
 
| contrib
 
| contrib
| Builds the FANN, SVM (libsvm, LS-SVMlab) and NNSYSID libraries
+
| Builds the FANN, SVM (libsvm) and NNSYSID libraries
| Yes
 
 
|-
 
|-
 
| cexamples
 
| cexamples
 
| Builds the binaries for several C/C++ simulators
 
| Builds the binaries for several C/C++ simulators
| No
 
 
|}
 
|}
 +
 +
Note: if you want to use FANN you will have to ensure Matlab knows of the FANN libraries. See [[FAQ#When_using_FANN_models_I_sometimes_get_.22Invalid_MEX-file_createFann.mexa64.2C_libfann.so.2:_cannot_open_shared_object_file:_No_such_file_or_directory..22 | the FAQ]].
  
 
=== Windows ===
 
=== Windows ===
Line 96: Line 101:
 
# Compiling C/C++ codes (examples):
 
# Compiling C/C++ codes (examples):
 
## You will have to do this on your own using a C/C++ compiler of your choice: Dev-c++/Visual Studio/...
 
## You will have to do this on your own using a C/C++ compiler of your choice: Dev-c++/Visual Studio/...
# Compiling SVM libraries:
+
# Compiling LS-SVM libraries:
## In order to use the [http://www.esat.kuleuven.be/sista/lssvmlab/ LS-SVM] backend, you will have to compile the LS-SVM mex files (it will work if you dont but you will get a lot of debug output).
+
## In order to use the [http://www.esat.kuleuven.be/sista/lssvmlab/ LS-SVM] backend, you will have to compile the LS-SVM mex files (it will work if you dont but you will get a lot of warning messages about a missing CFile implementation).
## This can be done using the built-in LCC compiler of matlab, by calling '<code>makeLSSVM</code>' from the Matlab command prompt. This will only work if the toolbox is already in the Matlab path. If this is not the case, refer to the Binary Installation section for more information.
+
## This can be done using the built-in LCC compiler of matlab, by calling '<code>makeLSSVM</code>' from the Matlab command prompt (make sure the SUMO Toolbox is in your path)
 
# Compiling ANN libraries:
 
# Compiling ANN libraries:
 
## In order to use the [http://leenissen.dk/fann/ FANN] backend, you will have to compile the FANN library and mex files.
 
## In order to use the [http://leenissen.dk/fann/ FANN] backend, you will have to compile the FANN library and mex files.
 
## So far nobody has yet got it to work under Windows, but don't let that stop you.
 
## So far nobody has yet got it to work under Windows, but don't let that stop you.
 +
# Compiling Java classes using Eclipse (only for SVN version of the Toolbox, on linux you can just use the make command)
 +
## open Eclipse
 +
## import ant buildfile
 +
### File->New->Other
 +
### Java->Java Project from Existing Ant Buildfile
 +
### Select build.xml in the SUMO root directory
 +
### click 'Finish'
 +
### Add external jars from Matlab install to buildpath if necessary
 +
## Open configure.m in the SUMO root directory and change bin/ to src/ for the java paths (the lines below ''% add java paths'')
 +
## Type in 'go' in the Matlab command line to see whether the compilation worked
 +
## If the SUMO Toolbox does not start, make sure the java virtual machine of matlab and eclipse are the same
 +
### Type in 'version('-java')' in the Matlab command line to find the jvm version used by matlab
 +
### In Eclipse, right click the SUMO-Toolbox project -> Properties  -> Java Compiler
 +
### Change the Java Compiler used by Eclipse by ticking the 'Enable project specific settings' and selecting the same version of the Java Compiler as the Matlab jvm

Latest revision as of 08:27, 28 August 2014

Introduction

This page will walk you through the SUMO Toolbox installation. Please refer to the system requirements first. See the downloading section on how to download the toolbox.

Quick start

Quick and dirty instructions:

  1. Log into the SUMO lab website with the account information mailed to you and download the toolbox
  2. Unzip the toolbox zip file, it will create a directory (= the toolbox installation directory)
  3. Start Matlab
  4. Go to the toolbox directory
  5. Run 'startup'
  6. Run 'go'

Basic Installation

Toolbox

Unzip the toolbox zip file to a directory somewhere on your harddisk, the full path of the SUMO Toolbox (including installation directory) will be referred to as the toolbox installation directory (e.g., c:\software\SUMO-Toolbox-6.3). Note that you do not have to put the toolbox in the Matlab installation directory, we actually advise against it since it can cause confusing errors.

Once you have unzipped the toolbox zip file the directory structure looks like this:

  • <toolbox installation directory> (e.g., c:\software\SUMO-Toolbox-6.3)
    • bin/ : binaries, executable scripts, ...
    • config/ : configuration files, location of default.xml
    • config/demo : a couple of demo configuration files that may help you
    • doc/ : some documentation
    • doc/apidoc : Javadoc and other api docs
    • lib/ : required libraries (eg: dom4j)
    • output/ : some output may be placed here (e.g., a global log file)
    • src/ : all source code
    • examples/ : project directories of different examples (you can test with these problems and use them as an example to add your own)

Setup

Setting up the toolbox is very easy. Start Matlab, navigate to the toolbox installation directory (not anywhere else, this is important!!) and run 'startup'.

Test run

To ensure everything is working you can do a simple run of the toolbox with the default configuration. This means the toolbox will use the setting specified in <SUMO-Toolbox-installation-dir>/config/default.xml.

  1. Make sure that you are in the toolbox installation directory and you have run 'startup' (see above)
  2. Type 'go' and press enter.
  3. The toolbox will start to model the Academic2DTwice simulator. This simulator has 2 inputs and 2 outputs, and will be modeled using Kriging models, scored using CrossValidation, and samples selected using a combined sample selection method.
  4. To see the exact settings used open config/default.xml. Feel free to edit this file and play around with the different options.

The examples directory contains many example simulators that you can use to test the toolbox with. See Running#Running_different_examples.

Ok, the test run works, now what?

See Running page.

Problems

See the reporting problems page.

Optional: Compiling libraries

There are some alternative libraries and simulators available that have to be compiled for your specific platform. Instructions depend on your operating system.

Linux/Unix/OSX

  1. Ensure you have the following environment variables set:
    1. MATLABDIR=/path/to/your/matlab/installation
    2. JAVA_HOME=/path/to/your/SDK/installation
  2. Ensure you have the usual build tools installed: gcc, g++, autotools, make, etc
  3. From the command line shell (so NOT from inside Matlab): Go to the toolbox installation directory and type 'make'. This will build everything for you (C/C++ files, SVM libraries, ...). If you only want to build certain packages simply 'make Package' in the toolbox installation directory.
    1. For Matlab versions R2011a and above, in case your operating system is Mac OS X (version 10.6 - Snow Leopard upwards), and the C compiler being used is Xcode version 4.1 and above, you will need to install a patch from MathWorks, please refer to this. You will also need to update the SDKROOT entry in mexopts.sh file (usually located in ~/.matlab/R2012b/mexopts.sh), according to its location in the filesystem as it has been moved in recent versions of OS X. For example, for OS X Lion the updated entry should be,
      1. SDKROOT='/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/'
      2. It is also advisable to change the entry for CC from gcc-4.2 to just gcc.
    2. If you encounter the message "This process is attempting to exclude an item from Time Machine by path without administrator privileges. This is not supported." on Mac OS X while building the code, building it as a super-user by using the command 'sudo make' instead of only 'make' will solve the problem.
  4. A complete list of available packages follows:
Package Description
contrib Builds the FANN, SVM (libsvm) and NNSYSID libraries
cexamples Builds the binaries for several C/C++ simulators

Note: if you want to use FANN you will have to ensure Matlab knows of the FANN libraries. See the FAQ.

Windows

  1. Compiling C/C++ codes (examples):
    1. You will have to do this on your own using a C/C++ compiler of your choice: Dev-c++/Visual Studio/...
  2. Compiling LS-SVM libraries:
    1. In order to use the LS-SVM backend, you will have to compile the LS-SVM mex files (it will work if you dont but you will get a lot of warning messages about a missing CFile implementation).
    2. This can be done using the built-in LCC compiler of matlab, by calling 'makeLSSVM' from the Matlab command prompt (make sure the SUMO Toolbox is in your path)
  3. Compiling ANN libraries:
    1. In order to use the FANN backend, you will have to compile the FANN library and mex files.
    2. So far nobody has yet got it to work under Windows, but don't let that stop you.
  4. Compiling Java classes using Eclipse (only for SVN version of the Toolbox, on linux you can just use the make command)
    1. open Eclipse
    2. import ant buildfile
      1. File->New->Other
      2. Java->Java Project from Existing Ant Buildfile
      3. Select build.xml in the SUMO root directory
      4. click 'Finish'
      5. Add external jars from Matlab install to buildpath if necessary
    3. Open configure.m in the SUMO root directory and change bin/ to src/ for the java paths (the lines below % add java paths)
    4. Type in 'go' in the Matlab command line to see whether the compilation worked
    5. If the SUMO Toolbox does not start, make sure the java virtual machine of matlab and eclipse are the same
      1. Type in 'version('-java')' in the Matlab command line to find the jvm version used by matlab
      2. In Eclipse, right click the SUMO-Toolbox project -> Properties -> Java Compiler
      3. Change the Java Compiler used by Eclipse by ticking the 'Enable project specific settings' and selecting the same version of the Java Compiler as the Matlab jvm