Desculpe, este arquivo é para GNU / Linux
De acordo com o seu file
output, este programa é para GNU / Linux. Eu sei disso porque:
- O arquivo
b1
está no formatoELF
(formato extensível e vinculável) , enquanto o Mac OS X usa o formatoMach-O
para binários; -
file
reconhece que este arquivo é paraGNU/Linux 2.6.18
, o que significa que funcionará na maioria das distribuições Linux modernas.
Para resolver seu problema, você deve executar esse problema em uma distribuição do Linux, recompilar o programa ou obter a versão do Mac OS X deste programa.
Então ... Por que o b1
não funciona em XYZ OS ou CPU?
Assim como as pessoas falam idiomas diferentes, computadores diferentes entendem instruções diferentes. Por exemplo, o seu Mac usa um processador Intel, enquanto o seu telefone Android usa um processador ARM. Compare esses dois processadores para inglês e francês. Eles podem pertencer à mesma família de idiomas, mas ainda assim você não pode falar os dois ao mesmo tempo. Isso leva a uma conclusão:
Dissimilar computers "talk" in different tongues.
Por que diferentes sistemas operacionais (como Windows, Mac OS X e Linux) não podem usar os mesmos binários, considere isto:
What makes software objectively different to hardware? Not much.
Ambos fornecem um sistema e uma "linguagem" que permite que componentes mais complexos do computador concluam tarefas para o usuário final. Ambos exigem um idioma acordado para realizar o trabalho. Imagine se houvesse 10 pessoas em um jogo de gritos, cada um falando um idioma diferente. É por isso que diferentes softwares de SO precisam de binários diferentes, mesmo se ambos os sistemas operacionais usarem o mesmo processador.