64 lines
2.9 KiB
Text
64 lines
2.9 KiB
Text
|
|
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.
|