Changes between Version 31 and Version 32 of CompilationHints
- Apr 27, 2010 5:12:14 PM (4 years ago)
v31 v32 82 82 * The Visual Studio solution that comes with the Ipopt distribution was created using Visual Studio 2005. If you are using Visual Studio 2008, the solution can be converted to VS 2008 format via a conversion wizard when it is first loaded. 83 83 84 == Compiling HSL Routines == 84 == Compiling HSL Routines == 85 85 * I was able to compile the HSL routines (MA27/MC19) by first running f2c.exe on the source files per the included Ipopt documentation. 86 86 * Resist any temptation you might have to convert 4 byte REALs to 8 byte DOUBLEs after running f2c. Ipopt assumes that no changes to the calling interface have been made by developers. 87 87 * I get a couple of compiler warnings when building MA27 and MC19, having to do with operator precedence and possible data loss when converting from 'double or 'doublereal' to 'real'. These can safely be ignored. 88 88 89 == Compiling Sequential Mumps == 89 == Compiling Sequential Mumps == 90 90 * I built Sequential Mumps using WinMumps, and it worked great. Though I chose not to do so, building Parallel Mumps is a very similar process. The only thing to keep in mind is that your directory structure must be set correctly for the Python script to work properly. Follow these general steps: 91 91 … … 100 100 101 101 102 == Compiling Metis == 102 == Compiling Metis == 103 103 * I collected all of the Metis source files into a single directory and created a single VC static library project to build them. 104 104 * In order to get Metis to compile, I had to make a few minor changes to the source code: … … 110 110 111 111 112 == Compiling Ipopt with MUMPS == 112 == Compiling Ipopt with MUMPS == 113 113 * I had no problem compiling Ipopt with the default MA27 linear solver, but building it with MUMPS was a little trickier. 114 114 * First, the IpOptConfig.h file must be modified. The symbol 'COIN_HAS_MUMPS' must be added and defined or the MUMPS interface code will not be compiled. Note that the existing 'HAVE_MUMPS' symbol in IpOptConfig.h is not referenced anywhere else in the Ipopt code, and will not be used for this purpose.