wiki:WikiStart

Version 40 (modified by andreasw, 13 years ago) (diff)

added pm-svn-conf to svn TOC

General Configuration and Installation Instructions for COIN projects

Note that these project webpages are based on Wiki, which allows webusers to modify the content to correct typos, add information, or share their experience and tips with other users. You are welcome to contribute to these project webpages. To edit these pages or submit a ticket you must first register and login.

These webpages are intended to give users as well as developers of many COIN projects information on how to use and maintain the COIN code. These pages apply to COIN projects that are using subversion as the source code repository and autotools for configuring, building and installing.

The COIN projects that these pages currently apply to are:

  • Cops (Alps, BiCePS, Blis), Bonmin, Cbc, Cgl, Clp, CoinUtils, Dylp, FlopC++, Ipopt, Osi, Smi, SYMPHONY, Vol

Minimal Download and Installation Instructions

NOTE: Please check the current issues page before trying to configure and compile the code.

The very short version of the download and installation instructions for UNIX-like system (including Linux and Cygwin) is this:

  1. Get the code for the desired package Pkg (where Pkg needs to be replaced by the name of the COIN package you want to install) and for a releases x.y.z (again, x.y.z is to be replaced by the version number string, such as 2.4.1):
    • As tarball: Download the tarball Pgk-x.y.z.tgz from the COIN Tarballs site and extract it, for example with
      gunzip Pgk-x.y.z.tgz
      tar xvf Pgk-x.y.z.tar
      
    • Via subversion: Go into the directory where you want to have a subdirectory with the downloaded source code and type
      svn co https://projects.coin-or.org/svn/Pkg/releases/x.y.z  Pkg-x.y.z
      
  2. Go into the downloaded directory, create a subdirectory for the compiled code, and run the configuration script
    cd Pkg-x.y.z
    mkdir build
    cd build
    ../configure
    
    Make sure the last line of output says that the configuration was successful.
  3. Compile the code
    make
    
  4. Test the compiled code
    make test
    
  5. Install the generated libraries, executables, and header files
    make install
    

This will create subdirectories bin, lib, and include in the download directory with the product of the compilation.

The configure script has many customization features. To learn more about them, go to the Preparing the compilation page.

The COIN-OR FAQ page has a brief explanation of how to use a Windows subversion client to download the code. The MSVisualStudio project describes how several COIN-OR projects can be built with Microsoft Visual Studio.

If these simple instructions don't work for you, please refer to the information behind the links below, and visit the Troubleshooting page.


Detailed Information For Users

The above commands work in most cases if you don't have particular requirements, but it is probably a good idea to read the information on the home page for the desired COIN project, and to learn more using the links below.


Information For Project Managers

The information behind the links below is mostly intended for people working on COIN projects, i.e., project managers as well as contributors.

Understanding Subversion

Using the Autotools In COIN

  1. Working With the GNU Autotools
    1. Introduction
    2. The configure.ac Files
      1. Basic structure of the configure.ac file
      2. Base directory configure.ac file
      3. Package directory configure.ac files
    3. The Makefile.am Files
    4. Running the Autotools
    5. Which Files Should be in the Subversion Repository?
    6. Working On Your Project
  2. Autotools Basics
    1. autoconf
      1. Template Files
      2. Configuration Header Files
    2. automake
    3. libtool
  3. Basic Structure of the configure.ac File
    1. General Concepts
    2. Beginning of a configure.ac file
    3. The Body of the configure.ac File
    4. The End of the configure.ac File
  4. The Package Base Directory configure.ac File
  5. The Project Directory configure.ac File
    1. Initialization of Tools and Compilers
    2. Check for other COIN-OR Components
    3. Checks for some specific System Libraries
      1. Check for the Math Library
      2. Checks for BLAS and LAPACK
      3. Checks for GNU libraries
    4. Check for User Libraries
    5. Generation of Links for Data Files
    6. Project Specific Tests
  6. Introduction of Automake Concepts
  7. The Package Base Directory Makefile.am File
  8. The Project Main Directory Makefile.am File
  9. The Source Directories Makefile.am Files
    1. Beginning of the Makefile.am File
    2. Building a Library
      1. Name of the Library
      2. Source Files for the Library
      3. Additional Link Command for the Library
      4. Collecting Objects from Other Libraries
    3. Building a Program
      1. Name of the Program
      2. Source Files for the Executable
      3. Specifying Linking Flags
    4. Additional Flags
      1. Include Directories
      2. Additional Preprocessor Definitions
      3. Correction for Default Include Flags
    5. Installation of Header Files
  10. The Test Directory Makefile.am File
    1. Beginning of the File
    2. Compilation of the Unit Test Program
    3. The Test Target
    4. House Cleaning
  11. Using the Correct Version of the Autotools
  12. Hints, tricks, bugs, and suggestions
    1. Using autoreconf


More Information

If you have questions or problems related to the usage of subversion and the Autotools, please submit a Ticket to the BuildTools project, using the "New Ticket" link on top of this page (after logging in).