Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When there is a package conflict, state where the dependencies come from #5243

Closed
RalfJung opened this issue Aug 12, 2022 · 4 comments
Closed
Milestone

Comments

@RalfJung
Copy link

I am trying to figure out why opam fails saying

[ERROR] Package conflict!
  * Missing dependency:
    - coq-stdpp (>= 2022-08-12.3.d6c6e66a & < dev.2017-11-12.2)
    no matching version

Sadly this is on CI, so I have no way to directly interact with that state. And the message makes no sense, no package involved should have a constraint that says < dev.2017-11-12.2. It would help enormously if opam could say why it thinks that there is a < dev.2017-11-12.2 constraint; as-is, these error messages are not very useful.

# opam config report
# opam-version         2.1.1 
# self-upgrade         no
# system               arch=x86_64 os=linux os-distribution=debian os-version=10
# solver               builtin-mccs+glpk
# install-criteria     -removed,-count[avoid-version,changed],-count[version-lag,request],-count[version-lag,changed],-count[missing-depexts,changed],-changed
# upgrade-criteria     -removed,-count[avoid-version,changed],-count[version-lag,solution],-count[missing-depexts,changed],-new
# jobs                 20
# repositories         2 (http), 1 (version-controlled) (default repo at 3927b22a)
# pinned               4 (rsync), 2 (version)
# current-switch       default
# ocaml:native         true
# ocaml:native-tools   true
# ocaml:native-dynlink true
# ocaml:stubsdir       /builds/iris/iris/_opam/default/lib/ocaml/stublibs:/builds/iris/iris/_opam/default/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       4.07.1
<><> Repository configuration for switch default ><><><><><><><><><><><><><><><>
[NOTE] These are the repositories in use by the current switch. Use '--all' to see all configured repositories.
 1 iris-dev     git+https://gitlab.mpi-sws.org/iris/opam.git
 2 coq-released https://coq.inria.fr/opam/released
 3 default      https://opam.ocaml.org/
@RalfJung
Copy link
Author

In this case it turns out the issue was a = 2022-08-12.3.d6c6e66a should have been = dev.2022-08-12.3.d6c6e66a. That still does not satisfy the < dev.2017-11-12.2 constraint, but that constraint does not really exist, so then things went fine.

@kit-ty-kate
Copy link
Member

This is a duplicate of #4373. Could you add your comment there with:

  • the available repositories hashes
  • the switch invariant
  • the list of pinned packages
  • the current system
  • the command showing the conflict message

and close this issue?

@RalfJung
Copy link
Author

Uh, no idea how to get all that information, sorry.

  • The available repositories are listed above.
  • The switch invariant is whatever you get from creating a switch with ocaml-variants.4.14.0+options ocaml-option-flambda
  • "current system", no idea what you mean by that, I gave the opam config report above
  • the command is this line in our CI scripts

You can see the full CI logs here.

I also now remember that & in these messages often means "or" (completely defying the meaning of that symbol basically everywhere else, including in opam's own syntax), so that is probably part of the problem here.

@kit-ty-kate kit-ty-kate added this to the 2.3.0 milestone Nov 18, 2024
@kit-ty-kate
Copy link
Member

This should have been fixed by #6106 released in opam 2.3.0. If you still have some issues, feel free to reopen or open a new ticket. Thanks for the report!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants