Echec de la compilation sous ubuntu 22.04 a cause de libmimalloc-dev

Bonjour,
Depuis hier soir je tente d’installer Art, j’étais sous Ubuntu 20.04 et je bloquais avec des erreurs sur libmimalloc-dev.
Ce matin j’ai migré sur Ubuntu 22.04, j’ai supprimé le répertoire Programs et suivi la procédure vue dans ce forum, je n’ai pas eu d’erreur sur la partie installation, et j’ai eu l’installation juste les paquets libmimalloc

mais la compilation échoue avec ces messages:

thierry@thierry-MS-7851:~/programs/tools$ ./build-art

Program name: art
Build type: release
Build without updating: false
Checkout:
Install primary:

Clonage dans ‘/home/thierry/programs/code-art’…
Réception d’objets: 100% (81463/81463), 146.17 Mio | 1.12 Mio/s, fait.
Résolution des deltas: 100% (64286/64286), fait.
– The C compiler identification is GNU 11.3.0
– The CXX compiler identification is GNU 11.3.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: /usr/bin/cc - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: /usr/bin/c++ - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– WARNING: gcc 11.3.0 is known to miscompile ART when using --ffp-contract=fast, forcing the option to be off
– CMAKE_BUILD_TYPE: release
– Found PkgConfig: /usr/bin/pkg-config (found version “0.29.2”)
– Checking for module ‘gtk±3.0>=3.16’
– Found gtk±3.0, version 3.24.33
– Checking for module ‘gtkmm-3.0>=3.16’
– Found gtkmm-3.0, version 3.24.5
– Checking for module ‘glib-2.0>=2.44’
– Found glib-2.0, version 2.72.4
– Checking for module ‘glibmm-2.4>=2.44’
– Found glibmm-2.4, version 2.66.2
– Checking for module ‘cairomm-1.0’
– Found cairomm-1.0, version 1.12.2
– Checking for module ‘gio-2.0>=2.44’
– Found gio-2.0, version 2.72.4
– Checking for module ‘giomm-2.4>=2.44’
– Found giomm-2.4, version 2.66.2
– Checking for module ‘gthread-2.0>=2.44’
– Found gthread-2.0, version 2.72.4
– Checking for module ‘gobject-2.0>=2.44’
– Found gobject-2.0, version 2.72.4
– Checking for module ‘sigc+±2.0>=2.3.1’
– Found sigc+±2.0, version 2.10.4
– Checking for module ‘lensfun>=0.2’
– Found lensfun, version 0.3.2.0
– Checking for module ‘librsvg-2.0>=2.40’
– Found librsvg-2.0, version 2.52.5
– Checking for module ‘exiv2>=0.24’
– Found exiv2, version 0.27.5
– searching for library exiv2 in /usr/lib/x86_64-linux-gnu
– result: /usr/lib/x86_64-linux-gnu/libexiv2.so
– Checking for module ‘lcms2>=2.6’
– Found lcms2, version 2.12
– Checking for module ‘expat>=2.1’
– Found expat, version 2.4.7
– Checking for module ‘fftw3f’
– Found fftw3f, version 3.3.8
– Checking for module ‘libtiff-4>=4.0.4’
– Found libtiff-4, version 4.3.0
– Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (found version “80”)
– Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version “1.2.11”)
– Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version “1.6.37”)
– Checking for module ‘libcanberra-gtk3’
– Found libcanberra-gtk3, version 0.30
– Found OpenMP_C: -fopenmp (found version “4.5”)
– Found OpenMP_CXX: -fopenmp (found version “4.5”)
– Found OpenMP: TRUE (found version “4.5”)
– Performing Test _fftw3f_multithread
– Performing Test _fftw3f_multithread - Failed
– searching for library lensfun in /usr/lib/x86_64-linux-gnu
– result: /usr/lib/x86_64-linux-gnu/liblensfun.so
– Performing Test LENSFUN_HAS_LOAD_DIRECTORY
– Performing Test LENSFUN_HAS_LOAD_DIRECTORY - Success
– Performing Test _lcms2_fast_float
– Performing Test _lcms2_fast_float - Failed
CMake Warning at CMakeLists.txt:599 (find_package):
By not providing “Findmimalloc.cmake” in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by “mimalloc”,
but CMake did not find one.

Could not find a package configuration file provided by “mimalloc” with any
of the following names:

mimallocConfig.cmake
mimalloc-config.cmake

Add the installation prefix of “mimalloc” to CMAKE_PREFIX_PATH or set
“mimalloc_DIR” to a directory containing one of the above files. If
“mimalloc” provides a separate development package or SDK, be sure it has
been installed.

CMake Error at CMakeLists.txt:610 (message):
ART requires the mimalloc library. Please install it (see
mi-malloc: Main Page)

