Version 12 (modified by kishshen, 11 years ago) (diff)


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.

User Comments

Users are encouraged to share tricks and comments on this wiki page. For example, if you run into a strange configuration problem and found a work around that might work for others, it would be great if you could write it down here. Beside saving other users some time, this is also useful for the COIN developers to get some feedback, and to get some ideas as to what can be improved or better documented.

Comments and Tricks for Configuration

Configuring OSI with CPLEX 9.0 on Windows XP with MinGW (gcc 3.4.5) and MSYS

Problem: ./configure script fails with the following error: "Cannot find symbol CPXgetstat with CPX".

Solution: Run the script with --disable-cplex-libcheck option.

More info: The script fails during a check of the CPLEX library. Apart from that, the script works without problems. Disabling the check thus "solves" the problem. The "make" and "make test" commands then should work without any additional changes - just remember to have the CPLEX dll in the path and ILOG_LICENSE_FILE system variable pointing to the CPLEX license file...

AIX: Improving configure runtime

On AIX configure runs considerably faster if bash is installed and the environment variable CONFIG_SHELL points to it.
For ksh or bash

     CONFIG_SHELL=/usr/bin/bash ; export CONFIG_SHELL

or if you use tcsh then

     setenv CONFIG_SHELL "/usr/bin/bash"

before running configure.

How to obtain Microsoft Visual C++ 2005 Express Edition

The URL for downloading Microsoft Visual C++ Express Edition 2005 is

Comments and Tricks for Compilation

  • When compiling with Intel compilers, it can be advantageous to add the compiler flag -mp1 (ADD_CXXFLAGS=-mp1). This disables some optimization, but improves floating point accuracy. In my case it helped to make (x == 0./0.) return false if x is not nan.
  • If compiling with Intel 9.0 compilers fails with the message internal error: backend signals, it can help to add the compiler flag -Qipo- (ADD_CXXFLAGS=-Qipo-). This disables some optimization, but allows compilation.
  • GCC 3.3.5 seem to have some bug in its optimization routines regarding the omission of frame pointers. What seem to work is OPT_CXXFLAGS="-O3 -fno-omit-frame-pointer -momit-leaf-frame-pointer -DNDEBUG"
  • GCC 4.3.0 (experimental) can report a lot of warnings about type conversions. You can turn this off by adding -Wno-conversion to your ADD_CXXFLAGS.
  • When compiling on a Redhat Linux PowerPC some projects (Ipopt, Bonmin, & OS) need to be configured with ADD_CFLAGS="-DNO_fpu_control".
  • When compiling on AIX with the xlC compiler:
    • configure needs to be run with ADD_CXXFLAGS="--qrtti".
    • Some projects (SYMPHONY) need an addtional flag for ADD_CXXFLAGS of -qsourcetype=c++. configure should be run with ADD_CXXFLAGS="-qsourcetype=c++ -qrtti". This is because the C++ source files in these projects have the suffix c (not cpp).
  • When compiling on gcc/g++ where the machine word size/pointer size is the same as long long only (e.g. MinGW gcc for 64 bit Windows), the compiler will abort with an "ISO C++ 1998 does not support 'long long'" error for some files. This seem to be because of the -pedantic-errors flag used with the compilation. To work around this, add -Wno-long-long to your ADD_CXXFLAGS.

Comments and Tricks for Using COIN Libraries