auf i386 für AMD64 compilieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

auf i386 für AMD64 compilieren

Beitrag von Picknicker » 16.08.2006 19:43:22

Hallo,

ist es möglich auf einem i386 Debian Quelle für ein AMD64 System zu compilieren ?
Was muß ich beachten wenn ich das mache ?
Sorry, bin da net so firm ;)
cu
Picknicker

Benutzeravatar
Ryven
Beiträge: 277
Registriert: 10.10.2003 09:20:52

Beitrag von Ryven » 16.08.2006 22:03:25

Möglich ja, nennt sich cross-compeilen. Nicht trivial aber gänige Praxis für Arm und Mipsl von daher in deren Docus lesen.
Ryven

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 16.08.2006 23:06:23

dazu gibts die toolchain-sourcen:

Code: Alles auswählen

root@gms1:~# apt-get install toolchain-source toolchain-source-gdb binutils-multiarch autoconf2.13 texinfo fakeroot
root@gms1:~# tpkg-make amd64-linux

Target                    : amd64-linux
Maintainer                : root
Email-Address             : root@gms1.gms.at
Toolchain                 : 3.4-5
  binutils                : 2.15
  gcc                     : 3.4.3
  gdb                     : 6.1
....
root@gms1:~# cd binutils-amd64-linux-2.15/
root@gms1:~/binutils-amd64-linux-2.15# debuild
root@gms1:~/binutils-amd64-linux-2.15# debi
root@gms1:~/binutils-amd64-linux-2.15# cd ../gcc-amd64-linux-3.4.3/
root@gms1:~/gcc-amd64-linux-3.4.3# debuild
root@gms1:~/gcc-amd64-linux-3.4.3# debi
root@gms1:~/gcc-amd64-linux-3.4.3# cd ../gdb-amd64-linux-6.1/
root@gms1:~/gdb-amd64-linux-6.1# debuild
root@gms1:~/gdb-amd64-linux-6.1# debi
du solltest möglichst einen gcc 3.4 zum erstellen der Toolchain verwenden, mit dem 4.1er konnte ich die Binutils nicht erzeugen.
Weiters benötigst du einen Secret Key (mit gpa erstellen) für das signieren der Pakete und natürlich mußt du dir auch die benötigten libraries (vorallem die libc) bauen oder vom Zielsystem kopieren.


Gruß
gms

[edit]
amd64-linux ist ein alias für das Zielsystem x86_64-pc-linux-gnu, es wäre vielleicht besser (schöner) letzteres zu nehmen
[/edit]

Antworten