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 .