This library was apparently intended for UNIX architectures, meaning that most of the trouble is for Windows systems. The other problem is the CPU architecture we'll compile against. INSTALLATION WINDOWS 32/64 We've managed to compile a STATIC library (.lib) in both 32 and 64 bit. We didn't manage to build a dynamic library (lapack errors), but there is no need. The built version is WITHOUT parallel support - Toonz already deals internally with thread management, so we'd have deactivated multithreading anyways. As a side note, the problem with threads is apparently related to missing symbols, probably due to the absence of pthread implementation in the Windows system. We've not investigated further. So, follow this procedure: 1. Download both MINGW and MSYS. EDIT: Maybe MSYS2 could be enough. You could try that first. 1.1 There are many version online, not all suitable. The ones we need has 64 bit compilers, suggested at the following address: http://www.gaia-gis.it/spatialite-3.0.0-BETA/mingw64_how_to.html I'm also mentioning the single addresses below: MINGW: http://sourceforge.net/projects/mingw-w64/ (look for the most downloaded, non the most recent) MSYS: http://sourceforge.net/apps/trac/mingw-w64/wiki/MSYS Make sure that in the MinGW folder all compiler executables in the "bin/" folder all have the prefix "x86_64-w64-mingw32-". 1.2 In the MSYS version we've used, it was necessary to create the "fstab" file in "/etc", with the line "c:/MINGW /mingw", to specify the mingw folder to msys. Once done, it should be possible to do "cd /mingw". Watch out that for some reason using ls from "/" does not list the folder... 2. Decide the target CPU architecture. If this step is skipped, make will automatically search for the compiling system's CPU. The version we built is based on the "nehalem" architecture. It was the one automatically generated on our compiling computer. To select a specific CPU, add the suffix "TARGET=<your target CPU>" in the following command lines. The list of supported CPUS is specified in "TargetList.txt" inside the OpenBLAS folder. 3. Compile using the following commands: 32-bit: make BINARY=32 USE_THREAD=0 CC=x86_64-w64-mingw32-gcc FC=x86_64-w64-mingw32-gfortran RANLIB=x86_64-w64-mingw32-ranlib 64-bit: make BINARY=64 USE_THREAD=0 CC=x86_64-w64-mingw32-gcc FC=x86_64-w64-mingw32-gfortran RANLIB=x86_64-w64-mingw32-ranlib The only difference is in "BINARY=32/64"; "USE_THREAD=0" indicates multithread support deactivation, and we had to specify RANLIB since for some reason the 64 bit version was automatically looking "ranlib" at 32 bit. 4. Wait until completion. It should complain that no dll could be created, but the .lib files should have been built correctly.