[Ipopt] Building ipopt win64

FEDERICO PRADES ILLANES federico.prades at bbva.com
Fri Aug 26 12:01:25 EDT 2016


I think I forgot the most important piece, we are trying to use Ipopt
libraries back from MSVC 2012.

So we are building the example inside Visual Studio 2012, not mingw, nor
gcc. Is that possible?

Thanks


*Federico Prades Illanes* - *ext. (2)75682 - Software Evangelist*
*Quantitative and Business Solutions (QBS) **- CIB - **BBVA*

On 26 August 2016 at 17:59, Anthony D. Kelman <kelman at berkeley.edu> wrote:

> Should work fine without needing to build things separately or have most
> of those messy configure flags if you use gcc and g++.
>
> On Aug 26, 2016 8:55 AM, "FEDERICO PRADES ILLANES" <
> federico.prades at bbva.com> wrote:
>
>> 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.li
>>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__libmumps-5Fcommon.li&d=CwMFaQ&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=en0_ydai4UPM8nLin0WTg5UWlOXuXT_rDA2W227v-no&m=RUHqPu0tUOI-3mVldY6x15efzbVXhb7j8ZpOkUMvWMg&s=alTzhyoWjcrUYhDhnVEWCq48VNeUYW8OrRk4gFy1XoE&e=>b
>>> $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."
>>
>> _______________________________________________
>> Ipopt mailing list
>> Ipopt at list.coin-or.org
>> https://urldefense.proofpoint.com/v2/url?u=http-3A__list.coi
>> n-2Dor.org_mailman_listinfo_ipopt&d=CwICAg&c=Ngd-ta5yRYsqe
>> UsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=en0_ydai4UPM8nLin0WTg5
>> UWlOXuXT_rDA2W227v-no&m=RUHqPu0tUOI-3mVldY6x15efzbVXhb
>> 7j8ZpOkUMvWMg&s=XsC1Hkmrqu2mqt5IJG82BosXJQdKrg2BBsQQmOnbGH0&e=
>>
>>

-- 


"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/7166329c/attachment.html>


More information about the Ipopt mailing list