[GAMSlinks-tickets] Re: [GAMS interface to COIN-OR solvers] #1: error running configure script

GAMS interface to COIN-OR solvers coin-trac at coin-or.org
Tue Mar 27 15:47:53 EDT 2007


#1: error running configure script
--------------------------+-------------------------------------------------
  Reporter:  bbaumrucker  |       Owner:  stefan  
      Type:  defect       |      Status:  assigned
  Priority:  major        |   Milestone:          
 Component:  component1   |     Version:          
Resolution:               |    Keywords:          
--------------------------+-------------------------------------------------
Comment (by stefan):

 Hi,

 > For all three of the trials, I recieved an error.  The exact message is
 slightly different each time, but they all look something like this:
 >
 > LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other
 libs; us
 > e /NODEFAULTLIB:library
 > GamsIpopt.exe : fatal error LNK1169: one or more multiply defined
 symbols found

 Ah, maybe the fortran libraries are still linked against libcmt, i.e., the
 multithreaded version of the libc. To get this correct, you will probably
 need to set the fortran compiler flags manually, but I do not know the
 options of the intel fortran compiler. You can check which flags were used
 to compile your blas, lapack, and HSL package (make clean in
 ThirdParty/Blas, and then make again), and then add a corresponding
 FFLAGS=... to your command line which calls configure, but also add an
 option that tells the intel compiler to use the non-multithread version of
 the libc libraries.

 > The third option does build the executable, and after a little file
 renaming will install on GAMS.  However, calling the solver results in the
 error:
 >
 > --- Executing IPOPT
 > '#!' is not recognized as an internal or external command,
 > operable program or batch file.

 That is a bug on my side, thank you.

 > If you think switching compilers would help, I can.  I have access to
 several versions of both Microsoft's C/C++ (v6.0 and .NET 2003) and Compaq
 Digital Fortran (v5.0 and v6.6) as well as Intel Fortran v8.0 compiler.
 Do you know what version of each was used to compile the GAMSIO libraries?

 I think Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077
 is used, but changing to this one will not help much, I guess.

 For Fortran it should be Compaq Visual Fortran Optimizing Compiler Version
 6.6 (Update C). It has the disadvantage that this compiler will not
 cooperate with the build system at all. I compiled blas, lapack, and MUMPS
 (in my case) separately with this compiler (and linking against libc
 instead of libcmt) and told the configure script to use these libraries
 with the --with-blas and --with-lapack options. Also there I got one
 multiple defined reference, put it helped to explicitely link against
 dfor.lib.

 However, one more thing was that I had to tell the Microsoft Compiler to
 switch off optimization (-Og), otherwise Ipopt crashes somewhere in the
 beginning. I haven't figured out the problem yet, debugging in Windows is
 just horrible.

 > I think I might have found something...  I tried the following:
 >
 > $ cl -O2 -DNDEBUG -nologo -EHsc -GR -o GamsIpopt.exe GamsIpopt.obj
 SmagNLP.obj
 > SmagJournal.obj c:/temp3/btb3/Ipopt/src/Interfaces/.libs/libipopt.lib
 c:/temp3/
 > gamslinks-0.2.0/ThirdParty/GAMSIO/VIS/clicelib.lib
 c:/temp3/gamslinks-0.2.0/Thi
 > rdParty/GAMSIO/VIS/smag.lib
 c:/temp3/gamslinks-0.2.0/ThirdParty/GAMSIO/VIS/gcli
 > b.lib c:/temp3/gamslinks-0.2.0/ThirdParty/GAMSIO/VIS/g2d.lib
 libifcorert.lib if
 > consol.lib -link /NODEFAULTLIB:LIBCMT
 >
 > This completed without an error!  I can then rerun the make and make
 install routines, without cleaning.  I get no error messages!  The solver
 installs into GAMS with no problems.  However, when I run it, I get the
 same error about # as before.  Upon further inspection, it appears that
 the make install created gms_ipnt.cmd as a linux shell script instead of a
 DOS batch file to call the executable.  I just rewrote it myself and
 everything appears to be working!  I'll test it out some more and let you
 know if I have any more troubles.

 That are good news :-). I hope there will be no problem coming about
 because of the libc/libcmt confusion. I corrected the gmsip_nt.cmd in the
 stable and trunk branch of GAMSlinks, this was indeed my error. Thank you
 for finding it.

 > Thank you very much for your patience and your hard work!

 I more have to thank you for your patience, you had the bad luck to be the
 first one who tried to compile the GAMSlinks package with cygwin and intel
 fortran compiler (at least the first one who submitted a ticket).

 Stefan

-- 
Ticket URL: <https://projects.coin-or.org/GAMSlinks/ticket/1#comment:8>
GAMS interface to COIN-OR solvers <http://projects.coin-or.org/GAMSlinks>
GAMS interface to COIN-OR solvers



More information about the GAMSlinks-tickets mailing list