[gelöst] XCompiling Linux Mint 64 - Win32 geht nicht mehr

Antworten
Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 990
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

[gelöst] XCompiling Linux Mint 64 - Win32 geht nicht mehr

Beitrag von kralle »

Moin,

bisher habe ich unter Linux Mint das CrossCompiling für Windows 32 hiermit eingerichtet:
für Windows 32-Bit einrichten
(Bitte Lazarus schliessen)
So jetzt habt Ihr schon ein lauffähiges Lazarus mit dem Ihr unter Linux Programme erstellen könnt. Aber, Ihr wollt ja mehr.

Jetzt kommen die Informationen aus dem Lazarus-Wiki http://wiki.lazarus.freepascal.org/Cros ... nder_Linux zum Einsatz.

Nachfolgende Zeilen (beginnend mit einem „$“) werden nacheinander in einem Terminal-Fenster eingegeben, das in diesem Verzeichnis „/home/laz-user/fpc-3.0.4“
(laz-user gegen Deinen Usernamen ersetzen) gestartet wird :

Das „$“-Zeichen wird nicht mit eingeben.

$ sudo make clean all OS_TARGET=win32 CPU_TARGET=i386

und dann

$ sudo make crossinstall OS_TARGET=win32 CPU_TARGET=i386 INSTALL_FREFIX=/usr

Auch wenn man laut Wiki damit schon fertig ist, fehlen noch ein paar Anweisungen.

In der Datei „/etc/fpc.cfg „ müssen im Abschnitt

# --------------------------------
# Set Filename und Paths
# --------------------------------

noch diese Zeilen eingefügt werden:

# For Crosscompiling
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/*

Die Datei ist zumindest bei mir schreibgeschützt und kann nur in einem Terminal-Fenster geöffnet werden, das mittels „Als Systemverwalter öffnen“ geöffnet wurde.

Jetzt kommt noch ein symbolischer Link der in einem Terminalfenster eingegeben wird:

$ sudo ln -sf /usr/local/lib/fpc/3.0.4/ppcross386 /usr/bin/ppcross386


Jetzt wollte ich unter Linux Mint 18.3 das wieder einrichten, aber es klappt nicht.
Erstmal musste ich in dem Symbolischen Link noch ein "local/" einfügen, damit der CrossCompiler überhaupt gefunden wird.
(weiß der Geier warum er nicht mehr an dem anderen Ort landet. - Fehlermeldungen gab es keine).

Wenn ich dann für Win32 Compilieren will, geht die UNit "fcllaz" i der IDE auf un ich halte die Meldunge:
Kompiliere Package FCL 1.0.1: Exit code 256, Fehler: 1
fcllaz.pas(11,3) Fatal: Kann db nicht finden verwendet von fcllaz von Package FCL.


Leider kann ich mit der Meldung nichts anfangen. Auch G**gle hat mir nicht weiter geholfen.
Irgendwelche Ideen, was da schief läuft?

Win64 geht.

Gruß Heiko
Zuletzt geändert von kralle am Mi 27. Dez 2017, 20:06, insgesamt 1-mal geändert.
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Crosscompiling Linux Mint 64 - Windows 32 geht nicht meh

Beitrag von Mathias »

Jetzt wollte ich unter Linux Mint 18.3 das wieder einrichten, aber es klappt nicht.

Da kann ich nur fpcupdelux empfehlen, einfacher geht es kaum mehr.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 990
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: Crosscompiling Linux Mint 64 - Windows 32 geht nicht meh

Beitrag von kralle »

Moin,

Mathias hat geschrieben:Da kann ich nur fpcupdelux empfehlen, einfacher geht es kaum mehr.

Also, das habe ich unter unter Windows und Linux probiert und das war beidesmal Mist was dabei raus kam.

Ich bleibe vorerst bei der händischen Lösung.

Gruß Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 990
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: Crosscompiling Linux Mint 64 - Windows 32 geht nicht meh

Beitrag von kralle »

Die Lösung:

fpc.cfg
# For Crosscompiling
-Fu/usr/local/lib/fpc/$fpcversion/units/$fpctarget/*

Jetzt kommt noch ein symbolischer Link der in einem Terminalfenster eingegeben wird:
$ sudo ln -sf /usr/local/lib/fpc/3.0.4/ppcross386 /usr/bin/ppcross386


Warum jetzt aber der CrossCompiler für Win 32 plötzlich unter /usr/local/lib/fpc/3.0.4/ liegt
und der für Win64 immer noch unter /usr/lib/fpc/3.0.4/ landet, verstehe ich nicht.

Gruß Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

Antworten