Was genau bedeutet gcc-multilib unter Ubuntu?


11

Nachdem ich lange mit älterem Ubuntu (v.12) rumgehangen habe, aktualisiere ich auf v.16 und bin sehr verwirrt mit Erwähnungen von "gcc-multilib".

Ist dies tatsächlich Apples "Fat Binaries" - oder " Universal Binaries " -Modell, das auf Linux portiert ist?

Sind native C-Bibliotheken unter Ubuntu zu Containern geworden, die mehrere Binärdateien für verschiedene Architekturen enthalten?

Wenn ja, müssen wir keine 32-Bit-Laufzeitbibliotheken mehr speziell auf einem x64-System installieren? Das "Standard" -Paket von gcc- oder g ++ - Bibliotheken enthält alles, was zum Ausführen und Erstellen von 32-Bit-Apps erforderlich ist.

Antworten:


13

gcc-multilibist nützlich für das Cross-Compilieren , dh das Kompilieren eines Programms zur Ausführung auf einer anderen Prozessorarchitektur. Zum Beispiel würden Sie benötigen, gcc-multilibwenn Sie unter 64-Bit-Ubuntu laufen und ein Programm kompilieren möchten, das unter 32-Bit-Ubuntu ausgeführt werden soll (oder unter ARM usw. Sie haben die Idee).


1
Es hängt also nicht mit Laufzeitbibliotheken zusammen? Müssen wir noch durch die Rahmen gehen und "libc-i386", "g ++ - i386" usw. installieren, um 32-Bit-Programme auf x64 auszuführen? Und hängt "dpkg --add-architektur i386" mit Multilib zusammen?
ddbug

Ja. Die üblichen Reifen. dpkg --add-architecturesagt einfach, dpkgdass Sie wirklich Pakete für fremde Architektur installieren möchten und es sollte aufhören, sich zu beschweren und anzufordern --force-architecture.
AlexP

Vielen Dank, AlexP. Ist dieses Multilib-Setup neu für Ubuntu 16 oder gab es es früher, etwa in Version 14 oder sogar 12?
ddbug

Zumindest 12.04.
AlexP
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.