Estou tentando executar um arquivo compilado do Lazarus que estava funcionando no macOS 10.14.x. Depois de atualizar para 10.15, comecei a receber um erro, "Bad CPU type in executável", que, pelo que entendi, significa que não é mais compatível.
./myScript
->>>>>>>>>>>>>>> bad CPU type in executable
file myScript
->>>>>>>>>>>>>>> Mach-O executable i386
uname -a
->>>>>>>>>>>>>>> Darwin-MacBook-Air.local 19.0.0 Darwin Kernel Version 19.0.0: Thu Oct 17 16:17:15 PDT 2019; root:xnu-6153.41.3~29/RELEASE_X86_64 x86_64
uname -p
->>>>>>>>>>>>>>> i386
Eu me pergunto por que esse executável causa esse erro enquanto é i386 que tinha que ser compatível com esta versão?
Existe alguma maneira de executá-lo no macOS 10.15.x? Ou é a única maneira de construí-lo novamente com configurações de compilação diferentes e compatíveis? (Isso ainda não é suportado pelo Lazarus.)
O macOS Catalina (10.15) descartou o suporte para executáveis de 32 bits , e é por isso que seu executável não funciona mais.
A solução ideal é construir um binário de 64 bits. O wiki do Lazarus descreve como fazer isso : segmente x86_64, use widgets Cocoa e construa com
fpc
em vez deppc386
.