[haskell-platform] #71: GHC panic on cabal install of darcs w/ Platform

haskell-platform haskell-platform at projects.haskell.org
Sat Jun 20 18:30:12 EDT 2009

#71: GHC panic on cabal install of darcs w/ Platform
 Reporter:  anonymous    |        Owner:  dons
     Type:  defect       |       Status:  new 
 Priority:  blocker      |    Milestone:      
Component:  Platform     |   Resolution:      
 Keywords:  OS X, darcs  |  
Changes (by gregorycollins):

  * priority:  major => blocker


 GHC is tracking this as http://hackage.haskell.org/trac/ghc/ticket/3275,
 I'll cc: this message to the ticket there.

 There must be some subtle ABI incompatibility that is triggering
 this. Actually, I bet I know what's causing this. Roughly speaking,
 here's the sequence of events when I build the installer:

  * I install GHC from binary

  * I build the libraries in LISTED order (we'll return to this):
 regex-base    ==,
 regex-compat  ==,
 regex-posix   ==,

  * Each library gets packaged into a .pkg file which, when installed,
    copies the generated libs to the destination and runs "ghc-pkg

 So regex-compat gets built against GHC's regex-posix instead of the
 platform's, then we build a NEW regex-posix against the platform
 libraries and GHC panics when you try to use -compat. The two
 regex-posix libraries have the same version number but are installed in
 different places and obviously aren't binary-identical, probably some
 autogenerated symbol names are different.

 The obvious workaround is to build and install the platform libraries in
 strict topological order -- could we re-order haskell-platform.cabal so
 that each library's dependencies are listed before it? Or could someone
 tell me how to do this topological sort using the Cabal library?

 Hopefully this message will create an "aha!" moment for someone who
 knows the GHC internals better than I do (which is to say, "not at

Ticket URL: <http://trac.haskell.org/haskell-platform/ticket/71#comment:2>
haskell-platform <http://trac.haskell.org/haskell-platform>
The Haskell Platform: a comprehensive and robust collection of Haskell libraries

More information about the Haskell-platform mailing list