Skip to content

Solver gives bad error when inplace package version incompatible with other inplace package version #4403

Closed
@ezyang

Description

@ezyang

Steps to repro:

  1. I had a local copy of hackage-server, which has a fixed dependency Cabal == 1.24.*
  2. I added a dev copy of Cabal (2.1.x) to my Nix project
  3. I ran the solver:
hackage@back-hackage:~/hackage-server$ cabal new-build -j                                      
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: directory-1.3.0.0/installed-1.3... (dependency of Cabal-2.1.0.0)
trying: hackage-server-0.5.1 (user goal)
trying: hackage-server-0.5.1:-build-hackage-import
trying: hackage-server-0.5.1:+build-hackage-build
trying: hackage-server-0.5.1:+build-hackage-mirror
rejecting: hackage-server-0.5.1:+build-hackage-server (conflict:
directory==1.3.0.0/installed-1.3..., hackage-server-0.5.1:build-hackage-server
=> directory>=1.0 && <1.3)
rejecting: hackage-server-0.5.1:-build-hackage-server (manual flag can only be
changed explicitly)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: hackage-server-0.5.1:flag, Cabal,
hackage-server

I don't know why it's complaining about directory. I verified that changing the bound in hackage-server solved the problem. This is probably just the "solver rejects reasonable plan early, but then doesn't emit it on default verbosity".

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