2 votes

xemacs : Mauvais type de CPU dans l'exécutable

OK. J'ai donc contourné cette erreur :

/sw/bin/xemacs: Bad CPU type in executable.

mais je ne comprends pas pourquoi ce que j'ai fait a fonctionné et je suis curieux. Tout ce que j'ai fait, c'est remplacer /sw par ce qui aurait dû être une copie identique.

Un peu de contexte... J'ai cette copie de xemacs depuis environ 2000. Je l'aime et tout est configuré comme il faut. Construire xemacs à partir de zéro était quelque chose que j'avais l'habitude de faire à l'époque, mais c'était toujours une telle douleur que j'ai goudronné /sw (probablement installé à l'origine avec Fink) et je l'ai copié d'ordinateur en ordinateur depuis toujours. Je l'ai fait récemment, en janvier 14, sur mon tout nouvel iMac fonctionnant sous Mavericks et tout fonctionne bien. Plus récemment encore, j'ai effectué une mise à niveau de 10.7 à 10.9 sur mon MacBook Pro à la maison. Je viens d'installer xquartz et quand j'ai voulu lancer ma copie de xemacs, j'ai eu l'erreur de mauvais CPU.

Je ne comprenais pas pourquoi j'avais des problèmes puisque mon iMac plus récent au travail pouvait le faire fonctionner sans problème. Après avoir lutté avec lui pendant un certain temps, j'ai essayé simplement de tarer et copier /sw de l'iMac de travail à mon ordinateur portable plus ancien, et tout d'un coup, ça a fonctionné !

Mais /sw DEVRAIT être identique dans tous les cas ici. Ils proviennent tous deux de la même copie de /sw que j'utilise depuis ~2000. Pourquoi une nouvelle copie de /sw ferait-elle une différence ? Voici quelques collages de la ligne de commande :

% /sw/bin/xemacs &
/sw/bin/xemacs: Bad CPU type in executable.
% sudo mv /sw /sw-old
% sudo mv /Users/robleach/Downloads/sw /
% /sw/bin/xemacs &
%

Ordinateur portable à domicile :

% uname -a
Darwin #### 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun  3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64

Un iMac de travail :

% uname -a
Darwin #### 13.4.0 Darwin Kernel Version 13.4.0: Sun Aug 17 19:50:11 PDT 2014; root:xnu-2422.115.4~1/RELEASE_X86_64 x86_64

Est-ce que la mise à jour de 10.7 à 10.9 a modifié le contenu de /sw ? Pourquoi la nouvelle copie identique l'a fait fonctionner ? D'après ce que j'ai lu sur cette erreur, il semble que xemacs ne devrait même pas fonctionner du tout depuis la 10.7 - mais il fonctionne ! Je l'utilise tout le temps au travail.

0voto

Alex Points 8703

L'exécution du fichier sur les deux exécutables vous montrera comment l'exécutable réel a été compilé :

file /sw/bin/emacs

Cela vous dira pourquoi vous avez des problèmes pour exécuter le fichier entre différents systèmes.

Évidemment, avec des types de CPU incompatibles, vous serez confronté à l'erreur que vous obtenez.

Rosetta était disponible pour la 10.6, mais pas à partir de la 10.7. Auriez-vous pu l'utiliser d'une manière ou d'une autre sur une machine plus ancienne ?

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