Como descobrir o trio sem o gcc?

3

Eu tento descobrir a tripla do meu dispositivo, porque eu tento cruzar a compilação , mas não há gcc instalado no dispositivo de destino e não tenho permissão para instalá-lo.

Com o gcc instalado, eu poderia escrever apenas gcc -dumpmachine

É possível encontrar essa informação sem o gcc?

    
por Black 25.08.2015 / 13:50

3 respostas

3

Você pode obter muitas informações por meio de uname e também verificando com file o tipo de executáveis:

$ gcc -dumpmachine
x86_64-linux-gnu
$ uname -o -m
x86_64 GNU/Linux
$ file /usr/bin/file
/usr/bin/file: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=d8ac02806880576708bf189c064fca78ea89f1d0, stripped

Se o seu dispositivo não tiver o file instalado, copie um executável binário dele para outro computador Linux e execute file .

    
por 25.08.2015 / 14:01
1

Você precisará encontrar arquivos no sistema de arquivos que preservem o trio passado para / sondado por configure no tempo de compilação da sua área de atuação de destino.

Em distribuições GNU / Linux comuns, a melhor aposta seria a consulta a binários de comando comuns como bash curl make svn . No exemplo a seguir, em Debian / armhf (imagem do QEMU tirada de aqui ) Eu tenho o canonical triplet arm-unknown-linux-gnueabihf por bash --version . Por isso, seria basicamente seguro configurar meu cross toolchain para este sistema por /path/to/configure --target=arm-unknown-linux-gnueabihf .

root@debian-armhf:~# bash --version
GNU bash, version 4.2.37(1)-release (arm-unknown-linux-gnueabihf)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Não há uma maneira confiável de saber trio não-canônico como arm-linux-gnueabihf x86_64-linux-gnu da userland, e pode haver convenções específicas de distribuição como o Debian multiarch e tuplas . Você precisará coletar informações do documento de sua distribuição ou de outros recursos on-line.

    
por 26.08.2015 / 12:44
0

Outra opção é make -v . No meu laptop:

$ make -v 
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

O triplo construído em seguida é x86_64-pc-linux-gnu .

    
por 08.09.2018 / 14:17