coin-or-tools / BuildTools

Macros and patches for GNU autotools
https://coin-or-tools.github.io/BuildTools/
Other
3 stars 7 forks source link

Error in Compilation of Bonmin make #93

Closed svigerske closed 5 years ago

svigerske commented 5 years ago

Issue created by migration from Trac.

Original creator: martmevi

Original creation time: 2011-12-05 14:19:11

Assignee: @svigerske

Version: 0.7

Keywords: make cbc

Hi,

I am triying to install Bonmin-1.5.1. via cygwin on my windows system. According to instructions I installed the 3rd party code Blas, Lapack, ASL, HSL (MA27 and MC19), Metis. I created the directory "build" and called ./configure -C from there which completed with "Configuration of Bonmin successful". However, when subsequently executing "make", it fails, with the last lines of make compilatin being:

../../../Cbc/src/CbcSolver.cpp: In function 'int CbcMain1<int, const char, CbcModel&, int<><CbcModel, int>': ../../../Cbc/src/CbcSolver.cpp:1666:error: expected primary-expresion before '>' token make[4]: ** [CbcSolver.lo] Error 1 make[4]: Leaving directory '/cygdrive/c/Bonmin3/build/Cbc/src' make[3]: [all-recursive] Error 1 make[3]: Leaving directory '/cygdrive/c/Bonmin3/build/Cbc/src' make[2]: [all] Error 2 make[2]: Leaving directory '/cygdrive/c/Bonmin3/build/Cbc/src' make[1]: [all-recursive] Error 1 make[1]: Leaving directory '/cygdrive/c/Bonmin3/build/Cbc' make: *** [all-recursive] Error 1

I would like to provide my configuration log files, as well, but no file named "config.log" can be found in any subdirectory of by bonmin folder. It would be great, if you could help me to overcome my compilation problem.

Thanks a lot,

Martin

svigerske commented 5 years ago

Comment by @svigerske created at 2011-12-05 14:28:09

It seems to be an issue with setting up the revision number of Cbc, since CbcSolver.cpp:1666 is supposed to print that number:

#ifdef CBC_SVN_REV
            sprintf(generalPrint + strlen(generalPrint),
                    "Revision Number: %d \n", CBC_SVN_REV);
#endif

Can you check what is the define for CBC_SVN_REV in Cbc/src/config.h (in the build directory)?

It should be a single number. If it's not, the easiest may be to just edit this file (it's generated by configure) and to remove the define of CBC_SVN_REV. Bonmin should still work as usual.

Stefan

svigerske commented 5 years ago

Comment by @svigerske created at 2011-12-05 14:28:09

Changing priority from critical to major.

svigerske commented 5 years ago

Comment by @svigerske created at 2011-12-05 14:28:09

Changing status from new to assigned.

svigerske commented 5 years ago

Comment by martmevi created at 2011-12-05 15:08:50

Hi Stefan,

I checked CBC_SVN_REV in config.h and commented it out as suggested by you. When I rerun "make" in my build directory I get the following error:

Making all in ThirdParty/Metis make[1]: Entering directory 'cygdrive/c/Bonmin3/build/ThirdParty/Metis' .deps/balance.Plo:1: multiple target patterns. Stop. make[1]: Leaving directory 'cygdrive/c/Bonmin3/build/ThirdParty/Metis' make: [all-recursive] Error 1

This seems to be a different issue... Do you know how to solve this too?

Thanks,

Martin

svigerske commented 5 years ago

Comment by @svigerske created at 2011-12-05 15:49:29

This is a bug in cygwin's make, see here.

What was the value of CBC_SVN_REV in your config.h?

svigerske commented 5 years ago

Comment by @svigerske created at 2011-12-05 22:15:08

Resolution: worksforme

svigerske commented 5 years ago

Comment by martmevi created at 2011-12-06 08:27:24

CBC_SVN_REV was not assigned to any value. The line in config.h was reading: #define CBC_SVN_REV

I was able to complete "make" without error.

Thanks for your help!