¿Qué significa exactamente gcc-multilib en Ubuntu?

11

Después de pasar mucho tiempo con Ubuntu anterior (v.12), estoy actualizando a la v.16 y estoy muy confundido con las menciones de "gcc-multilib".

¿Es este realmente el modelo de "binarios gordos" de Apple o " binarios universales " portado a Linux?

Es decir, ¿las bibliotecas nativas de C en Ubuntu se han convertido en contenedores que empaquetan varios binarios para varias arquitecturas?

Si es así, ¿ya no tenemos que instalar especialmente bibliotecas de tiempo de ejecución de 32 bits en un sistema x64? El paquete "predeterminado" de las bibliotecas gcc o g ++ contiene todo lo necesario para ejecutar y construir aplicaciones de 32 bits?

ddbug
fuente

Respuestas:

13

gcc-multilibes útil para la compilación cruzada , es decir, compilar un programa para que se ejecute en una arquitectura de procesador diferente. Por ejemplo, necesitaría gcc-multilibsi está ejecutando en Ubuntu de 64 bits y desea compilar un programa para que se ejecute en Ubuntu de 32 bits (o en ARM, etc., se le ocurre la idea).

AlexP
fuente
1
Entonces, ¿no está relacionado con las bibliotecas de tiempo de ejecución? ¿Todavía tenemos que pasar por los aros e instalar "libc-i386", "g ++ - i386" y así sucesivamente libs de 32 bits para ejecutar programas de 32 bits en x64? ¿Y "dpkg --add-architecture i386" está relacionado con multilib?
ddbug
Si. Los aros habituales. dpkg --add-architecturesimplemente le dice dpkgque realmente desea instalar paquetes para arquitectura extranjera y que debe dejar de quejarse y solicitar --force-architecture.
AlexP
Gracias AlexP ¿Es esta configuración multilib nueva para Ubuntu 16, o existió antes, digamos en v.14 o incluso 12?
ddbug
12.04 al menos.
AlexP