
Wolfgang Thaller wrote:
Thanks, good to know; I'll read through 10.2 more carefully. I didn't think I'd need to cross-compile x86-linux to x86-linux.
You don't need to - the recommended way is to download a binary version. If you don't like using binary distributions, then use it for bootstrapping only, i.e. use it to build a ghc of your choice and then delete it again. This is just like what you usually do when you install gcc on your box for the first time.
I originally tried the binary distribution but ran into library issues. That is of course the obvious path to try, and try it I did. Rather than going straight to installing deprecated libraries, I tried to provide some feedback on ghc (especially since 6.4 RCs are out).
Would it be unreasonable to include the unregisterised .hc files with a source distribution (or .hc files for "popular" platforms), so that a Haskell novice such as myself could do a "./configure && make && make install"? If configure detected no ghc, perhaps it could do the bootstrap automagically.
Well, the contents of the .hc files heavily depend on the results of ./configure - so unregistered .hc files still have to be tailor-made for the target platform. As far as registerised .hc files for popular platforms go, I fail to see the point. In what way is bootstrapping from platform-specific .hc files superior to installing a binary (apart from the fact that it takes longer and looks cooler)? It would be like shipping GCC as a bunch of x86 .s files.
Cheers,
Wolfgang
I have no concern whatsoever with the appearance of "coolness" (or lack thereof). As stated above, I have no problem with installing a binary, but that option didn't work out at first, so, ghc being free software, I tried to compile it for my platform. When that failed, I decided to report back on my difficulties, hopefully helping anyone who runs into (and googles for) the same problem. (In fact at the moment I am doing exactly as you suggested, making a "clean" build of ghc via the binaries, so as not to clutter up our many Oracle boxen with (otherwise useless) backwards-compatibility readline libraries.) Regarding gcc, gcc binaries ship with or are available for every commonly used platform (and most uncommonly used platforms too); ghc is not (yet) in this position. I was fully aware of the parallel between distributing .s files with gcc and .hc files with ghc when I made this suggestion. Not being intimately familiar with ghc internals, I don't know how much work this is, and whether the implementation cost exceeds the benefit (easier installation for Haskell novices like me).