2018-01-17 Build cvxopt on Windows, cvxopt 1.1.9 not compatible with numpy 1.14

I recently started to have an issue with cvxopt.

>>> import cvxopt
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python364_x64\lib\site-packages\cvxopt\__init__.py", line 34, in <module>
    import cvxopt.base
ImportError: DLL load failed: Le module spécifié est introuvable.

It is due to the recent update numpy 1.14 which seems to be incompatible with numpy 1.13.

Maybe I should switch to cvxpy as suggested in dipy. I also looked into Choosing a solver or optlang.

Not sure if this package is really maintained or if I should switch to another one. Anyway, on Windows, a file .appveyor.yml defines the way to build it even though it is not up to date. I updated OpenBLAS, SuiteSparse. AppVeyor seems to have MinGW, MSYS, Cygwin installed by default. Locally, I installed mingw-w64 with all the packages.

I tried the file x86_64-7.2.0-release-posix-seh-rt_v5-rev2.7z which you can find at the following location: sourceforge/mingw-w64/files. It works if you can install lapack, blas, wincrt1400 too.

The file c:\Python364_x64\lib\distutils\cygwinccompiler.py must be modified too aroud line 86 to add the version Python was compiled with:

elif msc_ver == '1900':
    # VS2015 / MSVC 14.0
    return ['vcruntime140']

I got vcruntime140.dll from Visual Studio Community Edition but it seems an endless path as I already know the build would fail with the new version of numpy. Let’s drop.