Que signifie exactement gcc-multilib sur Ubuntu?

11

Après avoir longtemps suspendu avec Ubuntu (v.12), je passe à la v.16 et je suis très confus avec les mentions de "gcc-multilib".

S'agit-il en fait du modèle des «gros binaires» ou des « binaires universels » d'Apple porté sur Linux?

Autrement dit, les bibliothèques C natives sur Ubuntu sont-elles devenues des conteneurs qui contiennent plusieurs binaires pour diverses architectures?

Si oui, nous n'avons plus besoin d'installer spécialement des bibliothèques d'exécution 32 bits sur un système x64? Le package "par défaut" des bibliothèques gcc ou g ++ contient tout le nécessaire pour exécuter et créer des applications 32 bits?

ddbug
la source

Réponses:

13

gcc-multilibest utile pour la compilation croisée , c'est-à-dire la compilation d'un programme à exécuter sur une architecture de processeur différente. Par exemple, vous auriez besoin gcc-multilibsi vous exécutez sur Ubuntu 64 bits et que vous souhaitez compiler un programme à exécuter sur Ubuntu 32 bits (ou sur ARM, etc., vous avez l'idée).

AlexP
la source
1
Donc, ce n'est pas lié aux bibliothèques d'exécution? Avons-nous encore besoin de passer par les cerceaux et d'installer "libc-i386", "g ++ - i386" et ainsi de suite des bibliothèques 32 bits pour exécuter des programmes 32 bits sur x64? Et "dpkg --add-architecture i386" est-il lié à multilib?
ddbug
Oui. Les cerceaux habituels. dpkg --add-architectureindique simplement dpkgque vous voulez vraiment installer des packages pour une architecture étrangère et qu'il devrait cesser de se plaindre et de demander --force-architecture.
AlexP
Merci AlexP. Cette configuration multilib est-elle nouvelle pour Ubuntu 16, ou existait-elle plus tôt, disons dans la v.14 ou même la 12?
ddbug
12.04 au moins.
AlexP