Building on Linux.

Most Linux distributions come with all the required tools installed, but to be sure, check that you have

To obtain the source code, the first step is to get the installer that will then fetch the source for SYMPHONY and all its dependencies. *You do not need to clone SYMPHONY first, just do the following!* Open a terminal and execute

git clone https://www.github.com/coin-or/coinbrew

Next, to check out source code for and build all the necessary projects (including dependencies), use the coinbrew script.

cd coinbrew
chmod u+x coinbrew
./coinbrew

(Note: The chmod command is only needed if the execute permission is not automatically set by git on cloning). Once you run the script, you will be prompted interactively to select a project to fetch and build. The rest should happen automagically. Alternatively, the following command-line incantation will execute the procedure non-interactively.

./coinbrew fetch build SYMPHONY@\VER

The coinbrew script invokes a separate configure script that is auto-generated using the GNU autotools. This script takes a wide range of additional options and these options can be specified on the commnd-line when running coinbrew. For example, to build with debugging symbols, do

./coinbrew fetch build SYMPHONY@\VER --enable-debug

To get help with additional options available in running the script, do

./coinbrew --help

The above procedures will build all required dependencies and SYMPHONY itself. Afterwards, the binaries will be installed in the directory dist/bin and the libraries in the directory dist/lib. If you wish to install in a different directory, such as /usr/local, then run the command

./coinbrew fetch build SYMPHONY@\VER --prefix=/path/to/install/dir

After installation, you will also need to add /path/to/install/dir/bin to your PATH variable in your .bashrc and also add /path/to/install/dir/lib to your LD_LIBRARY_PATH if you want to link to COIN libraries.