Building ASCEND for 64-bit Windows
There are a number of barriers to building ASCEND on 64-bit Windows:
- PyGTK for 64-bit may have some bugs (http://www.daa.com.au/pipermail/pygtk/2009-July/017278.html)
- SCons does not distribute an installer that works against 64-bit Python
- Windows platform-specific code so far assumes 32-bit mode.
We are working towards fixing these items.
Steps to date:
- install MSYS bundle to c:\msys as instructed here
- install MinGW-64 bundle to c:\mingw64 as instructed (we used mingw-w64-bin_i686-mingw_20111220.zip
- install 64-bit Python 2.7.2
- append /c/Python27 and /c/Python27/Scripts to the PATH in MSYS.
- download and extract source tarball for SCons 1.2.0. Build via python setup.py bdist_wininst then install resulting .exe in dist subfolder.
- create 'scons' file in c:\Python27\Scripts containing
#!/bin/sh python /c/Python27/Scripts/scons.py $*
- svn checkout ASCEND source code (from trunk)
- scons
For SUNDIALS (used by the IDA solver):
- ./configure --host=x86_64-w64-mingw --prefix=/mingw
- make -j4
- make install
Things we need to work on:
- Installing the MinGW-64 toolchain with 'standard' (local) tool filenames (maybe a quick script to rename or symlink them?)
- Detecting 32-bit vs 64-bit Windows
- config.h.in etc for size of void * etc.
- Detecting Python linker flags
- Building PyGTK etc for our version of Python
- Packaging it all (will NSIS 32-bit be OK to use?)