Seite 1 von 1
Portabilität von Programmen
Verfasst: 22.12.2024 17:29
von PIC18F2550
Hallo,
ich möchte auf einem Rechner z.B. Mint ein Konsolenprogramm erstellen und es auf einen anderen z.B. IPFiere ausführen.
Was muss ich alles beachten.
Danke.
Re: Portabilität von Programmen
Verfasst: 22.12.2024 18:19
von Macros
Generell, wenn beide das gleiche Betriebssystem verwenden geht das ganz problemlos.
Sonst:
Je mehr Bibliotheken du verwendest, desto höher ist die Wahrscheinlichkeit, dass du auch auf dem anderen Rechner welche nachinstallieren musst.
(Du kannst auch ein Paket basteln, dass dann dein Programm installiert und von den Bibliotheken abhängt)
Beim Start zeigt dir das Programm in der Konsole auch genau welche Bibliothek fehlt.
Unter Mint könntest du das zugehörige Paket z.B. mit "apt-file search {bibliothekname}" finden und installieren. Bei IPFire kenne ich mich nicht aus, ob es einen ähnlichen Befehl gibt.
Bei gleichem Unterbau geht es meiner Erfahrung nach auch gut. Idealerweise ist dabei das "bauende" System das ältere (oder identisch alt), sonst wird dein Programm gegen die neuen Versionen von Bibliotheken verlinkt, die beim anderen System vielleicht gar nicht zur Verfügung stehen. Z.B. für Ubuntu baue ich offizielle Programme für die vorletzte LTS Version, baue dann ein deb-Paket und das läuft dann auf allen aktuellen Ubuntu-Versionen.
Essentiell ist die gleiche Architektur, also wenn Rechner A x64 verwendet, muss das auch Rechner B das tun. (x86 ist manchmal auf x64 lauffähig, aber teils wird das auch nicht mehr unterstützt)
Da du ein Konsolenprogramm erstellen willst, sollten die Abhängigkeiten wenige sein.
Re: Portabilität von Programmen
Verfasst: 22.12.2024 19:02
von PIC18F2550
Beide Systeme sind x64.
Worauf greift ein Konsolenprogramm hauptsächlich zu, Kernelfunktionen?
Verwenden möchte ich:
Dateien/Verzeichnisse auf einen Samba Server lesen.
Dateien/Verzeichnisse auf einen FTP Server schreiben/überschreiben.
Statusmeldungen auf Konsole ausgeben. Keine Eingaben.
Re: Portabilität von Programmen
Verfasst: 22.12.2024 19:15
von mk-soft
Du kannst abfrage was verwendet wird
Im Terminal:
ldd DeinProgram
Mit allen Infos
ldd -v DeinProgram