mit einem x64 system für x86 compilieren

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
skydiablo
Beiträge: 9
Registriert: Di 23. Jun 2009, 22:33

mit einem x64 system für x86 compilieren

Beitrag von skydiablo »

hi...

folgendes, ich habe hier ein ubuntu jaunty x64, dazu das passende lazarus/fpc. nun bin ich aber gezwungen für 32bit zu comperlieren, da eine componente die ich nutzen will nur x86 source gibt (haupt prob ist der ASM teil) und nun funzt das nicht. sprich die besagte componente kann ich nur im 32bit modus comperlieren. wie bringe ich nun meinem lazarus/fpc bei, dass er im 32bit modus arbeiten soll ? ich hatte dann mal versucht die x86 version (lazarus/fpc) zu installieren, leider wollte der packet manager die *.deb datei nicht. kann man ja auch irgendwie nachvollziehen ;)

nun denn, dann habe ich versucht in den project compiler einstellungen rum zu fummeln, aber dass hat den compiler irgendwie nicht dazu gebracht den source zu schlucken.

also, nochmal die frage, wie kann ich mit meinem x64 system für x86 (32bit) comperlieren ?

greez & thx, sky...

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: mit einem x64 system für x86 comperlieren

Beitrag von mschnell »

Mit Hilfe dieser Infos: http://wiki.lazarus.freepascal.org/Cross_compiling" onclick="window.open(this.href);return false; und http://www.stack.nl/~marcov/buildfaq.pdf" onclick="window.open(this.href);return false; habe ich einen FPC cross-compiler für ia32-64 gebaut, der auf ia-32 läuft. Ich habe mir aber nur etwas ASM Sourcecode erzeugt und nicht versucht ein lauffähiges Programm zu fabrizieren. (Die FPC-RTL Libraries sind aber beim Make-Prozess erzeugt worden).

Um ein Lazarus-Prokekt zu machen müsste dann zusätzlich die Lazarus Library cross-Kompiliert werden und der Compiler und die Cross-Libraries der IDE bekanntgemacht werden. Keine Ahnung, wie das geht.

-Michael

Benutzeravatar
theo
Beiträge: 10856
Registriert: Mo 11. Sep 2006, 19:01

Re: mit einem x64 system für x86 comperlieren

Beitrag von theo »

@skydiablo: Da du das mehrfach so schreibst und es deshalb nicht nach Tippfehler aussieht:
Es heisst "compilieren" nicht "comperlieren" und der "Compiler" nicht der "Comperler".

Korrektes Buchstabieren kann auch beim googlen hilfreich sein. ;-)

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: mit einem x64 system für x86 comperlieren

Beitrag von knight »

Wenn man sich die ganzen Crosscompiling-Einstellungen nicht antun möchte besteht auch die Möglichkeit, eine virtuelle Maschine zu verwenden.

knight

skydiablo
Beiträge: 9
Registriert: Di 23. Jun 2009, 22:33

Re: mit einem x64 system für x86 comperlieren

Beitrag von skydiablo »

okay, um es auf den punkt zu bringen:

wenn ich für 32bit compilieren will, dann sollte ich dass auch mit einem 32bit OS tun. ebenso für 64bit. alles andere wäre ein "riesen heck-meck".

dann danke ich euch und werde mir wohl eine VM dafür aufsetzen. das 32bit compilierte binary sollte dann aber problemlos unter einem 64bit OS (zB ubuntu server) laufen ?

greez & thx, sky...

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: mit einem x64 system für x86 compilieren

Beitrag von Hitman »

Warum nicht einfach auf dem 64bit System den 32bit Compiler installieren und nutzen?

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: mit einem x64 system für x86 compilieren

Beitrag von knight »

Das Problem sind eher die benötigen Bibliotheken. Unter win64 kann man durchaus Lazarus win32 installieren und verwenden. Unter Linux wird das so nicht funktionieren.

knight

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: mit einem x64 system für x86 compilieren

Beitrag von Hitman »

