[Hackage] #731: Custom Build-type with --package-db and --global
encounters runtime error
Hackage
cvs-ghc at haskell.org
Thu Aug 26 18:43:44 EDT 2010
#731: Custom Build-type with --package-db and --global encounters runtime error
---------------------------------+------------------------------------------
Reporter: cygnus | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: cabal-install tool | Version: 1.8.0.4
Severity: normal | Keywords:
Difficulty: unknown | Ghcversion: 6.12.2
Platform: Linux |
---------------------------------+------------------------------------------
To reproduce:
* Run `cabal init`, change `Build-type` to `Custom` (`Setup.hs` already
provided by `cabal init`)
* Run `ghc-pkg init db`
* Run `cabal configure --package-db=./db --global`
* Output:
{{{
Resolving dependencies...
cabal: internal error: unexpected package db stack
}}}
In `cabal-install-0.8.2`, this appears to be caused by the code on lines
112-114 of `Distribution.Client.Configure`:
{{{
usePackageDB = if UserPackageDB `elem` packageDBs
then packageDBs
else packageDBs ++ [UserPackageDB]
}}}
in combination with the code on lines 297-306 of
`Distribution.Client.SetupWrapper`:
{{{
ghcPackageDbOptions :: PackageDBStack -> [String]
ghcPackageDbOptions dbstack = case dbstack of
(GlobalPackageDB:UserPackageDB:dbs) -> concatMap specific dbs
(GlobalPackageDB:dbs) -> "-no-user-package-conf"
: concatMap specific dbs
_ -> ierror
where
specific (SpecificPackageDB db) = [ "-package-conf", db ]
specific _ = ierror
ierror = error "internal error: unexpected package db stack"
}}}
Essentially, the order of the package databases in the stack is not as
expected since the list already contains a `SpecificPackageDB` when the
`UserPackageDB` is appended.
(Note: this applies to GHC 6.12.3 and Cabal 1.8.0.6 on my system, but I
could not select those versions in the ticket properties.)
--
Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/731>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects
More information about the cabal-devel
mailing list