Skip to content

cabal multi repl fails with with-compiler #497

Description

@fendor

In cabal codebase, do the following:

$ ghcup set ghc 9.14.1
$ ghcup set --install ghc 9.10.3
$ cabal configure -w ghc-9.14.1
$ hie-bios -v debug --multi Cabal/src/Distribution/Backpack/ComponentsGraph.hs Cabal-syntax/src/Distribution/Backpack.hs
[Info] invoking build tool to determine build flags (this may take some time depending on the cache)
[Debug] Requested to load Cabal cradle using all files (multi-components):
    [ /home/hugin/Documents/haskell/cabal/Cabal-syntax/src/Distribution/Backpack.hs ]
[Debug] cabal --numeric-version
[Debug] cabal path --output-format=json
[Debug] /home/hugin/.ghcup/bin/ghc-9.14.1 --numeric-version
[Info] Load cabal cradle using all files (multi-components)
[Debug] Cabal Loading file /home/hugin/Documents/haskell/cabal/Cabal/src/Distribution/Backpack/ComponentsGraph.hs
    from project:  [/home/hugin/Documents/haskell/cabal]
    with prefixes: 
    with actual loading files: [ /home/hugin/Documents/haskell/cabal/Cabal/src/Distribution/Backpack/ComponentsGraph.hs
                               , /home/hugin/Documents/haskell/cabal/Cabal-syntax/src/Distribution/Backpack.hs ]
[Info] cabal v2-repl --keep-temp-files --with-repl /home/hugin/.cache/hie-bios/repl-wrapper-fae20739a232ed1b9dcdf40eca9cf71e --enable-multi-repl /home/hugin/Documents/haskell/cabal/Cabal/src/Distribution/Backpack/ComponentsGraph.hs /home/hugin/Documents/haskell/cabal/Cabal-syntax/src/Distribution/Backpack.hs
  Environment Variables
    HIE_BIOS_OUTPUT: /tmp/HIE_BIOS_OUTPUT1209045-0
