Wie kann ich eine 32-Bit (i386) .deb auf einer 64-Bit-Box erstellen?

Lesezeit: 2 Minuten

Benutzer-Avatar
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:

sudo pbuilder --create --architecture i386
sudo pbuilder --build mypackage.dsc

  • 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

Benutzer-Avatar
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.

Benutzer-Avatar
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

1333930cookie-checkWie kann ich eine 32-Bit (i386) .deb auf einer 64-Bit-Box erstellen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy