[Ipopt-tickets] [Ipopt] #215: unable to build IPOPT with MinGW-w64 x86_64-w64-mingw32-gcc-4.8.0-win64_rubenvb compiler

Ipopt coin-trac at coin-or.org
Thu Aug 15 22:08:34 EDT 2013


#215: unable to build IPOPT with MinGW-w64
x86_64-w64-mingw32-gcc-4.8.0-win64_rubenvb compiler
---------------------+------------------------
  Reporter:  jpye    |      Owner:  ipopt-team
      Type:  defect  |     Status:  new
  Priority:  normal  |  Component:  Ipopt
   Version:  3.11    |   Severity:  major
Resolution:          |   Keywords:
---------------------+------------------------

Comment (by jpye):

 So, I followed Tony Kelman's instructions
 (http://www.mpclab.net/Trac/wiki/CompilingIpopt) for the MinGW-w64 setup,
 with the one exception of my "./configure --prefix=/mingw" command, to
 which I added no special FFLAGS as an experiment. I downloaded BLAS,
 LAPACK, METIS, MUMPS but not HSL, because I want to build a
 redistributable binary.

 The configure, build and install all work correctly, but, with my build
 command as mentioned, I get an error with "make test" as below. It looks
 as though this is the reason for the FFLAGS that Tony Kelman is using.

 Wouldn't it be possible for ./configure to correct this issue with the
 FFLAGS on MinGW and MinGW-w64?

 The whole problem in both the rubenvb and TDB-GCC build environments seems
 to revolve around the automatic configuration of the FFLAGS in the IPOPT
 configuration, right?

 {{{
 make[2]: Leaving directory `/home/john/Ipopt-3.11.3/Ipopt'
 cd test; make test
 make[2]: Entering directory `/home/john/Ipopt-3.11.3/Ipopt/test'
 if g++ -DHAVE_CONFIG_H -I. -I`echo .` -I../src/Common  -I`echo
 ./../src/Common` -I`echo ./../src/LinAlg` -I`echo ./../src/LinAlg/T
 Matrices` -I`echo ./../src/Algorithm` -I`echo ./../src/Interfaces`   -O3
 -pipe -DNDEBUG -pedantic-errors -Wparentheses -Wreturn-ty
 pe -Wcast-qual -Wall -Wpointer-arith -Wwrite-strings -Wconversion -Wno-
 unknown-pragmas -Wno-long-long   -DIPOPT_BUILD -MT hs071_ma
 in.o -MD -MP -MF ".deps/hs071_main.Tpo" -c -o hs071_main.o hs071_main.cpp;
 \
         then mv -f ".deps/hs071_main.Tpo" ".deps/hs071_main.Po"; else rm
 -f ".deps/hs071_main.Tpo"; exit 1; fi
 if g++ -DHAVE_CONFIG_H -I. -I`echo .` -I../src/Common  -I`echo
 ./../src/Common` -I`echo ./../src/LinAlg` -I`echo ./../src/LinAlg/T
 Matrices` -I`echo ./../src/Algorithm` -I`echo ./../src/Interfaces`   -O3
 -pipe -DNDEBUG -pedantic-errors -Wparentheses -Wreturn-ty
 pe -Wcast-qual -Wall -Wpointer-arith -Wwrite-strings -Wconversion -Wno-
 unknown-pragmas -Wno-long-long   -DIPOPT_BUILD -MT hs071_nl
 p.o -MD -MP -MF ".deps/hs071_nlp.Tpo" -c -o hs071_nlp.o hs071_nlp.cpp; \
         then mv -f ".deps/hs071_nlp.Tpo" ".deps/hs071_nlp.Po"; else rm -f
 ".deps/hs071_nlp.Tpo"; exit 1; fi
 /bin/sh ../../libtool --tag=CXX --mode=link g++  -O3 -pipe -DNDEBUG
 -pedantic-errors -Wparentheses -Wreturn-type -Wcast-qual -Wall
  -Wpointer-arith -Wwrite-strings -Wconversion -Wno-unknown-pragmas -Wno-
 long-long   -DIPOPT_BUILD   -o hs071_cpp.exe  hs071_main.o
  hs071_nlp.o ../src/Interfaces/libipopt.la
 /home/john/Ipopt-3.11.3/ThirdParty/Mumps/libcoinmumps.la -lpthread
 -Lc:/mingw/64/bin/..
 /lib/gcc/x86_64-w64-mingw32/4.7.1 -Lc:/mingw/64/bin/../lib/gcc
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x
 86_64-w64-mingw32/lib/../lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../lib
 -Lc:/mingw/64/bin/../lib/gcc/x8
 6_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../.. -lgfortra
 n -lmingw32 -lgcc_s -lmoldname -lmingwex -lmsvcrt -lquadmath -lm
 -ladvapi32 -lshell32 -luser32 -lkernel32  /home/john/Ipopt-3.11.3
 /ThirdParty/Metis/libcoinmetis.la
 /home/john/Ipopt-3.11.3/ThirdParty/Blas/libcoinblas.la
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-
 mingw32/4.7.1 -Lc:/mingw/64/bin/../lib/gcc
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/li
 b/../lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7
 .1/../../../../x86_64-w64-mingw32/lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../.. -lgfortran
 -lmingw32 -lgcc_s
 -lmoldname -lmingwex -lmsvcrt -lquadmath -lm -ladvapi32 -lshell32 -luser32
 -lkernel32   /home/john/Ipopt-3.11.3/ThirdParty/Lapack/
 libcoinlapack.la -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1
 -Lc:/mingw/64/bin/../lib/gcc -Lc:/mingw/64/bin/../lib/gcc/x
 86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/lib/../lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../.
 ./lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64
 -w64-mingw32/4.7.1/../../.. -lgfortran -lmingw32 -lgcc_s -lmoldname
 -lmingwex -lmsvcrt -lquadmath -lm -ladvapi32 -lshell32 -luser3
 2 -lkernel32  /home/john/Ipopt-3.11.3/ThirdParty/Blas/libcoinblas.la
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1 -Lc:/mi
 ngw/64/bin/../lib/gcc
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/lib/../lib
 -Lc:/mingw/6
 4/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64
 -w64-mingw32/lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../.. -lgfortran
 -lmingw32 -lgcc_s -lmoldname -lmingwex
 -lmsvcrt -lquadmath -lm -ladvapi32 -lshell32 -luser32 -lkernel32
 /home/john/Ipopt-3.11.3/ThirdParty/Blas/libcoinblas.la -Lc:/min
 gw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1 -Lc:/mingw/64/bin/../lib/gcc
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/.
 ./../../../x86_64-w64-mingw32/lib/../lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../lib
 -Lc:/mingw/64/bin/.
 ./lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../
 .. -lgfortran -lmingw32 -lgcc_s -lmoldname -lmingwex -lmsvcrt -lquadmath
 -lm -ladvapi32 -lshell32 -luser32 -lkernel32  -lm
 mkdir .libs
 g++ -O3 -pipe -DNDEBUG -pedantic-errors -Wparentheses -Wreturn-type
 -Wcast-qual -Wall -Wpointer-arith -Wwrite-strings -Wconversion
  -Wno-unknown-pragmas -Wno-long-long -DIPOPT_BUILD -o hs071_cpp.exe
 hs071_main.o hs071_nlp.o  ../src/Interfaces/.libs/libipopt.a /
 home/john/Ipopt-3.11.3/ThirdParty/Mumps/.libs/libcoinmumps.a -lpthread
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1 -Lc:/
 mingw/64/bin/../lib/gcc
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/lib/../lib
 -Lc:/mingw
 /64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_
 64-w64-mingw32/lib
 -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../..
 /home/john/Ipopt-3.11.3/ThirdParty/Metis/.libs/l
 ibcoinmetis.a
 /home/john/Ipopt-3.11.3/ThirdParty/Lapack/.libs/libcoinlapack.a
 /home/john/Ipopt-3.11.3/ThirdParty/Blas/.libs/libcoi
 nblas.a -lgfortran -lmingw32 -lgcc_s -lmoldname -lmingwex -lmsvcrt
 -lquadmath -ladvapi32 -lshell32 -luser32 -lkernel32
 c:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/libgcc.a(unwind-
 sjlj.o): In function `_Unwind_SjLj_Register':
 c:\crossdev\build\gcc-
 tdm64\x86_64-w64-mingw32\libgcc/../../../../src/gcc-4.7.1/libgcc/unwind-
 sjlj.c:127: multiple definition of `
 _Unwind_SjLj_Register'
 c:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/libgcc_s.a(d000017.o):(.text+0x0):
 first defined here
 c:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/libgcc.a(unwind-
 sjlj.o): In function `_Unwind_SjLj_Unregister':
 c:\crossdev\build\gcc-
 tdm64\x86_64-w64-mingw32\libgcc/../../../../src/gcc-4.7.1/libgcc/unwind-
 sjlj.c:174: multiple definition of `
 _Unwind_SjLj_Unregister'
 c:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/libgcc_s.a(d000020.o):(.text+0x0):
 first defined here
 c:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/libgcc.a(unwind-
 sjlj.o): In function `_Unwind_SjLj_Resume':
 c:\crossdev\build\gcc-
 tdm64\x86_64-w64-mingw32\libgcc/../../../../src/gcc-4.7.1/libgcc/unwind.inc:220:
 multiple definition of `_Un
 wind_SjLj_Resume'
 c:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/libgcc_s.a(d000018.o):(.text+0x0):
 first defined here
 collect2.exe: error: ld returned 1 exit status
 make[2]: *** [hs071_cpp.exe] Error 1
 make[2]: Leaving directory `/home/john/Ipopt-3.11.3/Ipopt/test'
 make[1]: *** [unitTest] Error 2
 make[1]: Leaving directory `/home/john/Ipopt-3.11.3/Ipopt'
 make: *** [test] Error 2

 john at win7_off64 ~/Ipopt-3.11.3
 $
 }}}

-- 
Ticket URL: <https://projects.coin-or.org/Ipopt/ticket/215#comment:2>
Ipopt <http://projects.coin-or.org/Ipopt>
Interior-point optimizer for nonlinear programs.



More information about the Ipopt-tickets mailing list