[Debug] Resolving dependencies...
[Debug] Error: [Cabal-7107]
[Debug] Could not resolve dependencies:
[Debug] [__0] trying: Cabal-3.17.0.0 (user goal)
[Debug] [__1] trying: Cabal-syntax-3.17.0.0 (user goal)
[Debug] [__2] trying: cabal-testsuite-3 (user goal)
[Debug] [__3] next goal: cabal-testsuite:setup.Cabal-syntax (dependency of cabal-testsuite)
[Debug] [__3] rejecting: cabal-testsuite:setup.Cabal-syntax~>Cabal-syntax-3.17.0.0 (conflict: cabal-testsuite => cabal-testsuite:setup.Cabal-syntax^>=3.12.1.0)
[Debug] [__3] skipping: cabal-testsuite:setup.Cabal-syntax; 3.17.0.0, 3.16.1.0, 3.16.0.0/installed-decd, 3.16.0.0, 3.14.2.0, 3.14.1.0, 3.14.0.0 (has the same characteristics that caused the previous version to fail: excluded by constraint '^>=3.12.1.0' from 'cabal-testsuite')
[Debug] [__3] trying: cabal-testsuite:setup.Cabal-syntax-3.12.1.0
[Debug] [__4] next goal: cabal-testsuite:setup.Cabal (dependency of cabal-testsuite)
[Debug] [__4] rejecting: cabal-testsuite:setup.Cabal~>Cabal-3.17.0.0 (dependencies not linked: cannot merge {*cabal-testsuite:setup.Cabal-syntax-3.12.1.0} and {*Cabal-syntax-3.17.0.0}; conflict set: Cabal, Cabal-syntax, cabal-testsuite:setup.Cabal, cabal-testsuite:setup.Cabal-syntax)
[Debug] [__4] rejecting: cabal-testsuite:setup.Cabal-3.17.0.0 (multiple instances)
[Debug] [__4] rejecting: cabal-testsuite:setup.Cabal-3.16.1.0 (conflict: cabal-testsuite => cabal-testsuite:setup.Cabal^>=3.12.1.0)
[Debug] [__4] skipping: cabal-testsuite:setup.Cabal; 3.16.0.0/installed-653b, 3.16.0.0, 3.14.2.0, 3.14.1.1, 3.14.1.0, 3.14.0.0 (has the same characteristics that caused the previous version to fail: excluded by constraint '^>=3.12.1.0' from 'cabal-testsuite')
[Debug] [__4] rejecting: cabal-testsuite:setup.Cabal; 3.12.1.0, 3.12.0.0, 3.10.3.0, 3.10.2.1, 3.10.2.0, 3.10.1.0, 3.8.1.0, 3.6.3.0, 3.6.2.0, 3.6.1.0, 3.6.0.0, 3.4.1.0, 3.4.0.0, 3.2.1.0, 3.2.0.0, 3.0.2.0, 3.0.1.0, 3.0.0.0, 2.4.1.0, 2.4.0.1, 2.4.0.0, 2.2.0.1, 2.2.0.0, 2.0.1.1, 2.0.1.0, 2.0.0.2, 1.24.2.0, 1.24.0.0, 1.22.8.0, 1.22.7.0, 1.22.6.0, 1.22.5.0, 1.22.4.0, 1.22.3.0, 1.22.2.0, 1.22.1.1, 1.22.1.0, 1.22.0.0, 1.20.0.4, 1.20.0.3, 1.20.0.2, 1.20.0.1, 1.20.0.0, 1.18.1.7, 1.18.1.6, 1.18.1.5, 1.18.1.4, 1.18.1.3, 1.18.1.2, 1.18.1.1, 1.18.1, 1.18.0, 1.16.0.3, 1.16.0.2, 1.16.0.1, 1.16.0, 1.14.0, 1.12.0, 1.10.2.0, 1.10.1.0, 1.10.0.0, 1.8.0.6, 1.8.0.4, 1.8.0.2, 1.6.0.3, 1.6.0.2, 1.6.0.1, 1.4.0.2, 1.4.0.1, 1.4.0.0, 1.2.4.0, 1.2.3.0, 1.2.2.0, 1.2.1, 1.1.6, 1.24.1.0 (constraint from --with-repl requires >=3.15)
[Debug] [__4] fail (backjumping, conflict set: Cabal, Cabal-syntax, cabal-testsuite, cabal-testsuite:setup.Cabal, cabal-testsuite:setup.Cabal-syntax)
[Debug] After searching the rest of the dependency tree exhaustively, these were the goals I've had most trouble fulfilling: Cabal, cabal-testsuite:setup.Cabal, cabal-testsuite, cabal-testsuite:setup.Cabal-syntax, Cabal-syntax
[Debug] Try running with --minimize-conflict-set to improve the error message.
[Debug] 
[Debug] 'lib:Cabal' is too old to use '--with-repl' flag. Requires 'lib:Cabal' >= 3.15. Original error:
Error: [Cabal-7107]
Could not resolve dependencies:
[__0] trying: Cabal-3.17.0.0 (user goal)
[__1] trying: Cabal-syntax-3.17.0.0 (user goal)
[__2] trying: cabal-testsuite-3 (user goal)
[__3] next goal: cabal-testsuite:setup.Cabal-syntax (dependency of cabal-testsuite)
[__3] rejecting: cabal-testsuite:setup.Cabal-syntax~>Cabal-syntax-3.17.0.0 (conflict: cabal-testsuite => cabal-testsuite:setup.Cabal-syntax^>=3.12.1.0)
[__3] skipping: cabal-testsuite:setup.Cabal-syntax; 3.17.0.0, 3.16.1.0, 3.16.0.0/installed-decd, 3.16.0.0, 3.14.2.0, 3.14.1.0, 3.14.0.0 (has the same characteristics that caused the previous version to fail: excluded by constraint '^>=3.12.1.0' from 'cabal-testsuite')
[__3] trying: cabal-testsuite:setup.Cabal-syntax-3.12.1.0
[__4] next goal: cabal-testsuite:setup.Cabal (dependency of cabal-testsuite)
[__4] rejecting: cabal-testsuite:setup.Cabal~>Cabal-3.17.0.0 (dependencies not linked: cannot merge {*cabal-testsuite:setup.Cabal-syntax-3.12.1.0} and {*Cabal-syntax-3.17.0.0}; conflict set: Cabal, Cabal-syntax, cabal-testsuite:setup.Cabal, cabal-testsuite:setup.Cabal-syntax)
[__4] rejecting: cabal-testsuite:setup.Cabal-3.17.0.0 (multiple instances)
[__4] rejecting: cabal-testsuite:setup.Cabal-3.16.1.0 (conflict: cabal-testsuite => cabal-testsuite:setup.Cabal^>=3.12.1.0)
[__4] skipping: cabal-testsuite:setup.Cabal; 3.16.0.0/installed-653b, 3.16.0.0, 3.14.2.0, 3.14.1.1, 3.14.1.0, 3.14.0.0 (has the same characteristics that caused the previous version to fail: excluded by constraint '^>=3.12.1.0' from 'cabal-testsuite')
[__4] rejecting: cabal-testsuite:setup.Cabal; 3.12.1.0, 3.12.0.0, 3.10.3.0, 3.10.2.1, 3.10.2.0, 3.10.1.0, 3.8.1.0, 3.6.3.0, 3.6.2.0, 3.6.1.0, 3.6.0.0, 3.4.1.0, 3.4.0.0, 3.2.1.0, 3.2.0.0, 3.0.2.0, 3.0.1.0, 3.0.0.0, 2.4.1.0, 2.4.0.1, 2.4.0.0, 2.2.0.1, 2.2.0.0, 2.0.1.1, 2.0.1.0, 2.0.0.2, 1.24.2.0, 1.24.0.0, 1.22.8.0, 1.22.7.0, 1.22.6.0, 1.22.5.0, 1.22.4.0, 1.22.3.0, 1.22.2.0, 1.22.1.1, 1.22.1.0, 1.22.0.0, 1.20.0.4, 1.20.0.3, 1.20.0.2, 1.20.0.1, 1.20.0.0, 1.18.1.7, 1.18.1.6, 1.18.1.5, 1.18.1.4, 1.18.1.3, 1.18.1.2, 1.18.1.1, 1.18.1, 1.18.0, 1.16.0.3, 1.16.0.2, 1.16.0.1, 1.16.0, 1.14.0, 1.12.0, 1.10.2.0, 1.10.1.0, 1.10.0.0, 1.8.0.6, 1.8.0.4, 1.8.0.2, 1.6.0.3, 1.6.0.2, 1.6.0.1, 1.4.0.2, 1.4.0.1, 1.4.0.0, 1.2.4.0, 1.2.3.0, 1.2.2.0, 1.2.1, 1.1.6, 1.24.1.0 (constraint from --with-repl requires >=3.15)
[__4] fail (backjumping, conflict set: Cabal, Cabal-syntax, cabal-testsuite, cabal-testsuite:setup.Cabal, cabal-testsuite:setup.Cabal-syntax)
After searching the rest of the dependency tree exhaustively, these were the goals I've had most trouble fulfilling: Cabal, cabal-testsuite:setup.Cabal, cabal-testsuite, cabal-testsuite:setup.Cabal-syntax, Cabal-syntax
Try running with --minimize-conflict-set to improve the error message.