– Configuring incomplete, errors occurred!
See also “/home/thierry/programs/code-art/build/CMakeFiles/CMakeOutput.log”.
See also “/home/thierry/programs/code-art/build/CMakeFiles/CMakeError.log”.

Je ne suis pas un grand maître sous Linux… (hélas c’est là qu’est l’os! )

Si quelqu’un peut m’oreinter ce serait bien sympa, merci d’avance !

Dans le script build-art, peux-tu essayer d’ajouter la ligne -DENABLE_MIMALLOC="OFF" à la commande cmake (ou changer “ON” vers “OFF” si la ligne est déjà présente) ?
Il faut bien entendu supprimer le répertoire “build” avant de relancer la compilation.

Merci de m’avoir répondu!

Pour faire “propre” j’ai supprimé le répertoire programs et j’ai refais la procédure complète en modifiant le script build-art comme tu me l’as demandé (la ligne n’existait pas du tout).

Malheureusement même résultat!

Je vois que maintenant mimalloc est bien une dépendance pour ART.

Apparemment, cmake ne trouve pas le module cmake de mimalloc sur ton système. Le message d’erreur suggère de spécifier le chemin pour que cmake le trouve :

Could not find a package configuration file provided by “mimalloc” with any
of the following names:

mimallocConfig.cmake
mimalloc-config.cmake

Add the installation prefix of “mimalloc” to CMAKE_PREFIX_PATH or set
“mimalloc_DIR” to a directory containing one of the above files. If
“mimalloc” provides a separate development package or SDK, be sure it has
been installed.

Essaye de localiser le fichier mimalloc-config.cmake (ou mimallocConfig.cmake) sur ton système. Sur le mien, il est installé dans /usr/lib/cmake/mimalloc/. Une fois localisé sur ton système, essaye d’ajouter sont chemin à la commande cmake du script build-art:

-DCMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:/CHEMIN/VERS/cmake/mimalloc" \

Puis relance le script.

Je n’ai aucun de ces deux fichiers dans ma machine!

Ils auraient du être créés lors de quelle installation ?

si je fais : sudo apt-get install cmake il me dit qu’il est installé et avec la dernière version.

Ca devrait être installé par libmimalloc-dev. Je n’utilise pas Ubuntu alors je ne peux pas trop aider. Mais de ce que je vois, apparemment pour Ubuntu le paquet libmimalloc-dev ne délivre pas les fichiers de configuration cmake (voir liste des fichiers à “files” ici : https://ubuntu.pkgs.org/22.04/ubuntu-universe-amd64/libmimalloc-dev_2.0.5+ds-2_amd64.deb.html) tandis que le paquet libmimalloc-dev de Debian Sid les délivre bien (https://debian.pkgs.org/sid/debian-main-amd64/libmimalloc-dev_2.0.9+ds-1_amd64.deb.html).
A voir s’il est possible de remplacer le paquet “Ubuntu” par le paquet “Debian Sid”…

Et je suppose que si c’est possible, alors les fichiers de configuration cmake de mimalloc seront bien installés, et le script build-art les trouvera tous seul (sinon il faudra les localiser, et ajouter la ligne -DCMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:/CHEMIN/VERS/cmake/mimalloc" \.

Merci beaucoup pour l’aide apportée.

En attendant mieux, pourrais-je installer une version plus ancienne de Art qui n’utiliserait pas libmimalloc ?

mon book photo est ici: https://thiroma.kabook.fr/

Aucune idée… il vaudrait mieux, à mon avis, essayer d’installer la version Debian Sid de mimalloc.

Joli book !

Alors cette fois ça fonctionne!
si l’on regarde ici : https://bitbucket.org/agriggio/art/wiki/BuildUbuntu

Après avoir téléchargé et décompressé mimalloc et avant de faire : mkdir -p out/release depuis le dossier que l’on a créé, il faut aller dans le dossier :
mimalloc-master

et à partir de là : mkdir -p out/release
et la suite…

Merci …

Maintenant plus qu’a découvrir ART… :wink:

Je n’avais pas pensé d’aller voir la page wiki. Alberto a donc fait le même constat, à savoir que la version de libmimalloc-dev des entrepôts Ubuntu 22.04 ne délivre pas out ce qu’il faut. Il propose de compiler la librairie à partir de l’entrepôt github the mimalloc, dans ce cas les fichiers de configuration cmake sont créés et installés comme il faut.

Bonjour, avec Ubuntu-studio pas de problème actuellement. Il arrive parfois que la compilation ou la version compilée bug. Ne comprenant pas grand chose à l’informatique je fais fonctionner l’appimage qui est en ce moment celle de mi-janvier. (en attendant la compilation suivante qui en règle générale fonctionne).

Bonsoir - comme je l’avais expliqué sur ce post j’ai fait dernièrement l’installation “à la main” du paquet manquant sur la dernière version de Mint qui est basée sur ubuntu 22.04 .