[Haskell-cafe] can't build haxml under ghc 6.7, says HughesPJ is hidden... but ghc-pkg doesn't say it's hidden...

Stefan O'Rear stefanor at cox.net
Thu Aug 9 19:02:51 EDT 2007


On Thu, Aug 09, 2007 at 06:40:47PM -0400, Thomas Hartman wrote:
> Can I get some help building HaXml (from hackage) under ghc 6.7? 
> 
> I'm hoping to get HAppS running under 6.7, and use the new debugger to 
> better understand what's going on under the hood. Eg, when I'm in the h 
> function, I can take a look at the args and just see what types they are. 
> (I am finding building an intuition from the documentation alone to be 
> overwhelming. Too many types, too many instances... total confusion.) 
> HaXMl is a dependendency for happs, that's why I need it.
> 
> Anyway building haxml this is what I get. The subject of my message more 
> or less summarizes my confusion.

You're encountering one of my favorite features of Cabal.

When you build a package, Cabal passess the -hide-all-packages option to
GHC, which prevents the package from using any installed packages other
than the ones explicitly listed in the Build-Depends: field.

This is a Good Thing, because it means that whether or not a package
builds depends *only* on the versions of the Build-Depended packages;
other random packages on your system cannot possibly have any effect.

Unfortunately, it means that splitting an existing package (base -> base
+ pretty + directory + old-time, with much more to come) is less than
transparent; all packages which use HughesPJ need their Build-Depends
field modified to include pretty, etc.

Thomas Schilling's "configurations" allows a package to build with split
and unsplit bases, but requires the logic to handle this be present in
every package that wants to use base, and is only in HEAD cabal.  I
personally advocate a Debian-style system of Provides and re-exposing,
but haven't yet bothered to actually implement it at all.  I'm sure
other people have other approaches.

For now, we just edit .cabal files when transporting code between GHC
versions...

Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20070809/e5b2d434/attachment.bin


More information about the Haskell-Cafe mailing list