[Debug] cabal path --output-format=json
[Debug] /home/hugin/.ghcup/bin/ghc-9.14.1 --print-libdir
[Info] cabal --builddir=/home/hugin/.cache/hie-bios/dist-cabal-6feed062e565a5220d2d16ac7598fdb5 v2-repl --with-compiler /home/hugin/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /home/hugin/.cache/hie-bios/ghc-pkg-01250e8f434436ca4b2736aa6fe22116 --enable-multi-repl /home/hugin/Documents/haskell/cabal/Cabal/src/Distribution/Backpack/ComponentsGraph.hs /home/hugin/Documents/haskell/cabal/Cabal-syntax/src/Distribution/Backpack.hs
  Environment Variables
    HIE_BIOS_OUTPUT: /tmp/HIE_BIOS_OUTPUT1209045-1
    HIE_BIOS_GHC: /home/hugin/.ghcup/bin/ghc-9.14.1
    HIE_BIOS_GHC_ARGS: -B/home/hugin/.ghcup/ghc/9.14.1/lib/ghc-9.14.1/lib
[Debug] Error: [Cabal-4000]
[Debug] Version mismatch between ghc and ghc-pkg: /home/hugin/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 is version 9.14.1 /home/hugin/.ghcup/bin/ghc-pkg is version 9.10.3
[Debug] 
[Debug] cabal path --output-format=json
[Debug] /home/hugin/.ghcup/bin/ghc-9.14.1 --print-libdir
[Debug] cabal path --output-format=json
[Debug] /home/hugin/.ghcup/bin/ghc-9.14.1 --numeric-version
Cradle failed to load
Deps: ["cabal.project","cabal.project.local","Cabal/Cabal.cabal","Cabal-syntax/Cabal-syntax.cabal"]
Exit Code: ExitFailure 1
Stderr: Failed to run cabal v2-repl --keep-temp-files --with-repl /home/hugin/.cache/hie-bios/repl-wrapper-fae20739a232ed1b9dcdf40eca9cf71e --enable-multi-repl /home/hugin/Documents/haskell/cabal/Cabal/src/Distribution/Backpack/ComponentsGraph.hs /home/hugin/Documents/haskell/cabal/Cabal-syntax/src/Distribution/Backpack.hs in directory "/home/hugin/Documents/haskell/cabal". Consult the logs for full command and error.
Failed command: cabal '--builddir=/home/hugin/.cache/hie-bios/dist-cabal-6feed062e565a5220d2d16ac7598fdb5' v2-repl --with-compiler /home/hugin/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /home/hugin/.cache/hie-bios/ghc-pkg-01250e8f434436ca4b2736aa6fe22116 --enable-multi-repl /home/hugin/Documents/haskell/cabal/Cabal/src/Distribution/Backpack/ComponentsGraph.hs /home/hugin/Documents/haskell/cabal/Cabal-syntax/src/Distribution/Backpack.hs

Error: [Cabal-4000]
Version mismatch between ghc and ghc-pkg: /home/hugin/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 is version 9.14.1 /home/hugin/.ghcup/bin/ghc-pkg is version 9.10.3



Process Environment:
HIE_BIOS_GHC: /home/hugin/.ghcup/bin/ghc-9.14.1
HIE_BIOS_GHC_ARGS: -B/home/hugin/.ghcup/ghc/9.14.1/lib/ghc-9.14.1/lib

Failed: /home/hugin/Documents/haskell/cabal/Cabal/src/Distribution/Backpack/ComponentsGraph.hs
/home/hugin/Documents/haskell/cabal/Cabal-syntax/src/Distribution/Backpack.hs

But afaict, this should succeed and not use the ghc-pkg found on path.

cabal-3.16.0.0 related, works fine with cabal-3.14.2.0. Perhaps haskell/cabal#11373 ?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions