O que exatamente o gcc-multilib significa no Ubuntu?

11

Depois de muito tempo com o Ubuntu mais antigo (v.12), estou atualizando para a v.16 e estou muito confuso com as menções de "gcc-multilib".

Este é realmente o modelo "binários gordos" ou " binários universais " da Apple portado para Linux?

Ou seja, as bibliotecas C nativas no Ubuntu se tornaram contêineres que contêm vários binários para várias arquiteturas?

Nesse caso, não precisamos mais instalar libs de tempo de execução de 32 bits em um sistema x64? O pacote "padrão" das bibliotecas gcc ou g ++ contém todo o necessário para executar e criar aplicativos de 32 bits?

ddbug
fonte

Respostas:

13

gcc-multilibé útil para compilação cruzada , ou seja, compilar um programa para executar em uma arquitetura de processador diferente. Por exemplo, você precisaria gcc-multilibse estivesse rodando no Ubuntu de 64 bits e quiser compilar um programa para rodar no Ubuntu de 32 bits (ou no ARM etc., você entendeu).

AlexP
fonte
1
Então, isso não está relacionado às bibliotecas de tempo de execução? Ainda precisamos percorrer os bastidores e instalar "libc-i386", "g ++ - i386" e assim por diante libs de 32 bits para executar programas de 32 bits em x64? E o "dpkg --add-architecture i386" está relacionado ao multilib?
precisa saber é
Sim. Os aros de sempre. dpkg --add-architecturesimplesmente diz dpkgque você realmente deseja instalar pacotes para arquitetura estrangeira e deve parar de reclamar e solicitar --force-architecture.
AlexP # 1/16
Obrigado AlexP. Essa configuração multilib é nova para o Ubuntu 16 ou já existia anteriormente, digamos na v.14 ou até 12?
ddbug
12.04 pelo menos.
AlexP 01/12/19