On Mon, Dec 21, 2009 at 1:38 PM, Tom Tobin <korp...@korpios.com> wrote: > On Mon, Dec 21, 2009 at 4:32 AM, Conor McBride > <co...@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? _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe