[Ipopt] Building ipopt win64
FEDERICO PRADES ILLANES
federico.prades at bbva.com
Fri Aug 26 11:54:54 EDT 2016
Hello ipopt'ers,
We are trying to build Ipopt 3.12.6 in windows win32 and win64, using
MinGW(we are using tdm-gcc with gcc/gfortran 5.1).
We were successful building win32 version both Debug and Release versions,
but not so lucky with the win64 version.
The versions of the additional software we use:
- MUMPS 4.10.0
- blas (coinor 20130815)
- Lapack 3.4.2
To build Ipopt, we proceed as follows:
# Load cywin and VS2012
> export CC=cl
> export CXX=cl
> ./configure --disable-shared --enable-static --with-pic
> --enable-doscompile=msvc --enable-dependency-linking
> lt_cv_deplibs_check_method=pass_all --with-blas-lib="$BLAS_HOME/blas.dll"
> --with-lapack-lib="$LAPACK_HOME/liblapack.dll"
> --with-mumps-lib="$MUMPS_HOME/libdmumps.lib $MUMPS_HOME/libmumps_common.lib
> $MUMPS_HOME/libpord.lib $MUMPS_HOME/libmpiseq.lib"
> make -j12 install
Ipopt builds fine win32/win64. And we have a example code to use Ipopt. To
build and link the example, we use the following 32bits libraries:
- $MINGW_ROOT/lib/libmingwex.a
- $MINGW_ROOT/lib/gcc/mingw32/5.1.0/libgfortran.dll.a
- $MINGW_ROOT/lib/gcc/mingw32/5.1.0/libgcc.a
Builds, links and runs nicely on win32. However in win64 we use:
- $MINGW_ROOT/x86_64-w64-mingw32/lib/libmingwex.a
- $MINGW_ROOT/lib/gcc/x86_64-w64-mingw32/5.1.0/libgfortran.dll.a
- $MINGW_ROOT/lib/gcc/x86_64-w64-mingw32/5.1.0/libgcc.a
Here is where the fun starts. We start to get errors like:
libmingwex.lib(lib64_libmingwex_a-powi.o) : error LNK2001: unresolved
> external symbol __mingw_raise_matherr
Looking around in mingw we managed to find the missing symbol, at:
- $MINGW_ROOT\x86_64-w64-mingw32\lib\libmingw32.a
The error then becomes
MSVCRT.lib(gs_report.obj) : error LNK2005: *__report_gsfailure already
> defined* in libmingw32.lib(lib64_libmingw32_a-gs_support.o)
> libmingw32.lib(lib64_libmingw32_a-merr.o) : error LNK2005:* _matherr
> already defined* in MSVCRT.lib(merr.obj)
Does anybody know what are we missing? Or how to solve it?
Does anybody know if it's possible to build ipopt with mingw using
gfortran? Is it documented in detail?
Thanks for your help, and patience to read this far.
*Federico Prades Illanes* - *ext. (2)75682 - Software Evangelist*
*Quantitative and Business Solutions (QBS) **- CIB - **BBVA*
--
"Este mensaje está dirigido de manera exclusiva a su destinatario y puede
contener información privada y confidencial. No lo reenvíe, copie o
distribuya a terceros que no deban conocer su contenido. En caso de haberlo
recibido por error, rogamos lo notifique al remitente y proceda a su
borrado, así como al de cualquier documento que pudiera adjuntarse.
Por favor tenga en cuenta que los correos enviados vía Internet no
permiten garantizar la confidencialidad de los mensajes ni su transmisión
de forma íntegra.
Las opiniones expresadas en el presente correo pertenecen únicamente al
remitente y no representan necesariamente la opinión del Grupo BBVA."
"This message is intended exclusively for the adressee and may contain
privileged and confidential information. Please, do not disseminate, copy
or distribute it to third parties who should not receive it. In case you
have received it by mistake, please inform the sender and delete the
message and attachments from your system.
Please keep in mind that e-mails sent by Internet do not allow to
guarantee neither the confidentiality or the integrity of the messages
sent."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20160826/9fa2e034/attachment.html>
More information about the Ipopt
mailing list