wiki:current-issues

Version 23 (modified by stefan, 11 years ago) (diff)

hint on Intel19 static builds on MacOSX

Current Issues

Configuration

  • Configure is unable to find the symbol glp_lpx_simplex when checking for the presence of glpk. Glpk has changed its naming convention for API routines. This is normally invisible to users of glpk (who always use lpx_simplex in code). Current COIN configuration tests understand this; the best solution is to upgrade.

If that's not convenient, the workaround is to use the configuration flag --disable-glpk-libcheck. If you have the ability to regenerate configuration files, add a leading underscore ('_') to the symbol in relevant configure.ac files. For example,

AC_COIN_HAS_USER_LIBRARY([Glpk],[GLPK],[glpk.h],[glp_lpx_simplex])

becomes

AC_COIN_HAS_USER_LIBRARY([Glpk],[GLPK],[glpk.h],[_glp_lpx_simplex])

The same problem exists with glp_mpl_initialize; the workaround is --disable-gmpl-libcheck or edit configure.ac to look for _glp_mpl_initialize.

  • "./configure: line 20: $'\r': command not found" error on Cygwin. If you see an error like this on Cygwin, it means that your setting for Cygwin is such that the native text style is "Windows" and not "Unix". As a consequence, the configure and other shell scripts have Window-style line end characters, which cannot be digested properly by the shell. As a work-around, you can run the "dos2unix" program to correct all failing shell scripts (e.g., by typing "dos2unix configure"). In the long run, we will change the subversion properties for those files to avoid this problem, but it might take some time until all files have been corrected.
  • On MacOS X, if you use the Intel 10 compilers and build static (or debug) libraries, it is wise to set F77 to "ifort -shared-intel" to avoid later problems when COIN libraries are linked to each other.

Compilation

  • On AIX, with the xlC compiler the CXX flag -qrtti has been needed.
    ./configure ADD_CXXFLAGS="-qrtti"
    

  • On P-Series(ppc64) running Linux(Red Hat 4.1.1-52) with gcc(V 4.1.1 20070105) ThirdParty/ASL has compile time errors.
    fpinit.c: In function 'fpinit_ASL':
    fpinit.c:123: error: '_FPU_EXTENDED' undeclared (first use in this function)
    fpinit.c:123: error: (Each undeclared identifier is reported only once
    fpinit.c:123: error: for each function it appears in.)
    fpinit.c:123: error: '_FPU_DOUBLE' undeclared (first use in this function)
    
    A suggested work around is to specify ADD_CFLAGS="-DNO_fpu_control" when running configure.
    ./configure -C ADD_CFLAGS="-DNO_fpu_control"
    
  • In Microsoft Windows, using the MinGW gcc compiler version 4.2.1 under Msys, you cannot successfully link with -lstdc++ because of a buggy .la file. To fix, replace the file MinGW/lib/gcc/mingw32/4.2.1-sjlj/libstdc++.la with this fixed one. This currently affects only the unit test of Ipopt (as far as I know).
  • On MacOS X, if you get undefined references to something with an $UNIX2003 attached, try to rebuild everything with ADD_CFLAGS="-D_NONSTD_SOURCE" ADD_CXXFLAGS="-D_NONSTD_SOURCE".
  • On MacOS X, if you get failures when running the code due to lazy symbol binding, try to rebuild everything with LDFLAGS="-flat_namespace".

Execution

  • --omit-frame-pointer leads to failure of C++ throw for some GCC compiler versions (GCC 3.3, 3.4, and 4.0.2, for example). Suggested solutions:
    1. If possible, upgrade to a GCC version which does not have this problem. GCC 4.1.1 is known to work correctly in many environments.
    2. Use the variables OPT_CXXFLAGS, OPT_CFLAGS, and OPT_FFLAGS to override the default optimisation options when executing configure. To determine the correct set of options, look for the string omit-frame-pointer in BuildTools/coin.m4. Currently (06.10.20), adding
      OPT_CXXFLAGS="-O3" OPT_CFLAGS="-O3" OPT_FFLAGS="-O3"
      

to the command line options for configure should do the trick.

Attachments (1)

Download all attachments as: .zip