Echt? Läuft 1a auf meinem Laptop. So ziemlich jede Linux Distribution hat eine Möglichkeit, lib64 und lib32 zu trennen ... bis vor kurzem war in 64bit ja nichtmal Firefox + Flash möglich, da musste es auch hybrid mit 32bit funktionieren. OpenOffice.org läuft ebenfalls nicht 100% unter 64bit (es gibt Hacks, aber kein non-plus-ultra). Wo ein Wille, .... ;)

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Re: mit einem x64 system für x86 compilieren

Beitrag von creed steiger »

Running 32-bit Applications on 64-bit Debian GNU/Linux

http://www.debian-administration.org/articles/534" onclick="window.open(this.href);return false;

skydiablo
Beiträge: 9
Registriert: Di 23. Jun 2009, 22:33

Re: mit einem x64 system für x86 compilieren

Beitrag von skydiablo »

danke für die infos, aber ich glaube ich werde einfach wieder auf windows umsteigen. so langsam habe ich mich persönlich davon überzeugt das linux (zumindestens im desktop bereich) noch einiges zu windows aufholen muss. obwohl ich ein daemon/service coden will, werde ich dann wohl auf ein w2k8 server core zurückgreifen.

danke für alles...

greez, sky...

Benutzeravatar
theo
Beiträge: 10856
Registriert: Mo 11. Sep 2006, 19:01

Re: mit einem x64 system für x86 compilieren

Beitrag von theo »

skydiablo hat geschrieben:ich glaube ich werde einfach wieder auf windows umsteigen. so langsam habe ich mich persönlich davon überzeugt das linux (zumindestens im desktop bereich) noch einiges zu windows aufholen muss. .
:lol:

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: mit einem x64 system für x86 compilieren

Beitrag von mschnell »

skydiablo hat geschrieben:danke für die infos, aber ich glaube ich werde einfach wieder auf windows umsteigen. so langsam habe ich mich persönlich davon überzeugt das linux (zumindestens im desktop bereich) noch einiges zu windows aufholen muss.
Da bin ich aber ganz anderer Ansicht ! Linux (eigentlich meinst Du aber KDEm Linux ist das darunter liegende Betriebssystem, von der Funktion her quasi identisch mit dem, was auf Mac läuft <BSD-Unix>) muss nicht aufholen. KDE hat die Windows-Oberfläche längst überholt. Was noch nicht nachgezogen hat, sind die Programme von diversen Anbietern, die noch nicht auf Linux portiert wurden.

Ich habe im Büro gerade den Umstieg von Windows auf Linux gemacht (Suse 11.1, mit einem Rechner mit zwei Bildschirmen) und bin hochgradig zufrieden mit dem Ergebnis. Fast alles ist praktischer und besser und viel detaillierter auf meine Wünsche konfigurierbar als es mit Windows war.

Für die paar Spezial-Programme, die es nicht für Linux gibt, habe ich einen Windows-Rechner behalten.

Hier zu Hause bereite ich dasselbe gerade vor. Hier habe ich VWareServer 2 eingerichtet, um Windows laufen zu lassen. Ich habe aber gemerkt, dass 1 GB Speicher für ein Doppel-OS-System zu wenig ist (bisher geht alles, einiges ist aber durch Swappen sehr langsam). Da muss ich nachrüsten, dann geht's weiter :).

-Michael

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: mit einem x64 system für x86 compilieren

Beitrag von Euklid »

Hallo Skydiablo,

wenn dir die Installation der Crosscompiling-Pakete zu kompliziert werden sollte (und das ist in der Tat kompliziert!), gibt es noch einen sehr simplen Weg:
1. Du kannst dir VirtualBox mithilfe des Paketmanagers deiner Linux-Distribution installieren.
2. Dann eine 32bit-Version deines Betriebssystems herunterladen. Das lässt sich dann wirklich sehr, sehr einfach mit Virtualbox installieren.
3. Nun kannst du mit VirtualBox das 32bit-System starten und dort die 32bit-Version von Lazarus installieren. Dann hast du ein fertig eingerichtetes 32-Bit-Betriebssystem.

Mit Hilfe dieses Gastsystems lassen sich so recht leicht ausführbare 32-bit-Dateien deines Projektes erstellen. Der Vorteil ist zudem: Du kannst das Projekt auch unter einer 32bit-Umgebung testen.

Viele Grüße, Euklid

Antworten