ocaml / opam

opam is a source-based package manager. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.
https://opam.ocaml.org
Other
1.24k stars 358 forks source link

solver error #567

Closed vbmithr closed 11 years ago

vbmithr commented 11 years ago
[vb@haramix ~/code/opam-repository/packages/crypt.1.1]% opam update                                                               
Synchronizing <root>/repo/default with http://opam.ocamlpro.com.
Synchronizing <root>/repo/mirage-dev with git://github.com/mirage/opam-repo-dev.
Synchronizing <root>/repo/mirage-dev/tmp/cohttp.1.0.0/ocaml-cohttp with git://github.com/avsm/ocaml-cohttp.
Synchronizing <root>/repo/mirage-dev/tmp/mirage.1.0.0/mirage-platform with git://github.com/mirage/mirage-platform.
Synchronizing <root>/repo/mirage-dev/tmp/mirage-net.1.0.0/mirage-net with git://github.com/mirage/mirage-net.
Synchronizing <root>/repo/myrepo with ~/code/opam-repository.
Synchronizing <root>/repo/xen-dev with git://github.com/xen-org/opam-repo-dev.
Synchronizing <root>/repo/xen-dev/tmp/qmp.1.0.0/ocaml-qmp with git://github.com/djs55/ocaml-qmp.
Synchronizing <root>/system/pinned.cache/mirage-fs with ~/code/mirage-fs.
Synchronizing <root>/system/pinned.cache/obuild with ~/code/obuild.
The following NEW packages are available:
 - crypt.1.1
 - imagemagick.0.34
 - stone.0.2
Updating the cache of metadata (<root>/state.cache).
0 to install | 19 to reinstall | 4 to upgrade | 0 to downgrade | 0 to remove
You can now run 'opam upgrade' to upgrade your system.
[vb@haramix ~/code/opam-repository/packages/crypt.1.1]% opam upgrade crypt                                                        
Already up-to-date.
[vb@haramix ~/code/opam-repository/packages/crypt.1.1]% opam install crypt                                                        
Package crypt is already installed (current version is 1.0)
[vb@haramix ~/code/opam-repository/packages/crypt.1.1]% opam --version                                                            
1.0.1

Are you aware of things like that ? Cheers!

samoht commented 11 years ago

Which --git-version ?

Thomas

Le 30 mars 2013 à 19:08, Vincent Bernardoff notifications@github.com a écrit :

[vb@haramix ~/code/opam-repository/packages/crypt.1.1]% opam update
Synchronizing /repo/default with http://opam.ocamlpro.com. Synchronizing /repo/mirage-dev with git://github.com/mirage/opam-repo-dev. Synchronizing /repo/mirage-dev/tmp/cohttp.1.0.0/ocaml-cohttp with git://github.com/avsm/ocaml-cohttp. Synchronizing /repo/mirage-dev/tmp/mirage.1.0.0/mirage-platform with git://github.com/mirage/mirage-platform. Synchronizing /repo/mirage-dev/tmp/mirage-net.1.0.0/mirage-net with git://github.com/mirage/mirage-net. Synchronizing /repo/myrepo with ~/code/opam-repository. Synchronizing /repo/xen-dev with git://github.com/xen-org/opam-repo-dev. Synchronizing /repo/xen-dev/tmp/qmp.1.0.0/ocaml-qmp with git://github.com/djs55/ocaml-qmp. Synchronizing /system/pinned.cache/mirage-fs with ~/code/mirage-fs. Synchronizing /system/pinned.cache/obuild with ~/code/obuild. The following NEW packages are available:

  • crypt.1.1
  • imagemagick.0.34
  • stone.0.2 Updating the cache of metadata (/state.cache). 0 to install | 19 to reinstall | 4 to upgrade | 0 to downgrade | 0 to remove You can now run 'opam upgrade' to upgrade your system. [vb@haramix ~/code/opam-repository/packages/crypt.1.1]% opam upgrade crypt
    Already up-to-date. [vb@haramix ~/code/opam-repository/packages/crypt.1.1]% opam install crypt
    Package crypt is already installed (current version is 1.0) [vb@haramix ~/code/opam-repository/packages/crypt.1.1]% opam --version
    1.0.1 Are you aware of things like that ? Cheers!

