Re: Linking completely statically

Hi Volker,
Is it possible to link the remaining libraries statically too?
Yes, it is possible to generate fully statically linked Haskell binaries. Though it requires a bit of setup. For example the GNU C library glibc is not really intended for fully static linking, but you can use musl as an alternative libc instead. Probably the easiest way is to use static-haskell-nix [1]. Usage instructions are available in the project README. See [2] if you're not familiar with Nix. Recently, the Haskell extension to Bazel, rules_haskell, also gained the ability to generate fully statically linked binaries building on top of Nix, see [3]. Best, Andreas [1]: https://github.com/nh2/static-haskell-nix [2]: https://nixos.org/ [3]: https://rules-haskell.readthedocs.io/en/latest/haskell-use-cases.html#buildi...

Am Dienstag, den 11.08.2020, 10:26 +0200 schrieb Herrmann, Andreas:
Hi Volker,
Hi!
Is it possible to link the remaining libraries statically too?
Yes, it is possible to generate fully statically linked Haskell binaries. Though it requires a bit of setup. For example the GNU C library glibc is not really intended for fully static linking, but you can use musl as an alternative libc instead.
Probably the easiest way is to use static-haskell-nix [1]. Usage instructions are available in the project README. See [2] if you're not familiar with Nix.
This looks complicated, even though it is the easiest way. I've tried to build it from the git sources, as well as from the latest release, but that failed. I'd have to look into nix, which is new to me. Be it as it may, it isn't that important for me right now. But thank you very much for your tips. Maybe I'll be going back to them later. Cheers, Volker
Recently, the Haskell extension to Bazel, rules_haskell, also gained the ability to generate fully statically linked binaries building on top of Nix, see [3].
Best, Andreas
[1]: https://github.com/nh2/static-haskell-nix [2]: https://nixos.org/ [3]: https://rules-haskell.readthedocs.io/en/latest/haskell-use-cases.html#buildi...

Hi Volker, You may also want to check out ghc-musl project https://github.com/utdemir/ghc-musl which provides compiled docker images to build atatic executables for various ghc versions. Cheers, -- aycan
On Aug 11, 2020, at 5:59 AM, Volker Wysk
wrote: Am Dienstag, den 11.08.2020, 10:26 +0200 schrieb Herrmann, Andreas:
Hi Volker,
Hi!
Is it possible to link the remaining libraries statically too?
Yes, it is possible to generate fully statically linked Haskell binaries. Though it requires a bit of setup. For example the GNU C library glibc is not really intended for fully static linking, but you can use musl as an alternative libc instead.
Probably the easiest way is to use static-haskell-nix [1]. Usage instructions are available in the project README. See [2] if you're not familiar with Nix.
This looks complicated, even though it is the easiest way. I've tried to build it from the git sources, as well as from the latest release, but that failed. I'd have to look into nix, which is new to me.
Be it as it may, it isn't that important for me right now.
But thank you very much for your tips. Maybe I'll be going back to them later.
Cheers, Volker
Recently, the Haskell extension to Bazel, rules_haskell, also gained the ability to generate fully statically linked binaries building on top of Nix, see [3].
Best, Andreas
[1]: https://github.com/nh2/static-haskell-nix [2]: https://nixos.org/ [3]: https://rules-haskell.readthedocs.io/en/latest/haskell-use-cases.html#buildi...
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
participants (3)
-
Aycan iRiCAN
-
Herrmann, Andreas
-
Volker Wysk