Version 37 (modified by andreasw, 15 years ago) (diff)

First usage of TOC on main page

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  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
    Make sure the last line of output says that the configuration was successful.
  3. Compile the code
  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

Information For Project Managers

  1. Understanding Subversion
  2. Basic Subversion Commands
    1. Subversion Configuration File
    2. SVN Commands
      1. svn help
      2. svn checkout (short form: svn co)
      3. svn update (short form: svn up)
      4. svn switch (short form: svn sw)
      5. svn status (short form: svn st)
      6. svn info
      7. svn commit (short form: svn ci)
      8. svn diff (short form: svn di)
      9. svn revert
      10. svn resolved
      11. svn add
      12. svn remove (short form: svn rm)
      13. svn copy (short form: svn cp)
      14. svn mkdir
      15. svn merge
      16. svn export
    3. Subversion Properties
      1. svn proplist (short form: svn plist)
      2. svn propget (short form: svn pget)
      3. svn propset (short form: svn pset)
      4. svn propdel (short form: svn pdel)
  3. Error: Page pm-svn-cmds_tortise does not exist
  4. Understanding Branches and Tags
    1. Creating New Branches and Tags
      1. Summary
    2. Merging Branches
      1. Synchronizing two branches
      2. Applying a changeset to a different branch
  5. Handling Subversion Externals
    1. Basics
    2. Externals in COIN-OR
    3. Important Considerations For Externals
    4. Manipulating Externals
    5. Preparing Externals For A Point Release
  6. Suggestions for Handling Stable Versions and Releases
    1. Overview
    2. What to Tell Users
    3. Setting up your Repository
      1. Moving Branches
    4. Working with Stable Versions
      1. Creating a New Stable Version
      2. Maintaining a Stable Version
    5. Working With Point Releases
      1. Creating a New Point Release
      2. Tarball Creation
  7. Working With the GNU Autotools
    1. Introduction
    2. The Files
      1. Basic structure of the file
      2. Base directory file
      3. Package directory files
    3. The Files
    4. Running the Autotools
    5. Which Files Should be in the Subversion Repository?
    6. Working On Your Project
  8. Autotools Basics
    1. autoconf
      1. Template Files
      2. Configuration Header Files
    2. automake
    3. libtool
  9. Basic Structure of the File
    1. General Concepts
    2. Beginning of a file
    3. The Body of the File
    4. The End of the File
  10. The Package Base Directory File
  11. The Project Directory 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
  12. Introduction of Automake Concepts
  13. The Package Base Directory File
  14. The Project Main Directory File
  15. The Source Directories Files
    1. Beginning of the 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
  16. The Test Directory File
    1. Beginning of the File
    2. Compilation of the Unit Test Program
    3. The Test Target
    4. House Cleaning
  17. Using the Correct Version of the Autotools
  18. Hints, tricks, bugs, and suggestions
    1. Using autoreconf

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

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).