Tutorial:Getting started: Compiling MSL with external libraries
Certain functions of MSL require the installation of some open-source external libraries.
- BOOST (portable C++ source libraries) [[1]]
- GSL (GNU Scientific Library) [[2]]
- GLPK (GNU linear programming kit) [[3]]
How to enable inclusion of the external libraries
By default MSL will be compiled without the support of the external libraries and some functionality won't be available. To include the libraries, you need to set some environmental variables.
If you use bash, add the following lines to your .bashrc
# $MSL_GSL set to "T" if GSL is installed or else to "F" (default)
# $MSL_BOOST set to "T" if BOOST is installed or else to "F" (default)
# $MSL_GLPK set to "T" if GLPK is installed or else to "F" (default)
export MSL_GSL=T
export MSL_GLPK=T
export MSL_BOOST=T
#export EXTERNAL_LIB_DIR=/usr/lib
If you use tcsh, add the following lines to your .cshrc
# $MSL_GSL set to "T" if GSL is installed or else to "F" (default)
# $MSL_BOOST set to "T" if BOOST is installed or else to "F" (default)
# $MSL_GLPK set to "T" if GLPK is installed or else to "F" (default)
setenv MSL_GSL T
setenv MSL_GLPK T
setenv MSL_BOOST T
#setenv EXTERNAL_LIB_DIR /usr/lib
The default location of the libraries is /usr/lib. If you have installed them in a custom location set the $EXTERNAL_LIB_DIR environmental variable to the correct location.
BOOST
The following libraries from the Boost C++ Libraries are used in some MSL objects and programs
- Serialization, user for... in what objects... for what purpose
- Archive, user for... in what objects... for what purpose
- Regex, user for... in what objects... for what purpose
- Random, user for... in what objects... for what purpose
GSL
The [GNU Scientific library] is required by the following objects:
GSPK
The GNU linear programming kit is required by the LinearProgrammingOptimization object.