Anomalie #334
Problème installation Herezh sur Mac puce M1
Description
Salut Gérard,
J'ai essayé de faire fonctionner HZpp_Vn-1 (et le fast) sur mon MacBookPro (Puce M1) mais j'ai un message d'erreur du type quand je l'exécute :
laurentmaheo@Mezat ~ % HZpp_Vn-1
dyld71088: Library not loaded: /opt/local/lib/libboost_chrono-mt.dylib
Referenced from: /Applications/Herezh/HZpp_Vn-1
Reason: tried: '/opt/local/lib/libboost_chrono-mt.dylib' (mach-o file, but is an * incompatible architecture (have 'arm64', need 'x86_64')* ), '/usr/local/lib/libboost_chrono-mt.dylib' (no such file), '/usr/lib/libboost_chrono-mt.dylib' (no such file), '/opt/local/libexec/boost/1.76/lib/libboost_chrono-mt.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/usr/local/lib/libboost_chrono-mt.dylib' (no such file), '/usr/lib/libboost_chrono-mt.dylib' (no such file)
zsh: abort HZpp_Vn-1
Je pense que les nouveaux Mac ont changé le nom de leur architecture arm64 et non plus x86_64. C'est peut-être pour ça que ça ne veut pas fonctionner. As-tu une idée sur la question ?
Merci !
A+
---
Laurent
Mis à jour par Gérard Rio il y a presque 2 ans
- Statut changé de Nouveau à En cours
- % réalisé changé de 0 à 10
Bonjour Laurent,
je n'ai pas de mac avec processeur M1 donc ce n'est peut-être pas possible pour moi de générer un exécutable M1 (ARM) ??
Ceci étant, j'ai cru voir qu'il y avait un utilitaire transparent : Rosetta 2 (!) qui permettait d'utiliser des exécutables X86 sur ARM ?
Mais peut-être que c'est déjà ce que tu utilises, mais se pose le pb des bibliothèques ?
Dans ton cas, j'ai l'impression que tu as installé boost en M1, peut-être faudrait-il l'installer en version universelle ce qui est possible (cf. macport) ce qui te permettrait peut-être d'avoir sur ta machine les versions M1 et X86 des lib ?
Mis à jour par Laurent Maheo il y a environ 2 mois
- Statut changé de En cours à Résolu
Salut Gérard,
Juste pour te dire que j'ai résolu le problème. J'ai mis le temps car j'ai été pris par autre chose (je n'ai pas passé 21 mois dessus ;-) ).
Voici la marche à suivre :
1- Avoir un Macport à jour de toutes les librairies :
$ sudo port selfupdate
$ sudo port upgrade outdated
2- Charger la lib boost pour x86_64 :
$ sudo port install boost +universal"
3- Linker la lib qui manque à l'exécution d'Herezh (il cherche : libboost_ chrono-mt .dylib alors qu'il y a libboost_ chrono .dylib
$ sudo ln -s ......../boost_1_81_0/universal/libboost_chrono.dylib /opt/local/lib/libboost_chrono-mt.dylib
Tu peux clore le ticket.
Amitiés,
Laurent