Commit 2016-09-25
Portage Ubuntu 16.04LTS
J'ai porté les fichiers CMakeList.txt
pour pouvoir compiler Metafor sous la dernière version “long term release” de Ubuntu (Xenial Xerus). Je n'avais pas osé migrer ma machine personnelle suspectant des problèmes… qui sont apparus lorsque David Thomas a mis à jour son système.
La toute première difficulté vient du fait que les vieilles libs MKL ne sont pas compatibles avec gcc 5.4 utilisé dans cette distribution. Il faut donc soit tenter de linker avec MKL Community (qui pose des problèmes actuellement), soit avec OpenBLAS. C'est cette seconde voie que j'ai choisie.
La difficulté suivante vient du fait qu'OpenBLAS est installé en même temps que les BLAS traditionnelles. On se retrouve alors avec 2 fichiers cblas.h
(un dans /usr/include
et un dans /usr/include/openblas
). Je me suis arrangé pour que le compilateur trouve le second avant le premier.
Dernière difficulté: la version OpenBLAS d'ubuntu est compilée sans LAPACKE (contrairement à celle distribuée sur le site d'OpenBLAS). J'ai donc ajouté une recherche de LAPACKE qui est ajouté à OpenBLAS si la lib est trouvée.
Enfin, j'ai ajouté un fichier CMake/ubuntu-david.cmake
(compilation sans NDA, sans parasolid et avec OpenBLAS au lieu de MKL)
Au final, on peut compiler une version Metafor type “student” sous Ubuntu 16.04 LTS. Il reste à tester MKL, MUMPS et Parsolid. Pour ma part, je ne migrerai pas tant que les MKLs ne sont pas OK.
— boman 2016/09/25 14:59