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 357 forks source link

opam 2.0 beta 3 update is not working correctly #2993

Closed bikallem closed 7 years ago

bikallem commented 7 years ago

I am using opam version 2.0.0~beta3. After issuing opam update I get the following text,

=-=- Updating package repositories =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[default] no changes from https://opam.ocaml.org/2.0
[WARNING] Errors in /home/usr1/.opam/repo/default/repo, some fields have been ignored:
            - At /home/usr1/.opam/repo/default/repo:10:0:
              Invalid field stamp

[WARNING] Errors in /home/usr1/.opam/repo/default/repo, some fields have been ignored:
            - At /home/usr1/.opam/repo/default/repo:10:0:
              Invalid field stamp

Now run 'opam upgrade' to apply any package updates.

After issuing opam upgrade it asks me recompile all of my installed packages. Excerpt shown below,

....
  - recompile ppx_metaquot            v0.9.0            [upstream changes]
  - recompile ppx_let                 v0.9.0            [upstream changes]
  - recompile ppx_here                v0.9.1            [upstream changes]
  - recompile fieldslib               v0.9.0            [upstream changes]
  - recompile odig                    0.0.2             [upstream changes]
  - recompile core                    v0.9.1            [upstream changes]
===== 108 to recompile =====
Do you want to continue ? [Y/n] 

The issue is that opam asks me to upgrade and then recompile every time I do opam update. This is clearly not tenable.

bikallem commented 7 years ago

opam config report returns the following,

# opam config report
# opam-version    2.0.0~beta3 
# self-upgrade    no
# os              linux
# external-solver aspcud $in $out $criteria
# criteria        -count(removed),-notuptodate(request),-sum(request,version-lag),-count(down),-notuptodate(changed),-count(changed),-notuptodate(solution),-sum(solution,version-lag)
# jobs            4
# repositories    1 (http)
# pinned          0
# current-switch  4.04.2+fp+flambda
AltGr commented 7 years ago

The first error on update is due to a just-added field, and should be harmless. The second is clearly a bug, all packages haven't been changed every time. Could you provide me with the output of opam upgrade -vvv --debug ?

Thanks !

