hsenv icon indicating copy to clipboard operation
hsenv copied to clipboard

Strange package.cache issue with GHC 7.10.1

Open mgsloan opened this issue 9 years ago • 3 comments

It seems others have successfully used GHC 7.10 with hsenv, so I'm not sure what's going on here. Using hsenv-0.5 and the Linux (x86_64) tarball:

mgsloan@computer:~/fpco/ghc-7.10-sandbox$ hsenv --ghc=../ghc-7.10.1.tar.xz 
Creating Virtual Haskell directory structure
Installing GHC
  Installing GHC from ../ghc-7.10.1.tar.xz
Initializing GHC Package database at /home/mgsloan/fpco/ghc-7.10-sandbox/.hsenv/ghc_pkg_db
Copying necessary packages from original GHC package database
  Using user-wide (~/.cabal/packages) Hackage download cache directory
Installing cabal config at /home/mgsloan/fpco/ghc-7.10-sandbox/.hsenv/cabal/config
Installing activate script
Installing cabal wrapper using /home/mgsloan/fpco/ghc-7.10-sandbox/.hsenv/cabal/config at /home/mgsloan/fpco/ghc-7.10-sandbox/.hsenv/bin/cabal
Skipping 'cabal update' step, Hackage download cache already downloaded
  to ~/.cabal/packages/. You can update it manually with 'cabal update'
  (from inside or outside the virtual environment).

To activate the new environment use 'source .hsenv/bin/activate'
mgsloan@computer:~/fpco/ghc-7.10-sandbox$ source .hsenv/bin/activate 
Activating  Virtual Haskell Environment (at /home/mgsloan/fpco/ghc-7.10-sandbox).

Use regular Haskell tools (ghc, ghci, ghc-pkg, cabal) to manage your Haskell environment.

To exit from this virtual environment, enter command 'deactivate_hsenv'.
[hsenv]mgsloan@computer:~/fpco/ghc-7.10-sandbox$ runhaskell Test.hs 
/home/mgsloan/fpco/ghc-7.10-sandbox/.hsenv/ghc_pkg_db/package.cache: GHC.PackageDb.readPackageDb: inappropriate type (not a ghc-pkg db file, wrong file magic number)

Thankfully, I figured out that doing the following resolved the problem:

rm .hsenv/ghc_pkg_db/package.cache
cp .hsenv/ghc/lib/ghc-7.10.1/package.conf.d/package.cache .hsenv/ghc_pkg_db/package.cache

mgsloan avatar Mar 30 '15 23:03 mgsloan

I've encountered this problem at Mac OS X 10.9.5 with ghcformacosx 7.10.1. It seems to be a ghc's problem, I think.

I resolved this problem as follows:

$ ~/.hsenv/bin/activate
[hsenv] $ ghc-pkg recache

cosmo0920 avatar Apr 14 '15 01:04 cosmo0920

If either of you knows of anything that hsenv can do differently to work around the problem, let me know.

tmhedberg avatar Apr 14 '15 01:04 tmhedberg

FWIW, I ran into this same issue on both OS X and Ubuntu. On both operating systems, the "ghc-pkg recache" workaround did not help, but mgsloan's workaround with rm and cp fixed the problem.

mignon-p avatar May 20 '15 07:05 mignon-p