Dependencies:
- Boost C++ Libraries >= 1.47.0 (If using Meld Process only)
- GLUT
- GLEW
- SBCL - to compile Meld programs
There are a number of other repositories included as git submodules in VisibleSim and used as utilities (e.g. a configuration generator). They need to be fetched from their respective repositories before they can be used. This can be done with the following commands, from the project's root:
git submodule init
git submodule update
1. Install dependencies:
brew install boost --with-mpi --without-single
brew install freeglut
brew install glew
brew install sbcl
2. make
NOTE: VisibleSim uses boost::interprocess::interprocess_semaphore if using Meld Process. Unfortunately, its implementation in Boost 1.56 is buggy on MacOS 10.9.5. VisibleSim compiles but throws an exception at runtime saying the function is not implemented. Boost 1.56 actually implementes interprocess_semaphore using POSIX unnamed semaphores, which are not implemented in MacOS 10.9.5. To fix that bug, edit /usr/local/include/boost/interprocess/sync/interprocess_semaphore.hpp
and comment the following lines to make Boost use SPIN semaphore (see the official ticket boost1.56-ticket for more details):
#if !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION) && \
(defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED) && defined(BOOST_INTERPROCESS_POSIX_NAMED_SEMAPHORES))
#include <boost/interprocess/sync/posix/semaphore.hpp>
#define BOOST_INTERPROCESS_USE_POSIX
1. Install dependencies:
sudo apt-get install libboost-all-dev
sudo apt-get install freeglut3-dev
sudo apt-get install libglew-dev
sudo apt-get install sbcl
2. make
A User Manual and a Technical Reference (Coming Soon) are available in the doc
directory, to get users and contributors started with VisibleSim.