ESTÁ BEM. Então eu trabalhei em torno desse erro:
/sw/bin/xemacs: Bad CPU type in executable.
mas eu não entendo porque o que eu fiz funcionou e estou curioso. Tudo o que fiz foi substituir / sw com o que deveria ter sido uma cópia idêntica.
Um pouco de fundo ... Eu tenho essa cópia do xemacs desde 2000. Eu adoro isso e está tudo configurado corretamente. Construir xemacs a partir do zero era algo que eu costumava fazer quando, mas sempre foi uma dor que eu limpei / sw (provavelmente instalado originalmente usando o Fink) e o copiei de um computador para outro desde sempre. Eu fiz isso recentemente em janeiro de 2014 no meu novo iMac rodando Mavericks e tudo funciona bem. Ainda mais recentemente, atualizei de 10,7 para 10,9 no meu MacBook Pro em casa. Acabei de instalar o xquartz e quando fui executar minha cópia de xemacs, recebi o erro de CPU incorreto.
Eu não conseguia entender por que eu estava tendo problemas já que meu novo iMac no trabalho não funcionava. Depois de lutar por um tempo, eu tentei simplesmente tarring & amp; copiando / sw do iMac do trabalho para meu laptop mais antigo e, de repente, funcionou!
Mas / sw deve ser idêntico em todos os casos aqui. Ambos se originaram da mesma cópia do / sw que estou usando desde ~ 2000. Por que uma nova cópia do / sw faria alguma diferença? Aqui estão algumas pastas da linha de comando:
% /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 &
%
Laptop em casa:
% 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
Trabalhe no iMac:
% 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
A atualização de 10,7 para 10,9 se aproximou do que estava em / sw? Por que a nova cópia idêntica deu certo? Pelo que eu li sobre esse erro, parece que o xemacs não deveria nem mesmo funcionar desde 10.7 - mas funciona! Eu uso todo o tempo no trabalho.
fonte
Respostas:
A execução do arquivo nos dois executáveis mostrará como o executável real foi compilado:
Isso lhe dirá por que você está tendo problemas ao executar o arquivo entre diferentes sistemas.
Obviamente, com tipos de CPU incompatíveis, você enfrentará o erro que está recebendo.
Rosetta estava disponível para 10.6, mas não a partir de 10.7. Você poderia usá-lo de alguma forma em uma máquina mais antiga?
fonte