Me gustaría saber por qué cuando ejecuto gcc -v
bajo Arch Linux, muestra la unknown
palabra en estas salidas:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
mientras que en otra distribución, como ubuntu, muestra el nombre de la distribución, como ubuntu
:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-ubuntu-linux-gnu/5.1.0/lto-wrapper
Target: x86_64-ubuntu-linux-gnu
linux
arch-linux
gcc
noslin005
fuente
fuente
gcc
fueron instalados con loscore
paquetes cuando estaba instalando Arch.Respuestas:
Como ya se mencionó en el comentario, por defecto el triplete objetivo es generado por el script config.guess . Su lógica es bastante simple. Primero se utiliza
uname
para obtener información básica del sistema:Estas cadenas se combinan y se combinan con patrones codificados. El resultado también está codificado:
Para algunos sistemas es posible dar un resultado más significativo, como IBM en "rs6000-ibm-aix".
Los mantenedores de distribución simplemente anulan esta cadena con la suya propia (también codificada):
GCC 6 probablemente generará x86_64-pc-linux-gnu de forma predeterminada: config.guess actualizado en el repositorio ascendente.
fuente
unknown
está codificado de forma predeterminada.Esa es la parte del fabricante de la configuración / triplete objetivo. El Autobook dice sobre eso:
El manual de autoconf lo llama
company
.No soy un experto en compilación con GCC, pero parece que la información proporcionada por ese campo es más de naturaleza informativa y
unknown
es solo el valor predeterminado que usa GCC a menos que se sobrescriba explícitamente. GCC en Ubuntu 12.04, por ejemplox86_64-linux-gnu
, usa Debian 7s GCCi486-linux-gnu
, por lo que es completamente posible dejar el campo vacío.fuente
x86_64-linux-gnu
variedad son objetivos de acceso directo, de pie parax86_64-unknown-linux-gnu
ox86_64-pc-linux-gnu
.gcc -v
muestra el destino para el que se compiló yconfig.sub
proporciona el triplete canónico (búscalo en/usr/share/misc
sistemas derivados de Debian conautotools-dev
instalado).