Cosa significa esattamente gcc-multilib su Ubuntu?


11

Dopo aver appeso molto tempo con Ubuntu (v.12) precedente, sto aggiornando alla v.16 e sono molto confuso con le menzioni di "gcc-multilib".

Questo è in realtà il modello "binari grassi" di Apple o " binari universali " portato su Linux?

Cioè, le librerie C native su Ubuntu sono diventate container che contengono diversi binari per varie architetture?

In tal caso, non è più necessario installare appositamente librerie di runtime a 32 bit su un sistema x64? Il pacchetto "predefinito" delle librerie gcc o g ++ contiene tutto il necessario per eseguire e creare app a 32 bit?

Risposte:


13

gcc-multilibè utile per la compilazione incrociata , ovvero la compilazione di un programma da eseguire su una diversa architettura di processore. Ad esempio, sarebbe necessario gcc-multilibse si esegue Ubuntu a 64 bit e si desidera compilare un programma da eseguire su Ubuntu a 32 bit (o su ARM, ecc. Si ottiene l'idea).


1
Quindi, non è correlato alle librerie di runtime? Dobbiamo ancora passare attraverso i cerchi e installare "libc-i386", "g ++ - i386" e così via su librerie a 32 bit per eseguire programmi a 32 bit su x64? E "dpkg --add-architecture i386" è legato al multilib?
ddbug,

Sì. I soliti cerchi. dpkg --add-architecturedice semplicemente dpkgche vuoi davvero installare i pacchetti per l'architettura straniera e che dovrebbe smettere di lamentarsi e richiedere --force-architecture.
AlexP

Grazie AlexP. Questa configurazione multilib è nuova per Ubuntu 16 o esisteva prima, diciamo in v.14 o addirittura 12?
ddbug,

Almeno 12.04.
AlexP
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.