[Haskell-cafe] GHC 6.12 on OS X 10.5
Tom Tobin
korpios at korpios.com
Mon Dec 21 16:43:00 EST 2009
On Mon, Dec 21, 2009 at 1:38 PM, Tom Tobin <korpios at korpios.com> wrote:
> On Mon, Dec 21, 2009 at 4:32 AM, Conor McBride
> <conor at strictlypositive.org> wrote:
>> I thought I'd record my upgrade exerience (so far) in case anyone else
>> finds it useful, and (more selfishly) in case anyone has some helpful
>> advice. Summary of situation
>
> You just described what I went through last night with GHC 6.12 before
> giving up and going to bed, except that I'm on Snow Leopard (OS X
> 10.6). I got the "undefined symbols" errors when trying to compile
> cpphs, which came up at some point in the build process when trying to
> install Happstack via cabal 0.8.0. I was wondering if if something
> was getting confused between my MacPorts libraries and OS X, and your
> experience certainly makes it seem that way; I have the MacPorts paths
> set up in my .cabal/config file as extra-include-dirs and
> extra-lib-dirs, otherwise I can't get particular libraries (e.g.,
> pcre-lite) to compile.
>
> I'm going to wipe my .cabal and .ghc and try from scratch to build as
> much as possible without the MacPorts paths, only re-adding them for
> single builds as necessary; I'll write back after I see how that goes.
This time, after wiping .ghc and .cabal, I immediately did "cabal
update" followed by "cabal install happstack" (without going and
changing the extra-include-* settings in .cabal/config to point at the
MacPorts dirs). cpphs compiled fine this time, but I got a failure
due to haskell-src-exts not building; haskell-src-exts in turn
complained that happy wasn't installed. I went and installed happy,
then haskell-src-exts (which installed v1.3.4), and then did "cabal
install happstack" again which installed haskell-src-exts v1.0.1 (I
guess GHC understands how to deal with two different installed library
versions?).
This time the install died on HJScript:
**********
[ 2 of 26] Compiling HJScript.Monad ( src/HJScript/Monad.hs,
dist/build/HJScript/Monad.o )
src/HJScript/Monad.hs:51:10:
A pattern match on a GADT requires -XGADTs
In the pattern: EmptyBlock
In the definition of `mappend': mappend EmptyBlock b = b
In the instance declaration for `Monoid (Block ())'
cabal: Error: some packages failed to install:
HJScript-0.4.5 failed during the building phase. The exception was:
ExitFailure 1
**********
I have no idea what to do next, so I'll probably bring this particular
issue up on the Happstack list next.
My questions at this point:
1) The original problem definitely looks like it's related to library
confusion between the system libs and the MacPorts libs. Is there any
way of sanely handling this when I need a library that's available
through MacPorts but not OS X's system libs? (MacPorts' insistence on
maintaining an entirely separate library stack from the OS X system
libraries is starting to make me crazy. ::sigh::)
2) Regarding haskell-src-exts: why wasn't happy wasn't pulled into the
dependency graph in the first place?
More information about the Haskell-Cafe
mailing list