haskell / cabal

Official upstream development repository for Cabal and cabal-install
https://haskell.org/cabal
Other
1.58k stars 685 forks source link

[3.12.0.0] Failed to find the installed unit #10046

Open jasagredo opened 1 month ago

jasagredo commented 1 month ago

Describe the bug

Building a package with cabal 3.12.0.0, I encountered this error:

> cabal test all
...
Error: [Cabal-9341]
Failed to find the installed unit 'cardano-submit-api-3.2.2-inplace' in package database stack.
...
Error: [Cabal-7125]
Tests failed for test:unit from cardano-submit-api-3.2.2.

Output

A subsequent cabal build all was able to find the library and build it, Output collapsed below:

Output

To Reproduce Not sure how to reproduce it. I used the branch https://github.com/IntersectMBO/cardano-node/tree/js/cabal-error-report. I had compiled the project before the latest commit, and then after updating those source-repository-package this error showed up, but it doesn't seem to be deterministic :(

System information

Additional context In this same scenario I saw a paraphrasing of the following error (but I lost the terminal output, I will make a proper issue if I see it again, but maybe it is helpful to guess the cause):

When building ouroboros-consensus-cardano:
Encountered private or missing dependencies:
  diff-containers >= 1.1

A cabal clean && cabal build all solved it. Perhaps cabal clean would not have been needed.

jasagredo commented 1 month ago

Another instance of the same problem at commit 55172e6ab25522853826fc95f4f2e26d2f2d8176 in https://github.com/IntersectMBO/ouroboros-consensus

ouroboros-consensus on  js/removeNS [$] via λ 9.8.2 took 22s
❯ cabal clean

ouroboros-consensus on  js/removeNS [$] via λ 9.8.2
❯ cabal test all
Resolving dependencies...
Build profile: -w ghc-9.8.2 -O1
In order, the following will be built (use -v for more details):
 - ouroboros-consensus-0.18.0.0 (test:doctest) (first run)
 - strict-sop-core-0.1.1.0 (lib) (first run)
 - sop-extras-0.2.0.0 (lib) (first run)
 - ouroboros-consensus-0.18.0.0 (lib) (first run)
 - ouroboros-consensus-protocol-0.9.0.0 (lib) (first run)
 - ouroboros-consensus-diffusion-0.16.0.0 (lib) (first run)
 - ouroboros-consensus-cardano-0.16.0.0 (lib:unstable-byronspec) (first run)
 - ouroboros-consensus-0.18.0.0 (lib:unstable-mempool-test-utils) (first run)
 - ouroboros-consensus-0.18.0.0 (lib:unstable-consensus-testlib) (first run)
 - ouroboros-consensus-protocol-0.9.0.0 (lib:unstable-protocol-testlib) (first run)
 - ouroboros-consensus-cardano-0.16.0.0 (lib) (first run)
 - ouroboros-consensus-protocol-0.9.0.0 (test:protocol-test) (first run)
 - ouroboros-consensus-diffusion-0.16.0.0 (lib:unstable-diffusion-testlib) (first run)
 - ouroboros-consensus-0.18.0.0 (lib:unstable-mock-block) (first run)
 - ouroboros-consensus-0.18.0.0 (test:storage-test) (first run)
 - ouroboros-consensus-0.18.0.0 (test:infra-test) (first run)
 - ouroboros-consensus-cardano-0.16.0.0 (lib:unstable-cardano-tools) (first run)
 - ouroboros-consensus-diffusion-0.16.0.0 (test:infra-test) (first run)
 - ouroboros-consensus-diffusion-0.16.0.0 (test:consensus-test) (first run)
 - ouroboros-consensus-cardano-0.16.0.0 (lib:unstable-shelley-testlib) (first run)
 - ouroboros-consensus-cardano-0.16.0.0 (lib:unstable-byron-testlib) (first run)
 - ouroboros-consensus-diffusion-0.16.0.0 (lib:unstable-mock-testlib) (first run)
 - ouroboros-consensus-0.18.0.0 (test:consensus-test) (first run)
 - ouroboros-consensus-cardano-0.16.0.0 (test:tools-test) (first run)
 - ouroboros-consensus-cardano-0.16.0.0 (test:shelley-test) (first run)
 - ouroboros-consensus-cardano-0.16.0.0 (lib:unstable-cardano-testlib) (first run)
 - ouroboros-consensus-cardano-0.16.0.0 (test:byron-test) (first run)
 - ouroboros-consensus-diffusion-0.16.0.0 (test:mock-test) (first run)
 - ouroboros-consensus-cardano-0.16.0.0 (test:cardano-test) (first run)
