Maybe I should have been more specific. I can compile the package with `stack build`, but never built with cabal directly. My cabal versions are: + cabal --version cabal-install version 3.0.0.0 compiled using version 3.0.1.0 of the Cabal library The command I use is cabal build or cabal haddock --haddock-for-hackage --haddock-hyperlink-source v2-build and new-build fail with the error I posted below. v1-build fails with Resolving dependencies... Warning: solver failed to find a solution: Could not resolve dependencies: [__0] trying: elynx-tools-0.2.2 (user goal) [__1] unknown package: matrices (dependency of elynx-tools) [__1] fail (backjumping, conflict set: elynx-tools, matrices) After searching the rest of the dependency tree exhaustively, these were the goals I've had most trouble fulfilling: elynx-tools, matrices Trying configure anyway. Configuring elynx-tools-0.2.2... cabal: Encountered missing or private dependencies: hmatrix -any, matrices -any The package I try to compile can be found here: https://github.com/dschrempf/elynx/tree/master/elynx-tools Thank you for your help! Dominik Henning Thielemann <lemming@henning-thielemann.de> writes:
On Tue, 28 Apr 2020, Dominik Schrempf wrote:
By the way, I just failed building the documentation. This is all wrong :|.
Resolving dependencies... Build profile: -w ghc-8.8.3 -O1 In order, the following will be built (use -v for more details): - matrices-0.5.0 (lib) (requires build) - storable-complex-0.2.3.0 (lib:storable-complex) (requires build) - hmatrix-0.20.0.0 (lib) (requires build) - elynx-tools-0.2.2 (lib) (first run) Starting storable-complex-0.2.3.0 (all, legacy fallback) Starting matrices-0.5.0 (lib) Building storable-complex-0.2.3.0 (all, legacy fallback) Building matrices-0.5.0 (lib)
Failed to build matrices-0.5.0. Build log ( /home/dominik/.cabal/logs/ghc-8.8.3/matrices-0.5.0-fad3378ef6f4b9b628fbbd797b7c85b4d66179cdfbce76fdac9c0e095f6cd439.log ): Configuring library for matrices-0.5.0.. Preprocessing library for matrices-0.5.0.. Building library for matrices-0.5.0.. [ 1 of 13] Compiling Data.Matrix.Class.Mutable ( src/Data/Matrix/Class/Mutable.hs, dist/build/Data/Matrix/Class/Mutable.o )
src/Data/Matrix/Class/Mutable.hs:10:1: error: Could not find module ‘Control.Monad.Primitive’ There are files missing in the ‘primitive-0.7.0.1’ package, try running 'ghc-pkg check'. Use -v (or `:set -v` in ghci) to see a list of the files searched for. | 10 | import Control.Monad.Primitive (PrimMonad, PrimState) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
What cabal-install version did you use for this build and what 'build' method did you use, v1-build or v2-build?
The message could mean that you are building with profiling but some 'primitive' was installed without profiling. With 'cabal v2-build' (new-build) there should not be a problem, because Cabal should simply build profiling objects when needed. However, for building the documentation you do not need profiling. But then again, profiling was just a guess.
It's best you show us your actual command-line and used Cabal version and the package (e.g. repository) that you try to upload.