bikallem commented 7 years ago
00:00.009  GSTATE                  LOAD-GLOBAL-STATE @ /home/user1/.opam
00:00.009  RSTATE                  LOAD-REPOSITORY-STATE @ /home/user1/.opam
00:00.228  RSTATE                  Loaded /home/user1/.opam/repo/state.cache in 0.218s
00:00.245  RSTATE                  Cache found
00:00.245  STATE                   LOAD-SWITCH-STATE @ 4.04.2+fp+flambda
00:00.335  STATE                   Detected changed packages (marked for reinstall): { alcotest.0.7.2, asetmap.0.8.1, astring.0.8.3, base.v0.9.3, base-bytes.base, base-num.base, base64.2.2.0, bin_prot.v0.9.0, bos.0.1.6, cmdliner.1.0.0, conf-m4.1, conf-perl.1, conf-which.1, configurator.v0.9.1, core.v0.9.1, core_kernel.v0.9.0, depext.1.0.4, doc-ock.1.1.1, doc-ock-html.1.1.1, doc-ock-xml.1.1.0, fieldslib.v0.9.0, fmt.0.8.3, fpath.0.7.2, jane-street-headers.v0.9.0, jbuilder.1.0+beta10, js_of_ocaml.3.0, js_of_ocaml-compiler.3.0, jsonm.1.0.1, lambda-term.1.11, logs.0.6.2, merlin.2.5.5, mtime.1.1.0, num.0, ocaml-compiler-libs.v0.9.0, ocaml-manual.4.04.0, ocaml-migrate-parsetree.1.0.1, ocamlbuild.0.11.0, ocamlify.0.0.1, ocp-indent.1.6.0, ocp-index.1.1.5, ocp-index-top.0.4.1, octavius.1.1.0, odig.0.0.2, odoc.1.1.1, opam-core.2.0.0~beta3.1, opam-format.2.0.0~beta3.1, ppx_assert.v0.9.0, ppx_ast.v0.9.1, ppx_base.v0.9.0, ppx_bench.v0.9.1, ppx_bin_prot.v0.9.0, ppx_compare.v0.9.0, ppx_core.v0.9.0, ppx_custom_printf.v0.9.0, ppx_deriving.4.1, ppx_driver.v0.9.1, ppx_enumerate.v0.9.0, ppx_expect.v0.9.0, ppx_fail.v0.9.0, ppx_fields_conv.v0.9.0, ppx_hash.v0.9.0, ppx_here.v0.9.1, ppx_inline_test.v0.9.1, ppx_jane.v0.9.0, ppx_js_style.v0.9.0, ppx_let.v0.9.0, ppx_metaquot.v0.9.0, ppx_optcomp.v0.9.0, ppx_optional.v0.9.0, ppx_pipebang.v0.9.0, ppx_sexp_conv.v0.9.0, ppx_sexp_message.v0.9.0, ppx_sexp_value.v0.9.0, ppx_traverse.v0.9.0, ppx_traverse_builtins.v0.9.0, ppx_type_conv.v0.9.0, ppx_typerep_conv.v0.9.0, ppx_variants_conv.v0.9.0, react.1.2.1, result.1.2, rresult.0.5.0, sexplib.v0.9.1, spawn.v0.9.0, stdio.v0.9.0, topkg.0.9.0, tuareg.2.0.10, typerep.v0.9.0, uchar.0.0.1, user-setup.0.6, utop.2.0.1, uutf.1.0.1, variantslib.v0.9.0, webbrowser.0.6.1, xmlm.1.3.0, zed.1.5 }
00:00.337  STATE                   Switch state loaded in 0.092s
00:00.338  FILE(switch-state)      Wrote /home/user1/.opam/4.04.2+fp+flambda/.opam-switch/backup/state-20170710165828.export in 0.001s
+ uname "-m"
- x86_64
00:00.375  SYSTEM                  [log-4924-5a61c5] (in 0.028s) uname -m
00:00.380  GSTATE                  Failed to evaluate global variable sys-ocaml-version: "ocamlc": command not found.
00:00.454  CLIENT                  UPGRADE <all>
00:00.622  CLIENT                  Orphans: (changes: , transitive: true) -> full {}, versions {}
00:00.799  SOLVER                  resolve request=install:() remove:() upgrade:(zed & yojson & xmlm & webbrowser & variantslib & uutf & utop & user-setup & uchar & tyxml & typerep & tuareg & topkg & stdio & spawn & sexplib & sequence & sedlex & rresult & result & react & re & qtest & qcheck & ppx_variants_conv & ppx_typerep_conv & ppx_type_conv & ppx_traverse_builtins & ppx_traverse & ppx_tools_versioned & ppx_tools & ppx_sexp_value & ppx_sexp_message & ppx_sexp_conv & ppx_pipebang & ppx_optional & ppx_optcomp & ppx_metaquot & ppx_let & ppx_js_style & ppx_jane & ppx_inline_test & ppx_here & ppx_hash & ppx_fields_conv & ppx_fail & ppx_expect & ppx_enumerate & ppx_driver & ppx_deriving & ppx_custom_printf & ppx_core & ppx_compare & ppx_bin_prot & ppx_bench & ppx_base & ppx_ast & ppx_assert & ounit & opam-format & opam-file-format & opam-core & omake & odoc & odig & octavius & ocp-index-top & ocp-index & ocp-indent & ocp-build & ocamlmod & ocamlify & ocamlgraph & ocamlfind & ocamlbuild & ocaml-variants & ocaml-migrate-parsetree & ocaml-manual & ocaml-compiler-libs & ocaml & oasis & num & mtime & merlin & menhir & lwt_react & lwt & logs & lambda-term & jsonm & js_of_ocaml-compiler & js_of_ocaml & jbuilder & jane-street-headers & gen & fpath & fmt & fieldslib & extlib & easy-format & doc-ock-xml & doc-ock-html & doc-ock & depext & cudf & cppo & core_kernel & core & containers & configurator & conf-which & conf-perl & conf-m4 & cmdliner & camomile & camlp4 & bos & biniou & bin_prot & benchmark & batteries & base64 & base-unix & base-threads & base-num & base-bytes & base-bigarray & base & astring & asetmap & alcotest)
00:01.072  SOLVER                  Load cudf universe (depopts:false, build:true)
00:01.528  CUDF                    resolve request=install:() remove:() upgrade:(alcotest (>= 23) & asetmap (>= 2) & astring (>= 4) & base (>= 5) & base-bigarray (>= 1) & base-bytes (>= 1) & base-num (>= 1) & base-threads (>= 1) & base-unix (>= 1) & base64 (>= 6) & batteries (>= 14) & benchmark (>= 5) & bin%5fprot (>= 45) & biniou (>= 6) & bos (>= 7) & camlp4 (>= 16) & camomile (>= 3) & cmdliner (>= 10) & conf-m4 (>= 1) & conf-perl (>= 1) & conf-which (>= 1) & configurator (>= 3) & containers (>= 28) & core (>= 91) & core%5fkernel (>= 57) & cppo (>= 15) & cudf (>= 2) & depext (>= 15) & doc-ock (>= 3) & doc-ock-html (>= 3) & doc-ock-xml (>= 2) & easy-format (>= 4) & extlib (>= 9) & fieldslib (>= 27) & fmt (>= 6) & fpath (>= 3) & gen (>= 7) & jane-street-headers (>= 2) & jbuilder (>= 10) & js%5fof%5focaml (>= 23) & js%5fof%5focaml-compiler (>= 1) & jsonm (>= 3) & lambda-term (>= 10) & logs (>= 5) & lwt (>= 22) & lwt%5freact (>= 2) & menhir (>= 29) & merlin (>= 22) & mtime (>= 7) & num (>= 1) & oasis (>= 13) & ocaml (>= 44) & ocaml-compiler-libs (>= 2) & ocaml-manual (>= 4) & ocaml-migrate-parsetree (>= 6) & ocaml-variants (>= 154) & ocamlbuild (>= 6) & ocamlfind (>= 22) & ocamlgraph (>= 7) & ocamlify (>= 1) & ocamlmod (>= 4) & ocp-build (>= 16) & ocp-indent (>= 24) & ocp-index (>= 13) & ocp-index-top (>= 1) & octavius (>= 3) & odig (>= 2) & odoc (>= 3) & omake (>= 6) & opam-core (>= 4) & opam-file-format (>= 3) & opam-format (>= 4) & ounit (>= 4) & ppx%5fassert (>= 8) & ppx%5fast (>= 3) & ppx%5fbase (>= 2) & ppx%5fbench (>= 11) & ppx%5fbin%5fprot (>= 11) & ppx%5fcompare (>= 11) & ppx%5fcore (>= 12) & ppx%5fcustom%5fprintf (>= 10) & ppx%5fderiving (>= 14) & ppx%5fdriver (>= 15) & ppx%5fenumerate (>= 10) & ppx%5fexpect (>= 11) & ppx%5ffail (>= 10) & ppx%5ffields%5fconv (>= 10) & ppx%5fhash (>= 2) & ppx%5fhere (>= 10) & ppx%5finline%5ftest (>= 12) & ppx%5fjane (>= 8) & ppx%5fjs%5fstyle (>= 2) & ppx%5flet (>= 9) & ppx%5fmetaquot (>= 2) & ppx%5foptcomp (>= 12) & ppx%5foptional (>= 2) & ppx%5fpipebang (>= 10) & ppx%5fsexp%5fconv (>= 14) & ppx%5fsexp%5fmessage (>= 9) & ppx%5fsexp%5fvalue (>= 10) & ppx%5ftools (>= 9) & ppx%5ftools%5fversioned (>= 4) & ppx%5ftraverse (>= 2) & ppx%5ftraverse%5fbuiltins (>= 2) & ppx%5ftype%5fconv (>= 13) & ppx%5ftyperep%5fconv (>= 10) & ppx%5fvariants%5fconv (>= 10) & qcheck (>= 13) & qtest (>= 9) & re (>= 16) & react (>= 7) & result (>= 3) & rresult (>= 5) & sedlex (>= 4) & sequence (>= 24) & sexplib (>= 56) & spawn (>= 2) & stdio (>= 2) & topkg (>= 11) & tuareg (>= 4) & typerep (>= 21) & tyxml (>= 18) & uchar (>= 1) & user-setup (>= 6) & utop (>= 25) & uutf (>= 5) & variantslib (>= 22) & webbrowser (>= 2) & xmlm (>= 5) & yojson (>= 12) & zed (>= 4))
00:01.534  SOLVER                  Checking version of criteria accepted by the external solver
00:01.549  SYSTEM                  [log-4924-42bb52] (in 0.016s) aspcud -v
00:01.550  SOLVER                  Solver is aspcud > 1.9: using latest version criteria
00:01.550  CUDF                    Calling external solver with criteria -count(down),-count(removed),-notuptodate(solution),-sum(solution,version-lag),-count(new)
00:02.008  SYSTEM                  [log-4924-5f1023] (in 0.393s) aspcud /home/user1/.opam/log/solver-in-4924-9b8556 /home/user1/.opam/log/solver-out-4924-7afd23 -count(down),-count(removed),-notuptodate(solution),-sum(solution,version-lag),-count(new)
00:02.008  SYSTEM                  rm /home/user1/.opam/log/solver-in-4924-9b8556
00:02.012  SYSTEM                  rm /home/user1/.opam/log/solver-out-4924-7afd23
00:02.012  CUDF                    External solver call done in 0.462
00:02.070  SOLVER                  Load cudf universe (depopts:false, build:true)
00:02.552  SOLVER                  Load cudf universe (depopts:true, build:false)
00:03.035  SOLVER                  Load cudf universe (depopts:true, build:true)
00:03.617  CUDF                    graph_of_actions root_actions={  - remove zed (= 4),  - remove xmlm (= 5),  - remove webbrowser (= 2),  - remove variantslib (= 22),  - remove uutf (= 5),  - remove utop (= 25),  - remove user-setup (= 6),  - remove uchar (= 1),  - remove typerep (= 21),  - remove tuareg (= 4),  - remove topkg (= 11),  - remove stdio (= 2),  - remove spawn (= 2),  - remove sexplib (= 56),  - remove rresult (= 5),  - remove result (= 3),  - remove react (= 7),  - remove ppx_variants_conv (= 10),  - remove ppx_typerep_conv (= 10),  - remove ppx_type_conv (= 13),  - remove ppx_traverse_builtins (= 2),  - remove ppx_traverse (= 2),  - remove ppx_sexp_value (= 10),  - remove ppx_sexp_message (= 9),  - remove ppx_sexp_conv (= 14),  - remove ppx_pipebang (= 10),  - remove ppx_optional (= 2),  - remove ppx_optcomp (= 12),  - remove ppx_metaquot (= 2),  - remove ppx_let (= 9),  - remove ppx_js_style (= 2),  - remove ppx_jane (= 8),  - remove ppx_inline_test (= 12),  - remove ppx_here (= 10),  - remove ppx_hash (= 2),  - remove ppx_fields_conv (= 10),  - remove ppx_fail (= 10),  - remove ppx_expect (= 11),  - remove ppx_enumerate (= 10),  - remove ppx_driver (= 15),  - remove ppx_deriving (= 14),  - remove ppx_custom_printf (= 10),  - remove ppx_core (= 12),  - remove ppx_compare (= 11),  - remove ppx_bin_prot (= 11),  - remove ppx_bench (= 11),  - remove ppx_base (= 2),  - remove ppx_ast (= 3),  - remove ppx_assert (= 8),  - remove opam-format (= 4),  - remove opam-core (= 4),  - remove odoc (= 3),  - remove odig (= 2),  - remove octavius (= 3),  - remove ocp-index-top (= 1),  - remove ocp-index (= 13),  - remove ocp-indent (= 24),  - remove ocamlify (= 1),  - remove ocamlbuild (= 6),  - remove ocaml-migrate-parsetree (= 6),  - remove ocaml-manual (= 4),  - remove ocaml-compiler-libs (= 2),  - remove num (= 1),  - remove mtime (= 7),  - remove merlin (= 22),  - remove logs (= 5),  - remove lambda-term (= 10),  - remove jsonm (= 3),  - remove js_of_ocaml-compiler (= 1),  - remove js_of_ocaml (= 23),  - remove jbuilder (= 10),  - remove jane-street-headers (= 2),  - remove fpath (= 3),  - remove fmt (= 6),  - remove fieldslib (= 27),  - remove doc-ock-xml (= 2),  - remove doc-ock-html (= 3),  - remove doc-ock (= 3),  - remove depext (= 15),  - remove core_kernel (= 57),  - remove core (= 91),  - remove configurator (= 3),  - remove conf-which (= 1),  - remove conf-perl (= 1),  - remove conf-m4 (= 1),  - remove cmdliner (= 10),  - remove bos (= 7),  - remove bin_prot (= 45),  - remove base64 (= 6),  - remove base-num (= 1),  - remove base-bytes (= 1),  - remove base (= 5),  - remove astring (= 4),  - remove asetmap (= 2),  - remove alcotest (= 23),  - install zed (= 4),  - install xmlm (= 5),  - install webbrowser (= 2),  - install variantslib (= 22),  - install uutf (= 5),  - install utop (= 25),  - install user-setup (= 6),  - install uchar (= 1),  - install typerep (= 21),  - install tuareg (= 4),  - install topkg (= 11),  - install stdio (= 2),  - install spawn (= 2),  - install sexplib (= 56),  - install rresult (= 5),  - install result (= 3),  - install react (= 7),  - install ppx_variants_conv (= 10),  - install ppx_typerep_conv (= 10),  - install ppx_type_conv (= 13),  - install ppx_traverse_builtins (= 2),  - install ppx_traverse (= 2),  - install ppx_sexp_value (= 10),  - install ppx_sexp_message (= 9),  - install ppx_sexp_conv (= 14),  - install ppx_pipebang (= 10),  - install ppx_optional (= 2),  - install ppx_optcomp (= 12),  - install ppx_metaquot (= 2),  - install ppx_let (= 9),  - install ppx_js_style (= 2),  - install ppx_jane (= 8),  - install ppx_inline_test (= 12),  - install ppx_here (= 10),  - install ppx_hash (= 2),  - install ppx_fields_conv (= 10),  - install ppx_fail (= 10),  - install ppx_expect (= 11),  - install ppx_enumerate (= 10),  - install ppx_driver (= 15),  - install ppx_deriving (= 14),  - install ppx_custom_printf (= 10),  - install ppx_core (= 12),  - install ppx_compare (= 11),  - install ppx_bin_prot (= 11),  - install ppx_bench (= 11),  - install ppx_base (= 2),  - install ppx_ast (= 3),  - install ppx_assert (= 8),  - install opam-format (= 4),  - install opam-core (= 4),  - install odoc (= 3),  - install odig (= 2),  - install octavius (= 3),  - install ocp-index-top (= 1),  - install ocp-index (= 13),  - install ocp-indent (= 24),  - install ocamlify (= 1),  - install ocamlbuild (= 6),  - install ocaml-migrate-parsetree (= 6),  - install ocaml-manual (= 4),  - install ocaml-compiler-libs (= 2),  - install num (= 1),  - install mtime (= 7),  - install merlin (= 22),  - install logs (= 5),  - install lambda-term (= 10),  - install jsonm (= 3),  - install js_of_ocaml-compiler (= 1),  - install js_of_ocaml (= 23),  - install jbuilder (= 10),  - install jane-street-headers (= 2),  - install fpath (= 3),  - install fmt (= 6),  - install fieldslib (= 27),  - install doc-ock-xml (= 2),  - install doc-ock-html (= 3),  - install doc-ock (= 3),  - install depext (= 15),  - install core_kernel (= 57),  - install core (= 91),  - install configurator (= 3),  - install conf-which (= 1),  - install conf-perl (= 1),  - install conf-m4 (= 1),  - install cmdliner (= 10),  - install bos (= 7),  - install bin_prot (= 45),  - install base64 (= 6),  - install base-num (= 1),  - install base-bytes (= 1),  - install base (= 5),  - install astring (= 4),  - install asetmap (= 2),  - install alcotest (= 23) }
00:03.648  SOLUTION                apply
The following actions will be performed:
  - recompile base-bytes              base              [upstream changes]
  - recompile ocaml-manual            4.04.0            [upstream changes]
  - recompile result                  1.2               [upstream changes]
  - recompile base-num                base              [upstream changes]
  - recompile conf-m4                 1                 [upstream changes]
  - recompile depext                  1.0.4             [upstream changes]
  - recompile ocamlbuild              0.11.0            [upstream changes]
  - recompile conf-which              1                 [upstream changes]
  - recompile jbuilder                1.0+beta10        [upstream changes]
  - recompile conf-perl               1                 [upstream changes]
  - recompile qcheck                  0.6               [uses base-bytes]
  - recompile num                     0                 [upstream changes]
  - recompile uchar                   0.0.1             [upstream changes]
  - recompile topkg                   0.9.0             [upstream changes]
  - recompile sequence                0.10              [uses base-bytes, ocamlbuild]
  - recompile re                      1.7.1             [uses base-bytes, ocamlbuild]
  - recompile ocamlify                0.0.1             [upstream changes]
  - recompile cppo                    1.5.0             [uses base-bytes, ocamlbuild]
  - recompile spawn                   v0.9.0            [upstream changes]
  - recompile ppx_traverse_builtins   v0.9.0            [upstream changes]
  - recompile ocaml-migrate-parsetree 1.0.1             [upstream changes]
  - recompile ocaml-compiler-libs     v0.9.0            [upstream changes]
  - recompile jane-street-headers     v0.9.0            [upstream changes]
  - recompile base64                  2.2.0             [upstream changes]
  - recompile qtest                   2.6               [uses ocamlbuild]
  - recompile sexplib                 v0.9.1            [upstream changes]
  - recompile batteries               2.6.0             [uses num, ocamlbuild]
  - recompile xmlm                    1.3.0             [upstream changes]
  - recompile rresult                 0.5.0             [upstream changes]
  - recompile react                   1.2.1             [upstream changes]
  - recompile octavius                1.1.0             [upstream changes]
  - recompile cmdliner                1.0.0             [upstream changes]
  - recompile astring                 0.8.3             [upstream changes]
  - recompile asetmap                 0.8.1             [upstream changes]
  - recompile oasis                   0.4.10            [uses ocamlbuild, ocamlify]
  - recompile yojson                  1.3.3             [uses cppo]
  - recompile ppx_deriving            4.1               [upstream changes]
  - recompile lwt                     3.0.0             [uses ocamlbuild, result]
  - recompile containers              1.2               [uses ocamlbuild, base-bytes, result]
  - recompile ppx_tools_versioned     5.0.1             [uses ocaml-migrate-parsetree]
  - recompile ppx_ast                 v0.9.1            [upstream changes]
  - recompile base                    v0.9.3            [upstream changes]
  - recompile zed                     1.5               [upstream changes]
  - recompile doc-ock                 1.1.1             [upstream changes]
  - recompile uutf                    1.0.1             [upstream changes]
  - recompile ocp-indent              1.6.0             [upstream changes]
  - recompile fmt                     0.8.3             [upstream changes]
  - recompile fpath                   0.7.2             [upstream changes]
  - recompile merlin                  2.5.5             [upstream changes]
  - recompile js_of_ocaml-compiler    3.0               [upstream changes]
  - recompile lwt_react               1.0.1             [uses react]
  - recompile typerep                 v0.9.0            [upstream changes]
  - recompile stdio                   v0.9.0            [upstream changes]
  - recompile doc-ock-xml             1.1.0             [upstream changes]
  - recompile tyxml                   4.1.0             [uses uchar, base-bytes, ocamlbuild, uutf]
       For tyxml's ppx, please install tyxml-ppx.
  - recompile jsonm                   1.0.1             [upstream changes]
  - recompile alcotest                0.7.2             [upstream changes]
  - recompile tuareg                  2.0.10            [upstream changes]
  - recompile js_of_ocaml             3.0               [upstream changes]
  - recompile lambda-term             1.11              [upstream changes]
  - recompile ppx_core                v0.9.0            [upstream changes]
  - recompile doc-ock-html            1.1.1             [upstream changes]
  - recompile opam-core               2.0.0~beta3.1     [upstream changes]
  - recompile mtime                   1.1.0             [upstream changes]
  - recompile logs                    0.6.2             [upstream changes]
  - recompile utop                    2.0.1             [upstream changes]
  - recompile ocp-index               1.1.5             [upstream changes]
  - recompile ppx_optcomp             v0.9.0            [upstream changes]
  - recompile opam-format             2.0.0~beta3.1     [upstream changes]
  - recompile bos                     0.1.6             [upstream changes]
  - recompile user-setup              0.6               [upstream changes]
  - recompile ocp-index-top           0.4.1             [upstream changes]
  - recompile ppx_driver              v0.9.1            [upstream changes]
  - recompile webbrowser              0.6.1             [upstream changes]
  - recompile odoc                    1.1.1             [upstream changes]
  - recompile variantslib             v0.9.0            [upstream changes]
  - recompile ppx_metaquot            v0.9.0            [upstream changes]
  - recompile ppx_let                 v0.9.0            [upstream changes]
  - recompile ppx_here                v0.9.1            [upstream changes]
  - recompile fieldslib               v0.9.0            [upstream changes]
  - recompile odig                    0.0.2             [upstream changes]
  - recompile ppx_type_conv           v0.9.0            [upstream changes]
  - recompile ppx_pipebang            v0.9.0            [upstream changes]
  - recompile ppx_optional            v0.9.0            [upstream changes]
  - recompile ppx_js_style            v0.9.0            [upstream changes]
  - recompile ppx_inline_test         v0.9.1            [upstream changes]
  - recompile ppx_fail                v0.9.0            [upstream changes]
  - recompile ppx_variants_conv       v0.9.0            [upstream changes]
  - recompile ppx_typerep_conv        v0.9.0            [upstream changes]
  - recompile ppx_traverse            v0.9.0            [upstream changes]
  - recompile ppx_sexp_conv           v0.9.0            [upstream changes]
  - recompile ppx_fields_conv         v0.9.0            [upstream changes]
  - recompile ppx_enumerate           v0.9.0            [upstream changes]
  - recompile ppx_compare             v0.9.0            [upstream changes]
  - recompile ppx_bench               v0.9.1            [upstream changes]
  - recompile ppx_sexp_value          v0.9.0            [upstream changes]
  - recompile ppx_sexp_message        v0.9.0            [upstream changes]
  - recompile ppx_custom_printf       v0.9.0            [upstream changes]
  - recompile ppx_hash                v0.9.0            [upstream changes]
  - recompile ppx_assert              v0.9.0            [upstream changes]
  - recompile bin_prot                v0.9.0            [upstream changes]
  - recompile ppx_base                v0.9.0            [upstream changes]
  - recompile ppx_expect              v0.9.0            [upstream changes]
  - recompile ppx_bin_prot            v0.9.0            [upstream changes]
  - recompile configurator            v0.9.1            [upstream changes]
  - recompile ppx_jane                v0.9.0            [upstream changes]
  - recompile core_kernel             v0.9.0            [upstream changes]
  - recompile core                    v0.9.1            [upstream changes]