Configuring library for strict-sop-core-0.1.1.0...
Configuring test suite 'doctest' for ouroboros-consensus-0.18.0.0...
Preprocessing library for strict-sop-core-0.1.1.0...
Building library for strict-sop-core-0.1.1.0...
Preprocessing test suite 'doctest' for ouroboros-consensus-0.18.0.0...
Building test suite 'doctest' for ouroboros-consensus-0.18.0.0...
[1 of 3] Compiling Data.SOP.Strict.NP ( src/Data/SOP/Strict/NP.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/strict-sop-core-0.1.1.0/build/Data/SOP/Strict/NP.o, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/strict-sop-core-0.1.1.0/build/Data/SOP/Strict/NP.dyn_o )
[1 of 1] Compiling Main             ( test/doctest.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/ouroboros-consensus-0.18.0.0/t/doctest/build/doctest/doctest-tmp/Main.o )
[2 of 2] Linking /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/ouroboros-consensus-0.18.0.0/t/doctest/build/doctest/doctest
[2 of 3] Compiling Data.SOP.Strict.NS ( src/Data/SOP/Strict/NS.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/strict-sop-core-0.1.1.0/build/Data/SOP/Strict/NS.o, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/strict-sop-core-0.1.1.0/build/Data/SOP/Strict/NS.dyn_o )
[3 of 3] Compiling Data.SOP.Strict  ( src/Data/SOP/Strict.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/strict-sop-core-0.1.1.0/build/Data/SOP/Strict.o, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/strict-sop-core-0.1.1.0/build/Data/SOP/Strict.dyn_o )
Configuring library for sop-extras-0.2.0.0...
Error: [Cabal-9341]
Failed to find the installed unit 'ouroboros-consensus-0.18.0.0-inplace' in package database stack.

Preprocessing library for sop-extras-0.2.0.0...
Building library for sop-extras-0.2.0.0...
[ 1 of 10] Compiling Data.SOP.Functors ( src/Data/SOP/Functors.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Functors.o, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Functors.dyn_o )
[ 2 of 10] Compiling Data.SOP.Index   ( src/Data/SOP/Index.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Index.o, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Index.dyn_o )
[ 3 of 10] Compiling Data.SOP.Lenses  ( src/Data/SOP/Lenses.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Lenses.o, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Lenses.dyn_o )
[ 4 of 10] Compiling Data.SOP.NonEmpty ( src/Data/SOP/NonEmpty.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/NonEmpty.o, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/NonEmpty.dyn_o )
[ 5 of 10] Compiling Data.SOP.InPairs ( src/Data/SOP/InPairs.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/InPairs.o, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/InPairs.dyn_o )
[ 6 of 10] Compiling Data.SOP.Counting ( src/Data/SOP/Counting.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Counting.o, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Counting.dyn_o )
[ 7 of 10] Compiling Data.SOP.OptNP   ( src/Data/SOP/OptNP.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/OptNP.o, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/OptNP.dyn_o )
[ 8 of 10] Compiling Data.SOP.Tails   ( src/Data/SOP/Tails.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Tails.o, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Tails.dyn_o )
[ 9 of 10] Compiling Data.SOP.Telescope ( src/Data/SOP/Telescope.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Telescope.o, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Telescope.dyn_o )
[10 of 10] Compiling Data.SOP.Match   ( src/Data/SOP/Match.hs, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Match.o, /home/javier/cardano/ouroboros-consensus/dist-newstyle/build/x86_64-linux/ghc-9.8.2/sop-extras-0.2.0.0/build/Data/SOP/Match.dyn_o )
Error: [Cabal-7125]
Tests failed for test:doctest from ouroboros-consensus-0.18.0.0.