Problemas com compilação cruzada e “as”?

2

Eu estou tentando compilar a fonte para um utilitário para um sistema ARM (máquina host: x86_64, Debian, uname -v relata a versão como "Debian 4.9.110-3 + deb9u1") mas quando tenta empacotar o arquivo em um binário final para uso no sistema de destino, recebo um erro:

as: unrecognized switch -EL

Eu notei que eu tinha dois binários diferentes de as ; um em /usr/bin e um em /bin . Renomeiei o nome em /usr/bin porque a cópia em /bin tem suporte para a opção -EL , mas agora estou recebendo um novo erro:

as: unrecognized switch: --64

O anterior como binário tem suporte para este switch, mesmo que não tenha suporte para -EL .

Tenho quase certeza de que esta é apenas uma questão de não ter a versão correta de as , mas não sei para onde ir buscar a versão correta. Eu atualizei todos os pacotes gcc e similares através do apt-get, mas isso não resolveu o problema?

    
por Yeniaul Adrianad 12.08.2018 / 03:06

1 resposta

1

Se você tiver binários com o mesmo nome em /usr/bin e em /bin , eles devem ser os mesmos. Normalmente, um seria um link simbólico para o outro. Parece que uma parte do seu compilador cruzado foi instalado sobre as ferramentas existentes. Isso só resultará em confusão.

O programa as geralmente faz parte de binutils , não gcc .

Se você mesmo compilou o compilador cruzado, certifique-se de não sobrescrever os utilitários nativos.

    
por 12.08.2018 / 09:27