Uma maneira de obter aarch64
packages no sistema de compilação é ativá-lo como uma arquitetura externa:
sudo dpkg --add-architecture aarch64
sudo apt-get update
Agora você pode remover libsensors4-dev
de sua arquitetura de criação e instalá-la para a arquitetura do host aarch64
:
sudo apt-get install libsensors4-dev- libsensors4-dev:aarch64+
É necessário remover o pacote de arquitetura de construção porque ele não pode coexistir com um pacote de mesmo nome para uma arquitetura diferente. A dependência libsensors4:aarch64
, no entanto, pode coexistir com libsensors4
1 . Isso significa que você pode continuar executando programas no sistema de compilação que são dinamicamente vinculados a libsensors4
, mas não é possível usar libsensors4-dev
para vincular novos programas de arquitetura de compilação.
Eu não sei como você configurou e instalou o compilador cruzado, mas o GCC geralmente seleciona os locais canônicos para arquivos de cabeçalho ( /usr/include
) e arquivos de biblioteca ( /usr/lib/<architecture>-<system-type>
) que é exatamente para onde o DPKG os extrai libsensors4-dev
(qualquer arquitetura). Se esse não for o caso, você pode informar ao GCC / G ++ para adicionar diretórios de arquivos de inclusão com -I<PATH>
e diretórios de biblioteca com -L<PATH>
. Além disso, você pode listar os diretórios de inclusão atuais com gcc -xc++ -E -v /dev/null
e os diretórios de biblioteca atuais com gcc gcc -print-search-dirs
.
1 Você pode verificar se um pacote pode coexistir com seu "irmão" de uma arquitetura diferente se você olhar para o campo Multi-Arch
nas informações de controle do pacote. “Mesmo” significa que pode coexistir. Use dpkg-query -s <PACKAGE>
, apt-cache show <PACKAGE>
ou dpkg-deb -I <DEB-FILE>
para mostrar informações de controle de pacote. Para mais informações, consulte os campos Especificação Multiarch em Binary package .