Changes between Version 39 and Version 40 of current-issues


Ignore:
Timestamp:
Oct 13, 2013 12:52:57 PM (6 years ago)
Author:
tkr
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • current-issues

    v39 v40  
    3333 * '''"./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.
    3434
    35  * [=#MinGWPath] '''When using MinGW and Msys''', you may see failures that really leave you scratching your head. Before you tear your hair out, check your `PATH`. Both Windows and MinGW/Msys define some common utilities: find, link, and sort. Unfortunately, the Windows versions are completely incompatible with the unix versions. Make sure that the MinGW/Msys command (`bin`) directories come before the Windows command directories in your `PATH`! Both the `configure` and `libtool` shell scripts can fail if this is not true. If you're trying to build with Windows `cl` and `link` (you can see the problem coming eh?) make sure that the Visual Studio command directories precede the MinGW/Msys command directories, which in turn must still precede the Windows command directories. Unix `link` is not helpful for linking programs!
     35 * [=#MinGWPath] '''When building on Windows using either the Msys shell or under CYGWIN''', you may see failures that really leave you scratching your head. Before you tear your hair out, check your `PATH`. The problem may be conflicts in the naming of certain utilities provided by Windows and Msys/CYGWIN. They each have utilities called find, link, and sort, but the Windows versions are completely incompatible with the unix versions. It is important that the MSys/CYGWIN versions of find and sort are the ones that come first in your path. You can check this by typing `which find` and `which sort` on the command line and makeing sure they are the one in the MSys/CYGWIN `bin` directory. If not, make sure that the Msys/CYGWIN `bin` directories come before any Windows system directories in your `PATH`! Both the `configure` and `libtool` shell scripts can fail if this is not true. On the other hand, if you're trying to build with Windows `cl`, then you want the Windows version of `link` to be first in your path, so make sure that the Visual Studio command directories precede the Msys/CYGWIN command directories, which in turn must still precede the Windows system directories. This happens naturally if you run the batch script provided by Visual Studio for setting the environment variables.
    3636
    3737 * On '''AIX {{{configure}}} runs considerably faster''' if bash is installed and the environment variable {{{CONFIG_SHELL}}} points to it.
     
    5454== Compilation ==
    5555
    56  * '''On Cygwin, GNU make version 3.81-1 delivered by the default setup program doesn't work''' with the automatic header file dependencies, generated by the compilers.  The error message you will see because of this bug will look something like this:
     56 * '''When building older versions of COIN on CYGWIN, GNU make version 3.81-1 delivered by the default setup program doesn't work''' with the automatic header file dependencies generated by the compilers.  The error message you will see because of this bug will look something like this:
    5757{{{
    5858make[2]: Entering directory `/home/andreasw/COIN-svn/OBJgcc-debug/Clp/trunk/Clp/src'
    5959.deps/ClpCholeskyBase.Plo:1: *** multiple target patterns.  Stop.
    6060}}}
    61    Here are two suggested fixes:
    62    1. Try to obtain the previous version (3.80); for example, you can download it from [http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2 http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2].
    63    1. Obtain a fixed 3.81 version, for example from [http://www.cmake.org/files/cygwin/make.exe http://www.cmake.org/files/cygwin/make.exe].  (See the Cygwin mailing list postings [http://cygwin.com/ml/cygwin/2006-09/msg00315.html http://cygwin.com/ml/cygwin/2006-09/msg00315.html] and [http://cygwin.com/ml/cygwin/2006-09/msg00153.html http://cygwin.com/ml/cygwin/2006-09/msg00153.html])
    64 
     61This is no longer the case with the most recent versions of the BuildTools, so the suggested solution is just to upgrade to a more recent version. If for some reason, you need to build an older version, the easiest workaround for this problem is to add
     62{{{
     63--disable-dependency-tracking
     64}}}
     65to your configure command.
    6566
    6667 * '''On AIX, with the xlC compiler''' the CXX flag -qrtti has been needed.
     
    8485}}}
    8586
    86  * '''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 [https://projects.coin-or.org/BuildTools/attachment/wiki/current-issues/libstdc%2B%2B.la?format=raw fixed one]. This currently affects only the unit test of Ipopt (as far as I know).
     87 * '''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 [https://projects.coin-or.org/BuildTools/attachment/wiki/current-issues/libstdc%2B%2B.la?format=raw fixed one]. This currently affects only the unit test of Ipopt (as far as I know). I have built successfully without this fix on version 4.7.3 of the GNU MINGW compilers that currently ships with CYGWIN, so the easiest solution is just to upgrade to something more recent. Many version of the MINGW compilers that are out there fail to build COIN for various reasons, however.
    8788
    88  * '''When using MinGW and Msys''', you may see failures that really leave you scratching your head. See the [#MinGWPath entry under configuration]. During build, the failure is due to `libtool` finding Windows `sort` instead of unix `sort`.
     89 * '''When building in either the Msys or CYGWIN shells''', you may see failures that really leave you scratching your head. See the [#MinGWPath entry under configuration]. During build, the failure is due to `libtool` finding Windows `sort` instead of unix `sort`.
    8990
    9091 * 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.