CoinAll Release 1.0.0 ===================== The goal of this project is to provide an environment for building a completely interoperable set of binaries consisting of all COIN projects that use the COIN configuration and build system. Currently this project will only build in Unix-like environments using the GNU autotools. Currently, the explicitly supported and tested environments are: 1. Microsoft Windows using CYGWIN with the default compiler gcc v3.4 2. Microsoft Windows using Msys with gcc v4.2 3. Microsoft Windows using the Microsoft cl compiler 4. Linux using the compiler gcc v4.1 5. Mac OSX using the compiler gcc 4.0 If you want to exclude projects from the configuration and compilation, you can do so by setting the COIN_SKIP_PROJECTS variable to a space-separated list of the project directory names, such as ./configure [...] COIN_SKIP_PROJECTS='Cbc Clp' Below are the standard COIN-OR installation procedures. Please be sure to read the notes at the very bottom of this file for exceptions for specific platforms. ********************************************************************** *** DOWNLOAD *** ********************************************************************** You can obtain the source code for the CoinAll package in two ways: 1. Obtain the source directly from the COIN-OR subversion repository (recommended). For this you needs the program 'svn' installed on your machine, and output of "svn --version" must contain "handles 'https' scheme". Assuming that you want to download the code into a subdirectory "CoinAll", you type svn co https://projects.coin-or.org/svn/CoinAll/stable/1.0 CoinAll 2. Download the tarball from http://www.coin-or.org/download/source/CoinAll and extract it, for example, with gunzip CoinAll-1.0.0.tgz tar xvf CoinAll-1.0.0.tar More detailed download instructions can be found at https://projects.coin-or.org/BuildTools/wiki/user-download ********************************************************************** *** CONFIGURATION *** ********************************************************************** First, if you want to compile Ipopt, you need to make sure that Blas, Lapack and either Mumps or certain packages from the Harwell subroutine library are available (see the INSTALL.* files in ThirdParty/*). You must also download any other optional third party packages before configuration. It is recommended to download glpk, as this enables additional functionality in a number of COIN packages. Go into the directory that you just downloaded or extracted (e.g., CoinAll) and type ./configure Note that you might have to specify additional options, in case you don't want to use the default choices that configure makes (e.g., compilers). Please visit https://projects.coin-or.org/BuildTools/wiki/user-configure for more information. If everything went fine, you will see at the end of the output "Main configuration of CoinAll successful" ********************************************************************** *** COMPILATION AND INSTALLATION *** ********************************************************************** In the directory where you ran the configure script: 1. Compile the code by typing make 2. To test if the code in the projects works, you can type make test 3. To install the code, you type make install After this, you will find the executables, libraries and header files in the "bin", "lib" and "include" subdirectory, respectively. More information on the compilation and installation can be found at https://projects.coin-or.org/BuildTools/wiki/user-compile ********************************************************************** *** USING THE LIBRARIES *** ********************************************************************** Now you can link your own code with the installed libraries. You can find examples for a Project Prjct in Prjct/examples/ subdirectory (for those, that provide examples), see also the information at https://projects.coin-or.org/BuildTools/wiki/user-examples ********************************************************************** *** SPECIAL NOTES *** ********************************************************************** 1. To buld Ipopt with the freely available Mumps library, you need to have a Fortran 95-compliant compiler. On Linux and Mac OSX, the default GNU compilers work fine, but on Windows, the only build environment in which there is a freely available F95 compiler is the Msys shell environment. To build Mumps in Microsoft Windows using MSys, you will first need to install the MinGW gcc 4.2 technology preview in order obtain a Fortran 95 compliant Fortran compiler. GCC 4.2 is available here: http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=241304 You need to install the gcc-core, gcc-g++, and gcc-gfortran packages. After installing these packages, you will also need to patch Mumps by executing the command patch -p0 < mumps.gcc.patch in this directory. Note the executable names in the gcc packages have the suffix "sjlj" and will not be found by the configuration script of whatever project you are trying to build, so you must either (1) change their names by deleting the suffix (beware that if you do this, you may create a conflict with other version of gcc already installed) or (2) configure with ./configure CC=gcc-sjlj CXX=g++-sjlj F77=gfortran-sjlj 2. The OS project uses low-level socket calls to communicate with servers. To build OS with the microsoft cl compiler, you need to the necessary socket header and lib files at: http://msdn2.microsoft.com/en-us/express/aa700755.aspx See also http://www.coin-or.org/OS/documentation/node13.html