Wie kann ich eine 32-Bit (i386) .deb auf einer 64-Bit-Box erstellen?
Lesezeit: 2 Minuten
verblasste Biene
Ich habe Anwendungen, die erfolgreich mit dem Schalter -m32 (in DMD und/oder GCC) kompiliert werden, um Folgendes zu erzeugen:
appname: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked
(uses shared libs), for GNU/Linux 2.6.15, not stripped
Die von mir erstellten Quellpakete funktionieren sowohl auf 32-Bit- als auch auf 64-Bit-Ubuntu einwandfrei, um die entsprechenden binären .debs zu erstellen.
Ich möchte die i386-.deb-Datei auf demselben 64-Bit-Rechner erstellen, auf dem ich auch die 64-Bit-.deb-Datei erstellt habe.
Ist das möglich und wo muss ich nach einer Anleitung suchen?
Die Antwort hängt von der Komplexität Ihres Builds ab. Wenn die normalen 64-Bit-Userland-Tools für einen Build ausreichen, geben Sie einfach die Architektur über -a an
debuild -ai386
Es gibt jedoch häufig Fälle, in denen dies nicht funktioniert, und in diesen Fällen benötigen Sie pbuilder. pbuilder erstellt ein sauberes Debian/Ubuntu-System in einer Chroot-ed-Umgebung. man pbuilder ist eine gute Einführung. Um loszulegen, benötigen Sie:
So erstellen Sie ein neues Paket von Grund auf neu: pdebuild --architecture i386 in dem Verzeichnis, das das Verzeichnis debian/ enthält.
– Jahid
24. August 2015 um 15:25 Uhr
James Westby
Es beginnt mit dem Aufruf von debuild mit der Option -ai386, wodurch die Architektur geändert wird, für die das Paket erstellt wurde.
Natürlich müssen Sie sicherstellen, dass das Paket den i386-Build der Anwendung enthält.
er_der_große
Sie machen nichts anderes, als eine 64-Bit-.deb-Datei zu erstellen. Außer, dass Sie einen 32-Bit-Build Ihrer Anwendung hinzufügen.
Die Steuerdatei gibt die Architektur an, stellen Sie also sicher, dass Sie die richtige auswählen.
Nicht wahr. Debian-Pakete enthalten die Architektur des Pakets, die explizit angegeben ist.
– Michael Mior
29. Oktober 2011 um 23:35 Uhr
@Michael, also wird es explizit mit der Option angegeben, die anscheinend überhaupt keine Dokumentation hat?
– er_der_große
30. Oktober 2011 um 16:25 Uhr
Tatsächlich ist die Struktur der Paketsteuerdateien sehr gut dokumentiert. Einschließlich der Die Architektur Möglichkeit.
– Michael Mior
30. Oktober 2011 um 21:38 Uhr
@Michael, ja, ich habe die andere Antwort gelesen, in der -ai386 erwähnt wird, und konnte sie nicht finden. Das Spezifizieren der Architektur ist Teil des Erstellens eines Deb-Pakets, egal ob Sie amd64 oder i386 verwenden, die Architekturauswahl ist immer noch Teil des Prozesses.
– er_der_große
31. Oktober 2011 um 3:46 Uhr
Exakt. Und es scheint Teil des Prozesses zu sein, zu dem das OP Fragen hat.
– Michael Mior
31. Oktober 2011 um 13:49 Uhr
13339300cookie-checkWie kann ich eine 32-Bit (i386) .deb auf einer 64-Bit-Box erstellen?yes