
How was the Linux binary for GHC created? I am looking at ways to compile Haskell binaries for Linux that work across distros. So far, I have been using `-static -optl-static` but today there was a weird hiccup with IO -- the Gentoo built binary worked fine on Gentoo but caught SIGPIPE intermittently on Ubuntu -- and so it's back to the drawing board. The GHC linux binary seems to work on all the Linii without discrimination, so I'd like to know what the procedure is for producing it, and what I can take away from that to put in my Cabal file. -- _jsn

Jason Dusek wrote:
How was the Linux binary for GHC created? I am looking at ways to compile Haskell binaries for Linux that work across distros. So far, I have been using `-static -optl-static` but today there was a weird hiccup with IO -- the Gentoo built binary worked fine on Gentoo but caught SIGPIPE intermittently on Ubuntu -- and so it's back to the drawing board.
The GHC linux binary seems to work on all the Linii without discrimination, so I'd like to know what the procedure is for producing it, and what I can take away from that to put in my Cabal file.
We just do a normal build, on Fedora 9 boxen. If it works across other distros, it's probably just good luck! Cheers, Simon

On Tue, Nov 11, 2008 at 05:04:25PM -0800, Jason Dusek wrote:
How was the Linux binary for GHC created? I am looking at ways to compile Haskell binaries for Linux that work across distros. So far, I have been using `-static -optl-static` but today there was a weird hiccup with IO -- the Gentoo built binary worked fine on Gentoo but caught SIGPIPE intermittently on Ubuntu -- and so it's back to the drawing board.
The GHC linux binary seems to work on all the Linii without discrimination, so I'd like to know what the procedure is for producing it, and what I can take away from that to put in my Cabal file.
The only special thing we do is to put "BeConservative = YES" in mk/build.mk when compiling GHC. This means that we don't try to use clock_gettime in the RTS. Thanks Ian
participants (3)
-
Ian Lynagh
-
Jason Dusek
-
Simon Marlow