Gibt es eine Möglichkeit, eigenständige Haskell-Executable zu erzeugen, die auf verschiedenen Linux-Rechnern läuft, vorausgesetzt, die Architektur ist ähnlich?
Tut mir leid, ich hätte klarer sein sollen. Bei den anderen Rechnern ist GhC möglicherweise nicht installiert - ein bisschen wie bei pyinstaller für Python, nach dem ich gesucht habe?
Sie können die Flags -static -optl-pthread -optl-static
verwenden, um dynamisch verknüpfte Abhängigkeiten beim Kompilieren eines Haskell-Projekts zu vermeiden. Dies sollte Ihnen helfen, die kompilierte ausführbare Datei auf zwei Linux-Rechnern auszuführen, die nicht genau die gleichen Bibliotheksversionen haben.
Ja, das ist möglich. Genau wie bei gcc-produzierten Binärdateien können Sie sie zwischen Systemen kopieren, vorausgesetzt, die dynamischen Bibliotheken und Plattformen stimmen überein.
In der Praxis ist das ein etwas höherer Balken als GCC-Binärdateien, weil GHC standardmäßig mehr Bibliotheken dynamisch verknüpft (zB: libgmp, es sei denn, Sie erstellen GHC mit ganzzahlig-einfach).
Tags und Links haskell ghc linux executable