Skip to content

Upgrading to GHC 9.2.4 / cabal 3.8.1.0 causes package.db issues #1608

Open
@ramirez7

Description

@ramirez7

I first got this error:

The exception was:
/home/armando/.cabal/store/ghc-9.2.4/package.db/:
openBinaryTempFileWithDefaultPermissions: does not exist (No such file or
directory)

I tried manually created the package db in my nix-shell:

ghc-pkg init /home/armando/.cabal/store/ghc-9.2.4/package.db

But then I run into issues with my source-repository-packages in my cabal.project file:

Error: cabal: The following package dependencies were requested
--dependency='cute-c2=cute-c2-0.1.0.0-c68517fccf44774ff378ef2178405e2f04adfafeada4fc2372bea909782bd710'
--dependency='cute-sound=cute-sound-0.1.0.0-97e5ddd48614f40e2cb39689806143dbb2f0175f6f6d8a439d495cead7a6b0a5'
--dependency='sdl-gpu=sdl-gpu-0.1.0.0-2d34404b479c2527c59e8d2900583b93c98fb8d3ac6c8eb82c94a865e649db3c'
however the given installed package instance does not exist.

My cabal versions are different pre- and post-upgrade fwiw:

9.2.3

$ cabal --version
cabal-install version 3.6.2.0
compiled using version 3.6.3.0 of the Cabal library

vs 9.2.4

$ cabal --version
cabal-install version 3.8.1.0
compiled using version 3.8.1.0 of the Cabal library

This is the extent of my changes:

diff --git a/default.nix b/default.nix
index 4353cf3..c5d2882 100644
--- a/default.nix
+++ b/default.nix
@@ -10,5 +10,5 @@ in pkgs.haskell-nix.project {
   # We may need this someday for hint
   #modules = [{ reinstallableLibGhc = true; }];
 
-  compiler-nix-name = "ghc923";
+  compiler-nix-name = "ghc924";
 }
diff --git a/nix/sources.json b/nix/sources.json
index 5428fc0..66ea5e1 100644
--- a/nix/sources.json
+++ b/nix/sources.json
@@ -5,10 +5,10 @@
         "homepage": "",
         "owner": "input-output-hk",
         "repo": "hackage.nix",
-        "rev": "b63711c848a8d2ec8ae189ad291ce54bb041874d",
-        "sha256": "0qfcd7k4hdhfbc6377rr7fgnlakwfasy9djmvkszd463rla6k6gn",
+        "rev": "14df7a1e633059997ecd3182d8272a1f13e99c62",
+        "sha256": "01h5l3fgdpji6ckr8bpq5m03x8xj8yjx8qkcvy1g4r1lyrfdpr79",
         "type": "tarball",
-        "url": "https://github.com/input-output-hk/hackage.nix/archive/b63711c848a8d2ec8ae189ad291ce54bb041874d.tar.gz",
+        "url": "https://github.com/input-output-hk/hackage.nix/archive/14df7a1e633059997ecd3182d8272a1f13e99c62.tar.gz",
         "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
     },
     "haskellNix": {
@@ -17,10 +17,10 @@
         "homepage": "https://input-output-hk.github.io/haskell.nix",
         "owner": "input-output-hk",
         "repo": "haskell.nix",
-        "rev": "c6a44a799bc36fa063045bbe816f29d6c7594f39",
-        "sha256": "0rqglk7sr4kx5z70h47rzdzbinjpp13n6f4w0kfqfb1sg42m0gfq",
+        "rev": "e36a34c4abc02287ec79bf88a0c993f6b66f9945",
+        "sha256": "1s2qmrfipj6qks981pr7j2qk8j965as529z9g2ay2n83zqmf49jh",
         "type": "tarball",
-        "url": "https://github.com/input-output-hk/haskell.nix/archive/c6a44a799bc36fa063045bbe816f29d6c7594f39.tar.gz",
+        "url": "https://github.com/input-output-hk/haskell.nix/archive/e36a34c4abc02287ec79bf88a0c993f6b66f9945.tar.gz",
         "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
     },
     "niv": {

If I revert to my old version (using GHC 9.2.3) it works fine even despite blowing everything away. It seems to have no trouble re-generating a valid package.db (whereas the 9.2.4 bump never even creates those files). So I can stick with that in the interim.

I also checked out my upgrade branch on my laptop to see if it was my computer's environment specifically. This laptop did have some ghc 9.2.4 stuff already in ~/.cabal (unrelated to haskell.nix). When I tried to cabal repl, I got the The following package dependencies were requested error from above. So from that, I think I can say that haskell.nix at this version w/ghc 9.2.4 breaks my build for some reason 🤨

I'm not sure if this is a haskell.nix issue or a cabal issue tbh.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpreservedKeep stale bot away

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions