Moin zusammen,
die Möglichkeiten mit den Cross-Compilern in Lazarus/fpc ist aus meiner Sicht genial.
Man kann das auch relativ schnell mit fpcupdeluxe einrichten.
Aktuell habe ich ein Problem, wenn ich von Windows nach Linux ein build erstelle. Das compiliert alles einwandfrei z.B. mit einer GLIBC 2.34. Wenn man das einfache Konsolenprogramm jetzt auf einem Debian <= 11 ausführen möchte funktioniert es nicht, weil dort GLIBC 2.31 installiert ist. Hier suche ich nach einer komfortablen Lösung. Ich vermute mal, wenn ich ein älteres Lazarus mit einem Cross-Compiler installiere, welches GLIBC 2.31 verwendet, dann läuft das.
Eigentlich möchte ich mit dem aktuellen Lazarus entwickeln. Wie kann ich schnell mal den Cross-Compiler (binutils/libs) wechseln, ohne mehrere Lazarus Versionen zu installieren.
Ich bin auch auf der Suche nach den Downloads für die Cross-Compiler aber es ist jedes mal wieder eine endlose Sucherei, was vermutlich meine Schuld ist. Gibt es irgendwo eine übersichtliche Download Page incl. Tutorials mit allen Cross-Compilern und Angaben welche Versionen der libs und bins verwendet werden? Ich würde das auch gerne ohne fpcupdeluxe mal schnell manuell einrichten können.
Sind denn eigentlich die Versionen der cross-libs fest verheiratet mit der verwendeten Lazarus/fpc Version?
Viele Grüße
Lazarus und Cross-Compiler
-
- Beiträge: 173
- Registriert: Di 29. Okt 2019, 12:51
- Wohnort: Deutschland , Baden-Württemberg
Re: Lazarus und Cross-Compiler
Ich arbeite generell unter Linux (KUbuntu) und Cross-Compile von dort aus dann auch für Windows. Das hat bis jetzt immer sehr gut funktioniert. Sowohl Windows 32bit als auch Windows 64bit.
Installiert habe ich das ganze mit fpcupdeluxe.
Installiert habe ich das ganze mit fpcupdeluxe.
Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 22.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.0.0 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.
Re: Lazarus und Cross-Compiler
in größeren Firmen gibt es oft nicht die Möglichkeit mit Desktop Linux im Netzwerk zu arbeiten. Leider ist Windows oft Standard und Pflicht.HobbyProgrammer hat geschrieben: ↑Sa 13. Jan 2024, 15:56Ich arbeite generell unter Linux (KUbuntu) und Cross-Compile von dort aus dann auch für Windows. Das hat bis jetzt immer sehr gut funktioniert. Sowohl Windows 32bit als auch Windows 64bit.
Installiert habe ich das ganze mit fpcupdeluxe.
-
- Beiträge: 6210
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Lazarus und Cross-Compiler
Dies ist leider ein leidiges Thema, die meisten Firmen machen sich richtig abhängig von M$. Dies betrifft nicht nur das Office Paket. Da gibt es noch Teams und wie das Zeugs alles heisst.in größeren Firmen gibt es oft nicht die Möglichkeit mit Desktop Linux im Netzwerk zu arbeiten. Leider ist Windows oft Standard und Pflicht.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Lazarus und Cross-Compiler
zum Glück gibt es im Server- und Container Umfeld sehr viel Linux und eben dafür möchte ich mit dem cross compiler compilieren. Leider sind mir viele Dinge nicht klar wie z.B. best practice mit den cross compilern und ein Handling mit unterschiedlichen GLIBC 2.x Versionen. Man kann in dem Bereich viele Zusammenhänge nur durch sehr aufwendiges herumprobieren heraus finden.
-
- Beiträge: 834
- Registriert: Mi 3. Jun 2020, 07:18
- OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
- CPU-Target: Aarch64 bis Z80 ;)
- Wohnort: München
Re: Lazarus und Cross-Compiler
Du brauchst keine unterschiedlichen Compiler Versionen, du brauchst einfach nur die passenden Bibliotheken: Wenn für ELF-basierte Ziele gebaut wird, müssen im Gegensatz zu PE-Dateien die Bibliotheken während des Linkens vorhanden sein, da der Linker Informationen aus den Bibliotheken benötigt. Du musst schauen, wo dir FPCUpDeluxe die Bibliotheken dafür herzieht und das anpassen.
FPC Compiler Entwickler