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

Unneccesary reinstallation of a bunch of packages on install of unrelated package #5516

Closed
rand00 opened this issue Apr 19, 2023 · 2 comments

Comments

@rand00
Copy link

rand00 commented Apr 19, 2023

I've seen it happen before when I install a package - what is the reason that the following actions lead to a reinstall of a whole bunch of unrelated packages?

$ opam update
$ opam install csv
The following actions will be performed:
  ↻ recompile conf-libssl                 4        [upstream or system changes]
  ↻ recompile ocaml                       4.14.0   [upstream or system changes]
  ↻ recompile seq                         base     [uses ocaml]
  ↻ recompile ocamlfind                   1.9.5    [upstream or system changes]
  ↻ recompile ocamlbuild                  0.14.2   [uses ocaml]
  ↻ recompile dune                        3.6.1    [upstream or system changes]
  ↻ recompile cmdliner                    1.1.1    [uses ocaml]
  ↻ recompile zarith                      1.12     [uses ocaml, ocamlfind]
  ↻ recompile num                         1.4      [uses ocaml, ocamlfind]
  ↻ recompile base-bytes                  base     [uses ocaml, ocamlfind]
  ↻ recompile uchar                       0.0.2    [uses ocaml]
  ↻ recompile topkg                       1.0.6    [upstream or system changes]
  ↻ recompile trie                        1.0.0    [uses dune, ocaml]
  ↻ recompile stringext                   1.6.0    [uses dune, ocaml]
  ↻ recompile stdlib-shims                0.3.0    [uses dune, ocaml]
  ↻ recompile stdint                      0.7.2    [uses dune, ocaml]
  ↻ recompile spawn                       v0.15.1  [uses dune, ocaml]
  ↻ recompile sexplib0                    v0.15.1  [uses dune, ocaml]
  ↻ recompile result                      1.5      [uses dune, ocaml]
  ↻ recompile re                          1.10.4   [uses dune, ocaml]
  ↻ recompile ppx_derivers                1.2.1    [uses dune, ocaml]
  ↻ recompile ocaml-syntax-shims          1.0.0    [uses dune, ocaml]
  ↻ recompile ocaml-compiler-libs         v0.12.4  [uses dune, ocaml]
  ↻ recompile menhirSdk                   20220210 [uses dune, ocaml]
  ↻ recompile menhirLib                   20220210 [uses dune, ocaml]
  ↻ recompile memtrace                    0.2.3    [uses dune, ocaml]
  ↻ recompile magic-mime                  1.3.0    [uses dune, ocaml]
  ↻ recompile macaddr                     5.3.1    [uses dune, ocaml]
  ↻ recompile jane-street-headers         v0.15.0  [uses dune, ocaml]
  ↻ recompile either                      1.0.0    [uses dune]
  ↻ recompile easy-format                 1.3.4    [uses dune, ocaml]
  ↻ recompile domain-name                 0.4.0    [uses dune, ocaml]
  ↻ recompile csexp                       1.5.1    [uses dune, ocaml]
  ↻ recompile cppo                        1.6.9    [uses dune, ocaml]
  ↻ recompile camomile                    1.0.2    [uses dune, ocaml]
  ↻ recompile camlp-streams               5.0.1    [uses dune, ocaml]
  ↻ recompile bigstringaf                 0.9.0    [uses dune, ocaml]
  ↻ recompile bigarray-compat             1.1.0    [uses dune, ocaml]
  ∗ install   csv                         2.4
  ↻ recompile ocp-indent                  1.8.1    [uses ocaml, dune, ocamlfind]
  ↻ recompile base64                      3.5.0    [uses dune, ocaml]
  ↻ recompile uutf                        1.0.3    [uses ocamlfind, ocaml, topkg]
  ↻ recompile rresult                     0.7.0    [uses ocamlfind, ocaml, topkg]
  ↻ recompile react                       1.2.2    [uses ocamlfind, ocaml, topkg]
  ↻ recompile ptime                       1.0.0    [uses ocamlfind, ocaml, topkg]
  ↻ recompile gg                          1.0.0    [uses ocamlfind, ocaml, topkg]
  ↻ recompile fmt                         0.9.0    [uses ocamlfind, ocaml, topkg]
  ↻ recompile astring                     0.8.5    [uses ocamlfind, ocaml, topkg]
  ↻ recompile integers                    0.7.0    [uses dune, ocaml]
  ↻ recompile mew                         0.1.0    [uses dune, ocaml]
  ↻ recompile ppxlib                      0.28.0   [uses dune, ocaml]
  ↻ recompile menhir                      20220210 [uses dune, ocaml]
  ↻ recompile ipaddr                      5.3.1    [uses dune, ocaml]
  ↻ recompile merlin-lib                  4.7-414  [uses dune, ocaml]
  ↻ recompile dune-configurator           3.6.1    [uses dune, ocaml]
  ↻ recompile yojson                      2.0.2    [uses dune, ocaml]
  ↻ recompile ocplib-endian               1.2      [uses dune, ocaml]
  ↻ recompile charInfo_width              1.1.0    [uses dune, ocaml]
  ↻ recompile biniou                      1.2.2    [uses dune, ocaml]
  ↻ recompile angstrom                    0.15.0   [uses dune, ocaml]
  ↻ recompile mmap                        1.2.0    [uses dune, ocaml]
  ↻ recompile uucp                        15.0.0   [uses ocamlfind, ocaml, topkg]
  ↻ recompile tyxml                       4.5.0    [uses dune, ocaml]
  ↻ recompile markup                      1.0.3    [uses dune, ocaml]
  ↻ recompile jsonm                       1.0.1    [uses ocamlfind, ocaml, topkg]
  ↻ recompile cstruct                     6.1.1    [uses dune, ocaml]
  ↻ recompile fpath                       0.7.3    [uses ocamlfind, ocaml, topkg]
  ↻ recompile ctypes                      0.20.1   [upstream or system changes]
  ↻ recompile mew_vi                      0.5.0    [uses dune, ocaml]
  ↻ recompile ppx_pipebang                v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_ignore_instrumentation  v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_deriving                5.2.1    [upstream or system changes]
  ↻ recompile dot-merlin-reader           4.6      [uses ocaml, dune, ocamlfind]
  ↻ recompile zmq                         5.2.1    [uses dune, ocaml]
  ↻ recompile pcre                        7.5.0    [uses dune, ocaml]
  ↻ recompile ocaml_intrinsics            v0.15.2  [uses dune, ocaml]
  ↻ recompile gen                         1.0      [uses dune, ocaml]
  ↻ recompile cryptokit                   1.17     [uses dune, ocaml]
  ↻ recompile containers                  3.10     [upstream or system changes]
  ↻ recompile base                        v0.15.1  [uses dune, ocaml]
  ↻ recompile js_of_ocaml-compiler        4.1.0    [uses ocaml, dune, ocamlfind]
  ↻ recompile osc                         0.2.0*   [uses dune, ocaml]
  ↻ recompile lwt                         5.6.1    [uses dune, ocaml]
  ↻ recompile uri                         4.2.0    [uses dune, ocaml]
  ↻ recompile uuseg                       15.0.0   [uses ocamlfind, ocaml, topkg]
  ↻ recompile lambdasoup                  0.7.3    [uses dune, ocaml]
  ↻ recompile hex                         1.5.0    [uses dune, ocaml]
  ↻ recompile eqaf                        0.9      [uses dune, ocaml]
  ↻ recompile tsdl                        0.9.9    [uses ocamlfind, ctypes, ocaml, topkg]
  ↻ recompile tgls                        0.8.6    [uses ocamlfind, ctypes, ocaml, topkg]
  ↻ recompile ppx_deriving_yojson         3.7.0*   [uses ocaml, dune, ppx_deriving]
  ↻ recompile merlin                      4.7-414  [uses dune, ocaml]
  ↻ recompile sedlex                      3.0      [uses dune, ocaml]
  ↻ recompile containers-data             3.10     [uses dune, containers, ocaml]
  ↻ recompile variantslib                 v0.15.0  [uses dune, ocaml]
  ↻ recompile typerep                     v0.15.0  [uses dune, ocaml]
  ↻ recompile stdio                       v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_stable                  v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_sexp_conv               v0.15.1  [uses dune, ocaml]
  ↻ recompile ppx_optional                v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_here                    v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_fixed_literal           v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_enumerate               v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_disable_unused_warnings v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_compare                 v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_cold                    v0.15.0  [uses dune, ocaml]
  ↻ recompile parsexp                     v0.15.0  [uses dune, ocaml]
  ↻ recompile fieldslib                   v0.15.0  [uses dune, ocaml]
  ↻ recompile ojs                         1.1.1    [uses dune, ocaml]
  ↻ recompile js_of_ocaml                 4.1.0    [uses dune, ocaml]
  ↻ recompile osc-unix                    0.2.0*   [uses dune, ocaml]
  ↻ recompile zmq-lwt                     5.2.1    [uses dune, ocaml]
  ↻ recompile osc-lwt                     0.2.0*   [uses dune, ocaml]
  ↻ recompile notty                       0.2.3    [uses dune, ocaml]
  ↻ recompile lwt_react                   1.2.0    [uses dune, ocaml]
  ↻ recompile lwt_log                     1.1.2    [uses dune, ocaml]
  ↻ recompile zed                         3.2.1    [uses dune, ocaml]
  ↻ recompile ezjsonm                     1.3.0    [uses dune, ocaml]
  ↻ recompile digestif                    1.1.3    [uses dune, ocaml]
  ↻ recompile tuareg                      3.0.1    [uses ocaml]
  ↻ recompile ppx_variants_conv           v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_typerep_conv            v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_optcomp                 v0.15.0  [uses dune, ocaml]
  ↻ recompile uri-sexp                    4.2.0    [uses dune]
  ↻ recompile ppx_custom_printf           v0.15.0  [uses dune, ocaml]
  ↻ recompile ipaddr-sexp                 5.3.1    [uses dune, ocaml]
  ↻ recompile ppx_sexp_value              v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_sexp_message            v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_let                     v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_hash                    v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_assert                  v0.15.0  [uses dune, ocaml]
  ↻ recompile sexplib                     v0.15.1  [uses dune, ocaml]
  ↻ recompile ppx_fields_conv             v0.15.0  [uses dune, ocaml]
  ↻ recompile gen_js_api                  1.1.1    [uses dune, ocaml]
  ↻ recompile logs                        0.7.0    [uses ocamlfind, ocaml, topkg]
  ↻ recompile js_of_ocaml-ppx             4.1.0    [uses dune, ocaml]
  ↻ recompile cohttp                      5.0.0    [uses dune, ocaml]
  ↻ recompile ppx_pattern_bind            v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_base                    v0.15.0  [uses dune, ocaml]
  ↻ recompile jst-config                  v0.15.1  [uses dune, ocaml]
  ↻ recompile ppx_log                     v0.15.0  [uses dune, ocaml]
  ↻ recompile ezjsonm-lwt                 1.3.0    [uses dune, ocaml]
  ↻ recompile bin_prot                    v0.15.0  [uses dune, ocaml]
  ↻ recompile lambda-term                 3.3.1    [uses dune, ocaml]
  ↻ recompile conduit                     6.0.1    [uses dune, ocaml]
  ↻ recompile bos                         0.2.1    [uses ocamlfind, ocaml, topkg]
  ↻ recompile sexp_pretty                 v0.15.1  [uses dune, ocaml]
  ↻ recompile ppx_string                  v0.15.0  [uses dune, ocaml]
  ↻ recompile time_now                    v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_bin_prot                v0.15.0  [uses dune, ocaml]
  ↻ recompile utop                        2.10.0   [uses ocaml, dune, ocamlfind]
  ↻ recompile ppx_module_timer            v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_inline_test             v0.15.0  [upstream or system changes]
  ↻ recompile ppx_expect                  v0.15.1  [uses ocaml, dune, ppx_inline_test]
  ↻ recompile ppx_bench                   v0.15.0  [upstream or system changes]
  ↻ recompile splittable_random           v0.15.0  [uses ppx_bench, dune, ocaml, ppx_inline_test]
  ↻ recompile base_quickcheck             v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_jane                    v0.15.0  [uses ppx_bench, dune, ocaml, ppx_inline_test]
  ↻ recompile record_builder              v0.15.0  [uses dune, ocaml]
  ↻ recompile int_repr                    v0.15.0  [uses dune, ocaml]
  ↻ recompile abstract_algebra            v0.15.0  [uses dune, ocaml]
  ↻ recompile profunctor                  v0.15.0  [uses dune, ocaml]
  ↻ recompile base_bigstring              v0.15.0  [uses dune, ocaml]
  ↻ recompile core                        v0.15.1  [uses ocaml, dune, ppx_inline_test]
  ↻ recompile virtual_dom                 v0.15.1  [uses dune, ocaml]
  ↻ recompile timezone                    v0.15.0  [uses dune, ocaml]
  ↻ recompile textutils_kernel            v0.15.0  [uses dune, ocaml]
  ↻ recompile protocol_version_header     v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_typed_fields            v0.15.0  [uses dune, ocaml]
  ↻ recompile patience_diff               v0.15.0  [uses dune, ocaml]
  ↻ recompile fuzzy_match                 v0.15.0  [uses dune, ocaml]
  ↻ recompile expect_test_helpers_core    v0.15.0  [uses dune, ocaml]
  ↻ recompile core_kernel                 v0.15.0  [uses dune, ocaml]
  ↻ recompile ppx_css                     v0.15.1  [uses dune, ocaml]
  ↻ recompile incremental                 v0.15.0  [uses dune, ocaml]
  ↻ recompile core_unix                   v0.15.2  [uses dune, ocaml]
  ↻ recompile async_kernel                v0.15.0  [uses dune, ocaml]
  ↻ recompile incr_select                 v0.15.0  [uses dune, ocaml]
  ↻ recompile incr_map                    v0.15.0  [uses dune, ocaml]
  ↻ recompile textutils                   v0.15.0  [uses dune, ocaml]
  ↻ recompile patdiff                     v0.15.0  [uses dune, ocaml]
  ↻ recompile async_unix                  v0.15.0  [uses dune, ocaml]
  ↻ recompile async_rpc_kernel            v0.15.0  [uses dune, ocaml]
  ↻ recompile async_extra                 v0.15.0  [uses dune, ocaml]
  ↻ recompile core_bench                  v0.15.0  [uses dune, ocaml]
  ↻ recompile async_js                    v0.15.1  [uses dune, ocaml]
  ↻ recompile async                       v0.15.0  [uses dune, ocaml]
  ↻ recompile incr_dom                    v0.15.1  [uses dune, ocaml]
  ↻ recompile ocaml-embed-file            v0.15.0  [uses dune, ocaml]
  ↻ recompile async_websocket             v0.15.0  [uses dune, ocaml]
  ↻ recompile async_ssl                   v0.15.0  [uses dune, conf-libssl, ctypes, ocaml]
  ↻ recompile conduit-async               6.0.1    [uses dune, ocaml]
  ↻ recompile cohttp-async                5.0.0    [uses dune, ocaml]
  ↻ recompile cohttp_async_websocket      v0.15.0  [uses dune, ocaml]
  ↻ recompile async_rpc_websocket         v0.15.0  [uses dune, ocaml]
  ↻ recompile bonsai                      v0.15.1  [uses dune, ocaml]
  ↻ recompile memtrace_viewer             v0.15.0  [uses dune, ocaml]
===== ∗ 1   ↻ 196 =====
Do you want to continue? [Y/n] y
> opam config report
# opam config report
# opam-version         2.1.4 
# self-upgrade         no
# system               arch=x86_64 os=linux os-distribution=arch os-version=rolling
# 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                 5
# repositories         1 (http), 4 (version-controlled) (default repo at 140feee5)
# pinned               5 (git)
# current-switch       4.14.0+options
# ocaml:native         true
# ocaml:native-tools   true
# ocaml:native-dynlink true
# ocaml:stubsdir       /home/rand/.opam/4.14.0+options/lib/ocaml/stublibs:/home/rand/.opam/4.14.0+options/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       4.14.0+options+flambda
@kit-ty-kate
Copy link
Member

Sorry for the trouble, this is already fixed in master.
You can read on the reason why and the possible ways to fix it in #5506

@rand00
Copy link
Author

rand00 commented Apr 19, 2023

Okay thanks

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

2 participants