Changes between Version 2 and Version 3 of Debugging/InstallingPackagesInplace


Ignore:
Timestamp:
Dec 10, 2009 4:38:55 PM (4 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Debugging/InstallingPackagesInplace

    v2 v3  
    1414}}} 
    1515where `<inplace ghc>` is the path to your inplace GHC (usually `$(TOP)/inplace/bin/ghc-stage2`), and <package> is the name of the package. 
    16 The `--global` says to register the package in the global database, which for the inplace compiler is something like `$(TOP)/inplace/lib/package.conf.d/`. 
    1716 
    18 But sometimes Cabal changes, so you might get a message like 
     17The `--global` says to register the package in the global database, which for the inplace compiler is something like `$(TOP)/inplace/lib/package.conf.d/`.  The default is `--local` which registers the package in a (compiler-version-specific) directory in your home directly.  The danger is that you you have many builds, the "compiler-version-specific" part might not be enough to keep all your builds separate. 
     18 
     19Plan A can fail, because sometimes Cabal changes, so you might get a message like 
    1920{{{ 
    2021cabal: failed to parse output of 'ghc-pkg dump' 
     
    3839darcs get http://darcs.haskell.org/packages/parallel 
    3940}}} 
    40 Nevertheless, `cabal unpack` should work for any Hackage package, even if Cabal has changed a bit.  (Because fetching and unpacking is one of Cabal's less sophisticated operations.) 
     41   Nevertheless, `cabal unpack` should work for any Hackage package, even if Cabal has changed a bit.  (Because fetching and unpacking is one of Cabal's less sophisticated operations.) 
     42 
     43 * It is important to compile `Setup.lhs` with your shiny new ''inplace'' GHC, not your installed GHC.  Your inplace GHC has the most up-to-date Cabal library, and that is what you want to link `Setup.lhs` against. 
     44 
     45 * The `--global` flag has the same purpose as in Plan A 
     46  
     47 * The `--inplace` flag to register tells Cabal not to copy the compiled package, but rather to leave it right where it is, and register this location in the package database in your GHC build tree