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:
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):
GRAPHVIZ
GRACE
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:
./configure
make
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
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.
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:
SBML_RPATH="-Wl,-rpath,$with_libsbml/lib"
Modified line:
SBML_RPATH="-Wl,-R,$with_libsbml/lib"
Then the command:
sbmlsolver/SBML_odeSolver-1.6.0> ./configure
--prefix=/home/sbmlsolver/local_installation \
--with-libsbml=/home/libsbml/local_installation \
--with-sundials=/home/sundials/sundials
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
CFLAGS =
LDFLAGS =
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:
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