— Reply to this email directly or view it on GitHub.

vbmithr commented 11 years ago

[vb@haramix ~/code/crypt-1.0]% opam --git-version
1.0.0-49-gc6e5de7

samoht commented 11 years ago

Can you try with master to see if this is better ?

vbmithr commented 11 years ago

No it doesn’t

[vb@haramix ~/code]% opam update                                                                                                  
Synchronizing ~/.opam/repo/default with http://opam.ocamlpro.com.
Synchronizing ~/.opam/repo/mirage-dev with git://github.com/mirage/opam-repo-dev.
Synchronizing ~/.opam/repo/mirage-dev/tmp/cohttp.1.0.0/ocaml-cohttp with git://github.com/avsm/ocaml-cohttp.
Synchronizing ~/.opam/repo/mirage-dev/tmp/mirage.1.0.0/mirage-platform with git://github.com/mirage/mirage-platform.
Synchronizing ~/.opam/repo/mirage-dev/tmp/mirage-net.1.0.0/mirage-net with git://github.com/mirage/mirage-net.
Synchronizing ~/.opam/repo/myrepo with ~/code/opam-repository.
Synchronizing ~/.opam/repo/xen-dev with git://github.com/xen-org/opam-repo-dev.
Synchronizing ~/.opam/repo/xen-dev/tmp/qmp.1.0.0/ocaml-qmp with git://github.com/djs55/ocaml-qmp.
Synchronizing ~/.opam/system/pinned.cache/mirage-fs with ~/code/mirage-fs.
Synchronizing ~/.opam/system/pinned.cache/obuild with ~/code/obuild.
Updating the cache of metadata (~/.opam/state.cache).
0 to install | 14 to reinstall | 2 to upgrade | 0 to downgrade | 0 to remove
You can now run 'opam upgrade' to upgrade your system.
[vb@haramix ~/code]% opam upgrade crypt                                                                                           
Already up-to-date.
[vb@haramix ~/code]% opam upgrade                                                                                                 
The following actions will be performed:
 - recompile quickcheck.1.0.0 [upstream changes]
 - recompile ocp-indent.1.1.0 [upstream changes]
 - recompile obuild.0.0.1 [upstream changes]
 - recompile mirage-fs.1.0.0 [upstream changes]
 - recompile oclock.0.3.0 [upstream changes]
 - recompile xenctrl.5.0.0 [upstream changes]
 - recompile cdrom.1.0.0 [upstream changes]
 - upgrade lambda-term.1.2 to 1.4
 - recompile xenstore.2.0.0 [upstream changes]
 - upgrade crypt.1.0 to 1.1
 - recompile qmp.1.0.0 [use obuild]
 - recompile utop.1.4.0 [use lambda-term]
 - recompile mirage.1.0.0 [use xenstore]
 - recompile xenstore_transport.1.0.0 [use xenstore]
 - recompile mirage-net.1.0.0 [use xenstore]
 - recompile cohttp.1.0.0 [use xenstore]
0 to install | 14 to reinstall | 2 to upgrade | 0 to downgrade | 0 to remove
Do you want to continue ? [Y/n] n
[vb@haramix ~/code]% opam --git-version                                                                                           
1.0.0-67-g57e39ef
abate commented 11 years ago

can you attach the cudf associated to this scenario ?

vbmithr commented 11 years ago

How can I do that ?

abate commented 11 years ago

using the --cudf option

for example : opam upgrade --cudf=foo ocamlfind

in general : opam --cudf=

the cudf contains the full description of system (all available packages + installed package) and your request (install, upgrade, remove).

On 04/04/13 07:00, Vincent Bernardoff wrote:

How can I do that ?


Reply to this email directly or view it on GitHub: https://github.com/OCamlPro/opam/issues/567#issuecomment-15898639

samoht commented 11 years ago

This seems to be a regression introduced in 950aa2af3dab1ecd012710e5a45d11c19d12f242

The command was only working for packages already in the 'reinstall' set (eg. when some packages have changed upstream, or when a pinned package has been updated). This should now be fixed.

The cudf file was giving an empty request, so the solver was proposing to do nothing. Not a big surprise :-)