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.
First, you need to install the two required and optionally two other libraries:
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.gzchange to the new SOSlib directory; type:
cd SBML_odeSolver-x.xIf you have root access to your system, build the package by typing:
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
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:
for non-standard libSBML location, or
for non-standard SUNDIALS location, or
for non-standard XMGrace location, or
for non-standard Graphviz location.
Of course you can combine the arguments to configure as required.
Then proceed as above with:
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:
Then the command:
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 = no
GRAPHVIZ functionality will NOT be installed!
Now `make' will print the following error message:
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
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) \
sbmlsolver/SBML_odeSolver-1.6.0> make install
... and the system is running. :-)
Best regards, Tommi