===== 108 to recompile =====
Do you want to continue ? [Y/n]
AltGr commented 7 years ago

Hmm, so opam did detect changes in all of your installed packages. This normally happens only if the hash for their sources changed, or the package definition changed in a meaningful way (e.g. build instructions, but not maintainer).

00:00.335  STATE                   Detected changed packages (marked for reinstall): { alcotest.0.7.2, asetmap.0.8.1, astring.0.8.3, base.v0.9.3, base-bytes.base, base-num.base, base64.2.2.0, bin_prot.v0.9.0, bos.0.1.6, cmdliner.1.0.0, conf-m4.1, conf-perl.1, conf-which.1, configurator.v0.9.1, core.v0.9.1, core_kernel.v0.9.0, depext.1.0.4, doc-ock.1.1.1, doc-ock-html.1.1.1, doc-ock-xml.1.1.0, fieldslib.v0.9.0, fmt.0.8.3, fpath.0.7.2, jane-street-headers.v0.9.0, jbuilder.1.0+beta10, js_of_ocaml.3.0, js_of_ocaml-compiler.3.0, jsonm.1.0.1, lambda-term.1.11, logs.0.6.2, merlin.2.5.5, mtime.1.1.0, num.0, ocaml-compiler-libs.v0.9.0, ocaml-manual.4.04.0, ocaml-migrate-parsetree.1.0.1, ocamlbuild.0.11.0, ocamlify.0.0.1, ocp-indent.1.6.0, ocp-index.1.1.5, ocp-index-top.0.4.1, octavius.1.1.0, odig.0.0.2, odoc.1.1.1, opam-core.2.0.0~beta3.1, opam-format.2.0.0~beta3.1, ppx_assert.v0.9.0, ppx_ast.v0.9.1, ppx_base.v0.9.0, ppx_bench.v0.9.1, ppx_bin_prot.v0.9.0, ppx_compare.v0.9.0, ppx_core.v0.9.0, ppx_custom_printf.v0.9.0, ppx_deriving.4.1, ppx_driver.v0.9.1, ppx_enumerate.v0.9.0, ppx_expect.v0.9.0, ppx_fail.v0.9.0, ppx_fields_conv.v0.9.0, ppx_hash.v0.9.0, ppx_here.v0.9.1, ppx_inline_test.v0.9.1, ppx_jane.v0.9.0, ppx_js_style.v0.9.0, ppx_let.v0.9.0, ppx_metaquot.v0.9.0, ppx_optcomp.v0.9.0, ppx_optional.v0.9.0, ppx_pipebang.v0.9.0, ppx_sexp_conv.v0.9.0, ppx_sexp_message.v0.9.0, ppx_sexp_value.v0.9.0, ppx_traverse.v0.9.0, ppx_traverse_builtins.v0.9.0, ppx_type_conv.v0.9.0, ppx_typerep_conv.v0.9.0, ppx_variants_conv.v0.9.0, react.1.2.1, result.1.2, rresult.0.5.0, sexplib.v0.9.1, spawn.v0.9.0, stdio.v0.9.0, topkg.0.9.0, tuareg.2.0.10, typerep.v0.9.0, uchar.0.0.1, user-setup.0.6, utop.2.0.1, uutf.1.0.1, variantslib.v0.9.0, webbrowser.0.6.1, xmlm.1.3.0, zed.1.5 }

That might be due to changes in the way the 1.2⇒2.0 repository rewrite is done (what repository do you use ?), but surely the reinstalls shoud be done only once.

You can check and manage pending reinstalls using:

opam reinstall --pending
opam reinstall --list-pending
opam reinstall --forget-pending
bikallem commented 7 years ago

Indeed, these commands seem to have fixed the issue. Thanks.

opam reinstall --pending opam reinstall --list-pending opam reinstall --forget-pending Thanks.