Changes between Version 47 and Version 48 of current-issues


Ignore:
Timestamp:
Jan 30, 2016 1:05:02 PM (5 years ago)
Author:
tkr
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • current-issues

    v47 v48  
    2727   Just remember to have the CPLEX dll in the path and the {{{ILOG_LICENSE_FILE}}} system variable pointing to the CPLEX license file when executing binaries.
    2828
    29  * '''On Mac OS X''', the situation with compilers is a bit of a mess. If you install XCode, you will get the gcc compiler tool chain, but the version is very old and you do not get the GNU Fortran compiler. Installing gfortran from [http://www.macports.org MacPorts] or the [http://hpc.sourceforge.net HPC Mac OS X] should work.
     29 * '''On Mac OS X''', the situation with compilers used to be a bit of a mess, but things have been cleaned up recently. OS X comes with the {{{clang}}} compiler, which works just fine for building COIN projects that don't require Fortran. If you require Fortran, the easiest and recommended solution is just to install [http://brew.sh Homebrew] and then do {{{brew install gcc}}}. You will then have {{{gfortran}}}, which works fine alongside {{{clang}}}. Alternatively, you can use the homebrew version of {{{gcc}}} by configuring with {{{CC=gcc}}} {{{CXX=g++}}}.
    3030
    3131 * 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-OR libraries are linked to each other.
    3232
    33  * On '''MacOS X 10.5''', you should use
     33 * It is doubtful one can even use '''MacOS X 10.5''' anymore, but this is being left for posterity. If you do use 10.5, you should use
    3434   {{{
    3535     ADD_CXXFLAGS="-mmacosx-version-min=10.4" ADD_CFLAGS="-mmacosx-version-min=10.4" ADD_FFLAGS="-mmacosx-version-min=10.4"
     
    3737   This helps to get around a problem with the Ampl Solver Library (ASL) and in the recoginition of the FLIBS (in case gfortran is used). This flag avoids undefined references to something with an $UNIX2003 attached, see also http://developer.apple.com/releasenotes/Darwin/SymbolVariantsRelNotes/index.html
    3838
    39  * On '''MacOS X 10.5''', if you get failures when running the code due to lazy symbol binding, try to rebuild everything with {{{LDFLAGS="-flat_namespace"}}}. However, this solution might fail too.
     39 * Also on '''MacOS X 10.5''', if you get failures when running the code due to lazy symbol binding, try to rebuild everything with {{{LDFLAGS="-flat_namespace"}}}. However, this solution might fail too.
    4040
    4141 * On '''MacOS X 10.6''', it is sufficient to add to the configure command
     
    4747      --enable-static --disable-shared
    4848   }}}
     49
     50 * On '''MacOS X 10.9''', the default C++ standard library used by the Xcode compilers has changed to libc++ (LLVM/clang), rather than libstdc++ (GNU). This can cause strange link errors when linking C++ code into C or Fortran libraries or executables. The errors may be of the form "Undefined symbols for architecture x86_64" for many symbols that begin with {{{std::__1::}}}, which should be coming from libc++. BuildTools currently assumes the default C++ library is libstdc++ in most cases, [https://projects.coin-or.org/BuildTools/changeset/3045 this patch] will fix the issue but may take some time to be ready for release. There are two workarounds: either let BuildTools know that the C++ standard library is libc++ by configuring with {{{CXXLIBS=-lc++}}}, or tell the clang++ compiler to use libstdc++ as its standard library by configuring with {{{ADD_CXXFLAGS="-stdlib=libstdc++"}}}.
    4951
    5052 * On '''AIX {{{configure}}} runs considerably faster''' if bash is installed and the environment variable {{{CONFIG_SHELL}}} points to it.
     
    107109 * 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 may 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}}}. 
    108110
    109  * On '''MacOS X 10.9''', the default C++ standard library used by the Xcode compilers has changed to libc++ (LLVM/clang), rather than libstdc++ (GNU). This can cause strange link errors when linking C++ code into C or Fortran libraries or executables. The errors may be of the form "Undefined symbols for architecture x86_64" for many symbols that begin with {{{std::__1::}}}, which should be coming from libc++. BuildTools currently assumes the default C++ library is libstdc++ in most cases, [https://projects.coin-or.org/BuildTools/changeset/3045 this patch] will fix the issue but may take some time to be ready for release. There are two workarounds: either let BuildTools know that the C++ standard library is libc++ by configuring with {{{CXXLIBS=-lc++}}}, or tell the clang++ compiler to use libstdc++ as its standard library by configuring with {{{ADD_CXXFLAGS="-stdlib=libstdc++"}}}.
    110 
    111111 * If you see an error like {{{error: 'CLP_VERSION' was not declared in this scope}}}, check to see if your {{{CPLUS_INCLUDE_PATH}}} is set; if so check to see if there is a {{{coin}}} directory in that path and remove it.
    112112