Vorbereitung zum CrossCompiling schlägt fehl

Für Installationen unter Linux-Systemen
Antworten
Surst
Beiträge: 6
Registriert: Sa 29. Aug 2009, 18:08

Vorbereitung zum CrossCompiling schlägt fehl

Beitrag von Surst »

Hallo erstmal :)

Ich wollte mein Lazarus nach der Anleitung hier im Forum fürs CrossCompiling Linux -> Windows vorbereiten. Hat bis zum letzten Punkt (LCL neu erstellen) alles geklappt, da jedoch kommt die Fehlermeldung:

Code: Alles auswählen

win32wsextdlgs.pp(223,1) Error: resource compiler not found, switching to external mode
win32wsextdlgs.pp(223,1) Fatal: There were 1 errors compiling module, stopping
TExternalToolList.Run Exception: /usr/lib/lazarus/lcl/interfaces/win32/win32wsextdlgs.pp(223,1) Fatal: There were 1 errors compiling module, stopping
TMainIDE.DoBuildLazarus: Building standard components (LCL, SynEdit, CodeTools) failed.
Das ganze unter Ubuntu Jaunty 32bit, lazarus aus den hu.freepascal Quellen. Hat jemand ne Idee, woran es liegen könnte?

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Vorbereitung zum CrossCompiling schlägt fehl

Beitrag von monta »

Willkommen im Forum.

ja, ich hab ne Idee ;)

Ich vermute du brauchst noch die Binärprogramme zum Linken für Windows.
Installier die mal:

Code: Alles auswählen

apt-get install mingw32-binutils
Johannes

Surst
Beiträge: 6
Registriert: Sa 29. Aug 2009, 18:08

Re: Vorbereitung zum CrossCompiling schlägt fehl

Beitrag von Surst »

Danke für die Hilfe :)

Leider hat die Installation des Programms nichts geholfen: Gleicher Fehler an der gleichen Stelle.

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Vorbereitung zum CrossCompiling schlägt fehl

Beitrag von monta »

Wo hast du den Crosscompiler her?

Den gibt es soweit ich sehe, nicht auf hu.freepascal.org. Hast du den aus den Sourcen erstellt?
Johannes

Surst
Beiträge: 6
Registriert: Sa 29. Aug 2009, 18:08

Re: Vorbereitung zum CrossCompiling schlägt fehl

Beitrag von Surst »

Ja, habe ich. Ich bin nach dieser Anleitung vorgegangen, hänge da am letzten Punkt.

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Vorbereitung zum CrossCompiling schlägt fehl

Beitrag von monta »

mir fällt noch was ein.

Du müsstest, wenn du mingw32-binutils installiert hast, eine Datei namens i586-mingw32msvc-windres in /usr/bin besitzen.
Lazarus sucht aber standardmäßig nicht nach diesem Dateinamen, sondern nach der Kombination (TargetCPU)-(TargetOS)-windres.

Setze mal einen Link und probier, ob es dann geht:

Code: Alles auswählen

ln /usr/bin/i586-mingw32msvc-windres /usr/bin/i386-win32-windres
Johannes

Surst
Beiträge: 6
Registriert: Sa 29. Aug 2009, 18:08

Re: Vorbereitung zum CrossCompiling schlägt fehl

Beitrag von Surst »

Dein Hinweis hat uns schonmal weitergebracht, es sieht zumindest so aus, als ob es jetzt fehlerfrei durchläuft. Wenn ich allerdings für Win32 kompilieren will, gibt es folgende Fehlermeldung:

Code: Alles auswählen

project1.lpr(20,1) Error: resource compiler not found, switching to external mode
. Also irgendwie doch nicht...Werde versuchen, es nochmal zu komplieren, vielleicht ist mir ein Fehler unterlaufen.

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Vorbereitung zum CrossCompiling schlägt fehl

Beitrag von monta »

Hast du eigentlich als Target 64 Bit?

Ich fass mal kurz zusammen was bei mir (allerdings Debian) funktioniert:

als erstes LCL erstellen (den Rest, braucht man hab ich festgestellt nicht mehr neu erstellen.

Code: Alles auswählen

make lcl LCL_PLATFORM=win32 OS_TARGET=win32
Compilereinstellungen:
Unter Pfade > LCL-Schnittstelle win32/win64 einstellen
Unter Quelltext > Ziel-Betriebssystem Win32 auswählen

ich bin mir allerdings nicht sicher, ob du, wenn du ein 64Bit Target hast, nicht noch due CPU-Familie auf i386 umstellen musst, da der Crosscompiler ja für 32Bit erstellt wurde. Bzw. der müsste für 64Bit erstellt werden, mangels Plattform kann ich das aber nicht probieren.
Aber mehr als die zwei Einstellungen ist eigentlich nicht nötig. Seltsamseltsam...
Johannes

hausi
Beiträge: 132
Registriert: Mi 23. Sep 2009, 08:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Vorbereitung zum CrossCompiling schlägt fehl

Beitrag von hausi »

Ich habe bisher nur unter Windows gearbeitet. Möchte aber meine PRG auch auf Linux und Mac portieren. Gibt es für Crosscompiling irgendwo ein Tutorial.

Hausi

Kuster Peter
Beiträge: 205
Registriert: So 2. Dez 2007, 20:47
OS, Lazarus, FPC: Windows XP Lazarus immer neueste Version
CPU-Target: xxBit
Wohnort: Schweiz

Re: Vorbereitung zum CrossCompiling schlägt fehl

Beitrag von Kuster Peter »

So ein Tutorial würde mich auch interessieren.

Peter

Surst
Beiträge: 6
Registriert: Sa 29. Aug 2009, 18:08

Re: Vorbereitung zum CrossCompiling schlägt fehl

Beitrag von Surst »

Hm, jetzt hat sich die Fehlermeldung (minimal) geändert:

Code: Alles auswählen

Shipcounter.lpr(19,1) Error: resource compiler not found, switching to external mode
Shipcounter.lpr(19,1) Error: Can't read COFF Header while reading /home/surst/Projects/Kosmor/Shipcounter/Neu/fpc-res.or
Shipcounter.lpr(19,1) Fatal: There were 2 errors compiling module, stopping

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Vorbereitung zum CrossCompiling schlägt fehl

Beitrag von monta »

Hast du mal ein neues Projekt mit nur einem Button oder so probiert?
Johannes

Surst
Beiträge: 6
Registriert: Sa 29. Aug 2009, 18:08

Re: Vorbereitung zum CrossCompiling schlägt fehl

Beitrag von Surst »

Ja, bei einem neuen Projekt kommt nur die Meldung mit dem resource compiler

Antworten