8 votes

Apple Silicon : /usr/bin/mandoc : Mauvais type de CPU dans l'exécutable

Je suis récemment passé d'un Mac Intel à un Mac Apple Silicon. Lorsque j'exécute man ssh puis en appuyant sur Q dans Terminal, l'erreur suivante se produit :

sh : /usr/bin/mandoc : Mauvais type de CPU dans l'exécutable

Je suppose que pour une raison quelconque, il a transféré l'exécutable de mon Mac Intel ?

Mais lorsque j'essaie de renommer ce fichier ou de le déplacer (même avec l'option sudo ), il est indiqué que l'opération n'est pas autorisée.

Comment puis-je résoudre ce problème ? sans l'installation de Rosetta 2 ? Les chances qu'un jour Rosetta 2 soit supprimée sont élevées (tout comme Rosetta 1). Je veux donc vraiment résoudre le problème de la racine plutôt que d'installer Rosetta.

8voto

nohillside Points 82672

MacOS 12.1 fournit des versions mises à jour des commandes énumérées ci-dessous, de sorte que Rosetta 2 n'est plus nécessaire pour fonctionner. /usr/bin/mandoc .


C'est intéressant.

$ file /usr/bin/mandoc
/usr/bin/mandoc: Mach-O 64-bit executable x86_64

Apple livre donc effectivement MacOS (Monterey dans mon cas) avec certains binaires compilés uniquement pour x86.

Vous devrez installer Rosetta pour que cela fonctionne (on peut supposer qu'Apple fournira des versions ARM pour tous les binaires avant de se débarrasser de Rosetta 2).

PS : Il semble qu'il n'y ait que trois binaires non compilés pour ARM

$ for i in {/usr,}/{s,}bin/*; do lipo $i -info 2>/dev/null; done | grep -v arm64e
Non-fat file: /usr/bin/demandoc is architecture: x86_64
Non-fat file: /usr/bin/mandoc is architecture: x86_64
Non-fat file: /usr/bin/mandoc_soelim is architecture: x86_64

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X