[Ipopt] Ipopt config and FORTRAN_INTEGER_TYPE

David Wilkinson xyz-coin at effisols.com
Thu May 11 10:21:09 EDT 2017


I have been trying to compile latest Bonmin 1.8.4, which includes Ipopt 3.12.4, 
on Microsoft Visual Studio.

I started with some older Visual Studio project files, which were working with 
Bonmin 1.3.2, and received a lot of errors related to the symbols BONMIN_BUILD, 
IPOPT_BUILD etc., which were not used in Bonmin 1.32.

I was able to eliminate almost all the errors by suitable definition of these 
symbols in the various projects, but there was one issue related to the 
FORTRAN_INTEGER_TYPE symbol that remained..

This symbol is defined (as int) in Ipopt\src\Common\config_default.h but not in 
Ipopt\src\Common\config_ipopt_default.h. Therefore if IPOPT_BUILD is not defined 
(as in the libBonmin project), there is a compilation failure in the statement

typedef FORTRAN_INTEGER_TYPE ipfint;

which appears in Ipopt\src\Common\IpTypes.hpp

Bottom line:

There needs to be a definition of FORTRAN_INTEGER_TYPE in 
Ipopt\src\Common\config_ipopt_default.h.

I had a friend compile Bonmin/Ipopt on Linux, and the generated 
Ipopt\src\Common\config.h and Ipopt\src\Common\config_ipopt.h both contain the line

#define FORTRAN_INTEGER_TYPE int

I hope this simple fix to Ipopt\src\Common\config_ipopt_default.h can be made in 
the next version.

Otherwise the only way to proceed on Visual Studio without changing source code 
is to put FORTRAN_INTEGER_TYPE=int in the preprocessor symbols of the Visual 
Studio libBonmin project (or to define IPOPT_BUILD, which seems wrong).

Thanks,

David Wilkinson



More information about the Ipopt mailing list