A user manual can be generated by: make docs;
The following packages are required to build and use the client library, and can probably be had from your favorite package manager:
- gsl (>= 1.15): http://www.gnu.org/software/gsl/
- hdf5 with c bindings: http://www.hdfgroup.org/HDF5/
- C++ compiler with C++11 support
- SQUIDS (>= 1.2): https://github.com/jsalvado/SQuIDS/
Additionally for compiling and using the python bindings:
Required:
- boost (>= 1.54): http://www.boost.org/
- numpy: http://www.numpy.org/
- matplotlib: http://matplotlib.org/
Recommended:
- ipython: http://ipython.org/
The LaTeX and pdf files are included in nuSQuIDS/doc/ folder.
The path for the GSL libraries can be specified by running:
./configure --with-gsl-incdir=GSL_include_path --with-gsl-libdir-=GSL_library_path
or, assuming a standard installation into 'include' and 'lib' subdirectories within a common prefix:
./configure --with-gsl=GSL_prefix
The path for the HDF5 libraries can be specified by running:
./configure --with-hdf5-incdir=HDF5_include_path --with-hdf5-libdir=HDF5_library_path
or more simply
./configure --with-hdf5=HDF5_prefix
Finally, the path for SQuIDS can be specified by:
./configure --with-squids-incdir=SQuIDS_include_path --with-squids-libdir=SQuIDS_library_path
or commonly just
./configure --with-squids=SQuIDS_prefix
To compile the python interface it is additionally necessary to pass the
--with-python-bindings
option to configure
. Also, the boost python library,
a working python installation, and numpy must be available. The location of the
boost library can be specified using:
./configure --with-boost-incdir=boost_include_path --with-boost-libdir-=boost_library_path
or in simple cases
./configure --with-boost=boost_prefix
The python executable (which will also be used to locate numpy) can be specified with:
./configure --python-bin=PYTHON_EXECUTABLE
Once configuration is complete the library can be compiled by running:
make
Unit tests to verify correct behavior can be run using:
make test
A set of example programs demonstrating usage and functionality can be compiled with the command:
make examples
The resulting example executables can then be found in the various
subdirectories of examples
Finally the library can be installed using:
make install
By default this will attempt to install the library within /usr/local; this can be changed by using the --prefix option when running configure:
./configure --prefix=$HOME
Even when configured the python interface is not built with the main library. To compile it do the following:
cd resources/python/src/
make
After successful compilation the bindings will be stored in resources/python/bindings/
.
To make them available from within python, modify your PYTHONPATH:
export PYTHONPATH=$(PATH_TO_nuSQUIDS)/resources/python/bindings/:$PYTHONPATH