Laz+FPC auf anderen Rechner kopieren?
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Laz+FPC auf anderen Rechner kopieren?
Ich habe auf einem Raspberry Pi mit aktuellem Raspbian Stretch eine Laz 2.0.1 + FPC 3.2.0 Installation mit Fpcupdeluxe gemacht, nach user/Apps/Lazarus.
Nun möchte ich dieses Lazarus auf einem zweiten Pi haben. Der ist prinzipiell gleich aufgebaut (User, Verzeichnisstruktur), aber hat einige andere Aufgaben: SD-Karte kopieren geht nicht.
Auch dauert die Installation von Laz + FPC eine Weile, man muss einen großen Swap zum Kompilieren der IDE einrichten... das wollte ich mir sparen und habe das Lazarus-Verzeichnis per FTP nach Windows in das Raspberry-Backup-Verzeichnis und von dort auf den zweiten Pi kopiert. Waren auch so 64000 Dateien.
Erstes Problem: Natürlich sind die Programmdateien nicht ausführbar. Also abgeglichen und ausführbar gemacht. Zweites Problem: Die system.ppu wird nicht gefunden, die liegt aber genau da, wo sie liegen soll. Drittes Problem: Es werden erstmal ein Haufen pps kompiliert, die eigentlich schon kompiliert sein sollten, und dann wird mit einem Kompilerfehler abgebrochen. Ok, das liegt sicher an der nicht gefundenen system.ppu.
Nun bin ich ja in meiner Naivität davon ausgegangen, dass ich eine Laz + FPC Installation ins Userverzeichnis einfach auf einen anderen Pi umziehen kann. Das ist anscheinend nicht so, obwohl doch alle nötigen Dateien in dem Verzeichnis liegen. Selbst die Config liegt nicht in .config/lazarus (wo sie eigentlich hingehört...) sondern in Lazarus/config_lazarus.
Wie kann ich eine Laz + FPC Installation unter Linux sauber auf einen anderen (OS-gleichen) Rechner umziehen?
Und wie kann ich diese Installation minimieren, so dass nicht 64000 Dateien kopiert werden müssen - brauche ich denn die ganze fpcsrc-Dateien, wenn es einmal kompiliert ist?
Nun möchte ich dieses Lazarus auf einem zweiten Pi haben. Der ist prinzipiell gleich aufgebaut (User, Verzeichnisstruktur), aber hat einige andere Aufgaben: SD-Karte kopieren geht nicht.
Auch dauert die Installation von Laz + FPC eine Weile, man muss einen großen Swap zum Kompilieren der IDE einrichten... das wollte ich mir sparen und habe das Lazarus-Verzeichnis per FTP nach Windows in das Raspberry-Backup-Verzeichnis und von dort auf den zweiten Pi kopiert. Waren auch so 64000 Dateien.
Erstes Problem: Natürlich sind die Programmdateien nicht ausführbar. Also abgeglichen und ausführbar gemacht. Zweites Problem: Die system.ppu wird nicht gefunden, die liegt aber genau da, wo sie liegen soll. Drittes Problem: Es werden erstmal ein Haufen pps kompiliert, die eigentlich schon kompiliert sein sollten, und dann wird mit einem Kompilerfehler abgebrochen. Ok, das liegt sicher an der nicht gefundenen system.ppu.
Nun bin ich ja in meiner Naivität davon ausgegangen, dass ich eine Laz + FPC Installation ins Userverzeichnis einfach auf einen anderen Pi umziehen kann. Das ist anscheinend nicht so, obwohl doch alle nötigen Dateien in dem Verzeichnis liegen. Selbst die Config liegt nicht in .config/lazarus (wo sie eigentlich hingehört...) sondern in Lazarus/config_lazarus.
Wie kann ich eine Laz + FPC Installation unter Linux sauber auf einen anderen (OS-gleichen) Rechner umziehen?
Und wie kann ich diese Installation minimieren, so dass nicht 64000 Dateien kopiert werden müssen - brauche ich denn die ganze fpcsrc-Dateien, wenn es einmal kompiliert ist?
-
- Beiträge: 2118
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Laz+FPC auf anderen Rechner kopieren?
man muss einen großen Swap zum Kompilieren der IDE einrichten...
Code: Alles auswählen
fallocate -l 2G /var/swapfile
mkswap /var/swapfile
swapon /var/swapfile
Zu deinem problem, exsistiert die fpc.cfg (/etc/fpc.cfg)? Und ist diese korrekt eingestellt? da sollte nämlich der Pfad zur System Unit angegeben werden. Wenn du die natürlich nicht mitkopiert hast ist klar das es nicht geht (keine Ahnung wie fpcupdeluxe funktioniert, ich mach normalerweise die installation per Hand, da weiß ich was wo liegt)
Den Konfig Pfad kannst du über --primary-config-path (bzw -pcp) als option an lazarus übergeben, bzw diese Option in die lazarus.cfg schreibenNun bin ich ja in meiner Naivität davon ausgegangen, dass ich eine Laz + FPC Installation ins Userverzeichnis einfach auf einen anderen Pi umziehen kann. Das ist anscheinend nicht so, obwohl doch alle nötigen Dateien in dem Verzeichnis liegen. Selbst die Config liegt nicht in .config/lazarus (wo sie eigentlich hingehört...) sondern in Lazarus/config_lazarus.
Archivieren (z.b. tar.gz oder zip), das hättest du eh in erster Linie machen sollen, da dir deine Windows Zwischenstation sonst die dateien (z.B. berechtigungen, symlinks, etc.) zerschießt (hast du ja selbst schon bemerkt das die Programme die Ausführ Berechtigung verloren haben). Außerdem, wenn du es richtig machst kannst du während dem übertragen bereits entpacken, und da die cpu des Pi viel schneller ist als die SD Karte wär das wahrscheinlich alles in allem sogar viel schneller. Den FPC Source benötigt Lazarus für die Code Vervollständigung, brauchst du also, allerdings wird beim Kompilieren ne menge dateien erzeugt die du nicht zwangsläufig kopieren musst. z.B. die ganzen Object files der LCL, soweit ich weiß braucht der FPC zum laufen nur die vorkompilierte RTL (also vor allem die system unit), alles andere kann ad hoc kompiliert werden, vor allen LCL und FCL musst du die Object files und PPU's (vorkompilierte Header) normalerweise nicht kopierenUnd wie kann ich diese Installation minimieren, so dass nicht 64000 Dateien kopiert werden müssen - brauche ich denn die ganze fpcsrc-Dateien, wenn es einmal kompiliert ist?
Mein ratschlag, installier es einfach neu, lass den raspi dafür einfach mal ein paar stunden im hintergrund/über nacht laufen, und dann kannst du dir sicher sein das alles funktioniert. Das kompilieren sollte auch nicht so viel länger dauern als das kopieren der Dateien.
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: Laz+FPC auf anderen Rechner kopieren?
Es existiert eine /etc/fpc-3.0.0.cfg, aber noch aus der vorigen Installation per Paketmanager. Da hat der Paketmanager beim Deinstallieren wohl nicht richtig aufgeräumt. Die fpc.cfg liegt in Apps/Lazarus/fpc/bin/arm-linux, wo sie laut Lazarus auch gesucht wird.Warf hat geschrieben:Zu deinem problem, exsistiert die fpc.cfg (/etc/fpc.cfg)?
Hab ich gemacht, hat auch funktioniert. Nur beim Isntallieren von Anchordocking hat 1G swap nicht gereicht, also auf 2G erweitert, und dann hat es mir erstmal die SD-Karte ausgenockt. Jetzt richte ich den Spass gerade neu ein.Warf hat geschrieben:Mein ratschlag, installier es einfach neu
Btw: Wenn ich auf die Code Vervollständigung verzichte, kann ich dann auf die fpcsrc verzichten? Ich brauch Lazarus auf diesem Raspi eigentlich nur zum Debugging, geschrieben werden die Programme eh am PC. Ach blöd, zum Debugging braucht Lazarus auch die Sourcen...
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Laz+FPC auf anderen Rechner kopieren?
Konfigurationsdateien werden üblicherweise nicht gelöscht, damit sie für eine spätere Neuinstallation noch verfügbar sind. Hier hilft ggf. apt purge fpc (Befehl nicht geprüft).Timm Thaler hat geschrieben:Es existiert eine /etc/fpc-3.0.0.cfg, aber noch aus der vorigen Installation per Paketmanager. Da hat der Paketmanager beim Deinstallieren wohl nicht richtig aufgeräumt.Warf hat geschrieben:Zu deinem problem, exsistiert die fpc.cfg (/etc/fpc.cfg)?
Vielleicht ist das Thema Remote Debugging etwas für dich?Timm Thaler hat geschrieben:Ich brauch Lazarus auf diesem Raspi eigentlich nur zum Debugging, geschrieben werden die Programme eh am PC.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: Laz+FPC auf anderen Rechner kopieren?
Leider nicht. Ich versuche damit Fehler in einem Telegram-Bot zu finden, der sich alle paar Tage mal verabschiedet. Wenn ich das per Remote machen würde, müsste ich den PC tagelang laufen haben, auch wenn ich nicht da bin.Socke hat geschrieben:Vielleicht ist das Thema Remote Debugging etwas für dich?
-
- Beiträge: 2118
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Laz+FPC auf anderen Rechner kopieren?
Timm Thaler hat geschrieben:Leider nicht. Ich versuche damit Fehler in einem Telegram-Bot zu finden, der sich alle paar Tage mal verabschiedet. Wenn ich das per Remote machen würde, müsste ich den PC tagelang laufen haben, auch wenn ich nicht da bin.
Ja dann müsstest du problemlos auf die Sources verzichten können, da kann ich dir dann aber eh empfehlen, lies dich mal ein bisschen in das Kommandozeilen Interface vom gdb ein, dann brauchst du nicht mal lazarus (und kannst alles via ssh machen)Btw: Wenn ich auf die Code Vervollständigung verzichte, kann ich dann auf die fpcsrc verzichten? Ich brauch Lazarus auf diesem Raspi eigentlich nur zum Debugging, geschrieben werden die Programme eh am PC. Ach blöd, zum Debugging braucht Lazarus auch die Sourcen...
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: Laz+FPC auf anderen Rechner kopieren?
Ich habs jetzt nochmal mit Fpcupdeluxe installiert und diesmal lief es durch.
Witzig, Lazarus belegt mehr Speicher als das komplette Raspbian-OS.
Witzig, Lazarus belegt mehr Speicher als das komplette Raspbian-OS.
-
- Beiträge: 2118
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Laz+FPC auf anderen Rechner kopieren?
Ist bei selbst Kompilierten programmen aber normal. Ich hab demletzt Chrome selbst kompiliert, das zieht etwa 100 GB. Der grund dafür ist das alle zwischenergebnisse des Kompilierens (also die Object files, etc.) noch vorhanden sind. Alles ist also doppelt und dreifach vorhandenTimm Thaler hat geschrieben:Witzig, Lazarus belegt mehr Speicher als das komplette Raspbian-OS.