11
votes

Let's say I write some Haskell code and compile it in an Ubuntu 64-bit installation, statically linking all Haskell packages and c libraries. Would the result be binary compatible with any other 64-bit linux distribution?

1
Wow, the binary that results from ghc -02 test.hs -optl-static -optl-pthread is about 2.5GB (test.hs contains main = print "yes").Nate Symer
actually 2.5MB. Someone can't read ls output hahaNate Symer

1 Answers

1
votes

Yes, because of the static linking - it is all in the binary. And yes, they can get quite big, for example a yesod output can easily alot to 70MB. Yet, it has a HTTP server within that 70 MB.

So, static linking can thus help portability, but has it's drawbacks in terms of executable file size.