| |
| 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. |
| |
| ---------- |
| Change Log |
| |
| Apr. 8, 2022 Removed ./xianyi-OpenBLAS-e6e87a2/lapack-3.4.1.tgz as it contains unredistributable files (see the issue #3928). The package is still available in http://www.netlib.org/lapack/ just in case. |