Installation with GNU Tools

For Unix operating systems (such as Solaris, FreeBSD, Linux including Mac OsX's Darwin, etc.) we currently do not provide a binary distribution. However, we use the GNU tools autoconf/automake, which make it quite easy to build SOSlib from source code. Most Unix users are familiar with that procedure.

Installation instructions can be found below or in the file INSTALL in the distributed source code package. If you need help or have general questions about installation, usage and methods, please see the support page to find an appropriate contact.

  1. Required Libraries
  2. Installation on Linux/Unix
  3. Installation on Solaris with Bug Fixes

Required Libraries

First, you need to install the two required and optionally two other libraries:

Required libraries (SBML handling and numerical integration):
libSBML: use libSBML version 2.3.4 (NOT LATEST VERSION)!
SUNDIALS: use Sundials version 2.1.1 (NOT LATEST VERSION)!

Optional libraries (data visualization):

Installation on Linux/Unix

Install the required libraries listed above. If you use Solaris you should now follow the instruction with some bug fixes provided by Tommi Aho below. Otherwise proceed here:

Download the latest SBML_odeSolver-x.x.tar.gz. In a terminal window, go to the directory where you downloaded the file to and type:

tar -zxvf SBML_odeSolver-x.x.tar.gz

change to the new SOSlib directory; type:

cd SBML_odeSolver-x.x

If you have root access to your system, build the package by typing:

make install

On some systems (e.g. Solaris) you might get problems with getopt, as it has problems with portability. See e.g. http://www.thedotin.net/maillists/coldsync-hackers/msg01314.html. Please find a suitable version for your system and try the procedure which Tommi Aho described for Solaris below and report such or other problems here.

For the last command `make install' you need to be logged in as root. This will copy header files to standard locations, usually `/usr/local/include', `/usr/local/lib' and `/usr/local/bin'.

If you don't have root access to your system, type

./configure --prefix=PATH

where PATH is the path to a directory to which you have write access (i.e. a directory in your `home').

If the required libraries are installed in non-standard locations, you must provide thist location, i.e. the path of the libraries' `lib' and `include' directories, with:

./configure --with-libsbml=LIBSBMLPATH

for non-standard libSBML location, or

./configure --with-sundials=SUNDIALSPATH

for non-standard SUNDIALS location, or

./configure --with-grace=GRACEPATH

for non-standard XMGrace location, or

./configure --with-graphviz=GRAPHVIZPATH

for non-standard Graphviz location.

Of course you can combine the arguments to configure as required.
Then proceed as above with:

make install

If you encounter any problems with above procedure, please don't hesitate to contact us via our support page, or directly by sending email to the project admins.

Installation on Solaris with Bug Fixes

Tommi Aho provided the following report and bug fixes for installing SOSlib 1.6.0 (without optional graphviz and xmgrace modules) on Solaris 9:

There were some difficulties with Solaris 9 and odeSolver 1.6.0. Here is a summary how I got it done. Maybe this helps you.

sbmlsolver> gunzip SBML_odeSolver-1.6.0.tar.gz
sbmlsolver> tar -xvvf SBML_odeSolver-1.6.0.tar

Change into configure, line 4192 (only this line because the following configuration doesn't use the other lines including the -rpath switch):

Original line 4192:


Modified line:


Then the command:

sbmlsolver/SBML_odeSolver-1.6.0> ./configure --prefix=/home/sbmlsolver/local_installation \
--with-libsbml=/home/libsbml/local_installation \

will produce the following output:

Build Settings for SBML_odeSolver v1.6.0:
host type = solaris
shared lib extension = so
install dir = /home/sbmlsolver/local_installation
CC = gcc
LIBS = -lm
SBML Library = yes
CFLAGS = -I/home/libsbml/local_installation/include -I/home/libsbml/local_installation/include/sbml
LDFLAGS = -L/home/libsbml/local_installation/lib
LIBS = -lsbml
SUNDIALS Library = yes
CFLAGS = -I/home/sundials/sundials/include
LDFLAGS = -L/home/sundials/sundials/lib
LIBS = -lsundials_kinsol -lsundials_cvodes -lsundials_cvode -lsundials_nvecserial -lsundials_shared
GRACE = no
XMGRACE functionality will NOT be installed!
GRAPHVIZ functionality will NOT be installed!

Now `make' will print the following error message:

sbmlsolver/SBML_odeSolver-1.6.0> make
options.c:7:20: getopt.h: No such file or directory

getopt has problems with portability. See e.g. http://www.thedotin.net/maillists/coldsync-hackers/msg01314.html

Download the needed getopt files, e.g. from http://www.molpopgen.org/krthornt/gccSolaris/.
Compile them with

sbmlsolver/SBML_odeSolver-1.6.0/odeSolver> gcc --pedantic -c getopt.c
sbmlsolver/SBML_odeSolver-1.6.0/odeSolver> gcc --pedantic -c getopt1.c

Add the object files to the linking by modifying odeSolver/Makefile and odeSolver/Makefile.in:
The following 2 lines exist in both of these files. The third line is added (and the slash in the 2nd line).

am_odeSolver_OBJECTS = main.$(OBJEXT) commandLine.$(OBJEXT) \
options.$(OBJEXT) printModel.$(OBJEXT) interactive.$(OBJEXT) \
getopt1.$(OBJEXT) getopt.$(OBJEXT)

Now type

sbmlsolver/SBML_odeSolver-1.6.0> make
sbmlsolver/SBML_odeSolver-1.6.0> make install

... and the system is running. :-)

Best regards, Tommi


SBML Compliance Logo SourceForge.net Logo OpenSource.org Logo GNU Logo


Please email to admins to report problems or questions with this website.
Last modified: 2007-05-21 15:04:16 raim raim