liminal18
liminal18

Reputation: 563

Nix Cabal Not Finding Dependencies

Trying a nix build on nix-os:

 cabal --enable-nix install
Resolving dependencies...
Configuring alex-3.2.4...
Configuring happy-1.19.9...
Configuring c2hs-0.28.3...
Building alex-3.2.4...
Building c2hs-0.28.3...
Building happy-1.19.9...
Installed alex-3.2.4
Installed happy-1.19.9
Installed c2hs-0.28.3
Configuring PathFinder-0.1.0.0...
Failed to install PathFinder-0.1.0.0
Build log ( /home/liminal18/.cabal/logs/ghc-7.10.3/PathFinder-0.1.0.0-Ct8hE4tpk2v4C0mK830b0v.log ):
cabal: Entering directory '.'
Configuring PathFinder-0.1.0.0...
cabal: The following package dependencies were requested
--dependency='alex=alex-3.2.4-EcO8GwV5VLDHmJwcir1l4u'
--dependency='c2hs=c2hs-0.28.3-ConONz4xJmFDgUCTAA6Wmq'
--dependency='happy=happy-1.19.9-4PZ32S6SvwZBaSXkci9sAS'
however the given installed package instance does not exist.
cabal: Leaving directory '.'
cabal: Error: some packages failed to install:
PathFinder-0.1.0.0-Ct8hE4tpk2v4C0mK830b0v failed during the configure step.
The exception was:
ExitFailure 1

I get the same error with out --enable-nix

cabal configure
Resolving dependencies...
Warning: solver failed to find a solution:
Could not resolve dependencies:
trying: PathFinder-0.1.0.0 (user goal)
unknown package: c2hs (dependency of PathFinder-0.1.0.0)
fail (backjumping, conflict set: PathFinder, c2hs)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: PathFinder, c2hsTrying configure
anyway.
Configuring PathFinder-0.1.0.0...
cabal: Encountered missing dependencies:
alex -any, c2hs -any, happy -any

source code for the project is here: https://github.com/aljones15/SimplePathFinding

I can do cabal install for c2hs just fine and the other dependencies however my build script just doesn't seem to work on nix-os. let me know if you can solve this. I think I just have something configured wrong.

Upvotes: 0

Views: 945

Answers (1)

Robert Hensing
Robert Hensing

Reputation: 7349

In the cabal file, you should use the build-tool-depends field instead of build-depends for executables you depend on.

Upvotes: 1

Related Questions