I have ocamlfind 1.7.3 installed and almost any install action with opam results in opam wanting to perform a ton of removals and insisting on downgrading findlib. I can’t really understand why this is the case, but I can’t be the only one running into this. Any help is appreciated.
% opam install shexp
The following actions will be performed:
⊘ remove duration 0.1.0 [conflicts with ocamlfind]
⊘ remove ppx_tools_versioned 5.0.1 [conflicts with ocamlfind]
⊘ remove websocket 2.9 [uses async]
⊘ remove alcotest 0.7.2 [conflicts with ocamlfind]
⊘ remove mirage-stack 1.0.0 [conflicts with ocamlfind]
⊘ remove iocaml-kernel 0.4.8 [conflicts with ocamlfind]
⊘ remove tyxml 4.1.0 [conflicts with ocamlfind]
⊘ remove mirage-kv 1.1.0 [uses fmt]
⊘ remove topkg-jbuilder 0.1.0 [uses topkg]
⊘ remove mirage-clock-lwt 1.2.0 [conflicts with ocamlfind]
⊘ remove mirage-console 2.3.0 [uses mirage-flow]
⊘ remove cow 2.2.0 [conflicts with ocamlfind]
⊘ remove ptime 0.8.3 [conflicts with ocamlfind]
⊘ remove topkg-care 0.9.0 [conflicts with ocamlfind]
⊘ remove zarith 1.5 [conflicts with ocamlfind]
⊘ remove mirage-no-xen 1
⊘ remove bisect_ppx 1.2.0 [conflicts with ocamlfind]
⊘ remove merlin-extend 0.3 [conflicts with ocamlfind]
⊘ remove reactiveData 0.2.1 [conflicts with ocamlfind]
⊘ remove merlin 3.0.0* [conflicts with ocamlfind]
⊘ remove mirage-block 1.1.0 [conflicts with ocamlfind]
⊘ remove mirage-fs 1.1.0 [uses fmt]
⊘ remove hashcons 1.2 [conflicts with ocamlfind]
⊘ remove mirage-no-solo5 1
⊘ remove oasis 0.4.10 [conflicts with ocamlfind]
⊘ remove mirage-time-lwt 1.0.0 [conflicts with ocamlfind]
⊘ remove mirage-channel-lwt 3.0.0 [conflicts with ocamlfind]
⊘ remove mirage-net 1.1.0 [uses fmt]
⊘ remove cpuid 0.1.1 [conflicts with ocamlfind]
⊘ remove utop 2.0.1 [conflicts with ocamlfind]
⊘ remove cohttp 0.22.0 [uses async]
⊘ remove mirage-protocols 1.1.0 [conflicts with ocamlfind]
⊘ remove uuidm 0.9.6 [conflicts with ocamlfind]
⊘ remove uint 1.2.0 [conflicts with ocamlfind]
⊘ remove ounit 2.0.0 [conflicts with ocamlfind]
⊘ remove optcomp 1.6 [conflicts with ocamlfind]
⊘ remove ocp-index 1.1.5 [uses cmdliner, ocp-build]
⊘ remove ctypes 0.12.0 [conflicts with ocamlfind]
⊘ remove conf-zmq 0.1
⊘ remove atdgen 1.10.2 [uses biniou]
⊘ remove xmlm 1.3.0 [conflicts with ocamlfind]
⊘ remove omd 1.3.0 [conflicts with ocamlfind]
⊘ remove ezjsonm 0.5.0 [conflicts with ocamlfind]
⊘ remove webbrowser 0.6.1 [conflicts with ocamlfind]
⊘ remove opam-format 2.0.0~beta3.1 [uses opam-core]
⊘ remove conf-perl 1
⊘ remove conf-gmp 1
⊘ remove conf-autoconf 0.1
⊘ remove ocamlmod 0.0.8 [conflicts with ocamlfind]
⊘ remove ocamlify 0.0.1 [conflicts with ocamlfind]
⊘ remove mirage-time 1.0.0 [conflicts with ocamlfind]
⊘ remove mirage-channel 3.0.0 [conflicts with ocamlfind]
⊘ remove io-page 1.6.1 [conflicts with ocamlfind]
⊘ remove ocb-stubblr 0.1.1 [conflicts with ocamlfind]
⊘ remove magic-mime 1.0.1 [conflicts with ocamlfind]
⊘ remove conduit 0.15.4 [uses async]
⊘ remove base64 2.1.2 [conflicts with ocamlfind]
⊘ remove ocp-indent 1.6.0 [uses cmdliner, ocp-build]
⊘ remove lambda-term 1.11 [uses lwt]
⊘ remove integers 0.2.2 [conflicts with ocamlfind]
⊘ remove ctypes-foreign 0.4.0
⊘ remove conf-pkg-config 1.0
⊘ remove yojson 1.3.3 [conflicts with ocamlfind]
⊘ remove atd 1.2.1 [uses easy-format, menhir]
⊘ remove hex 1.1.1 [conflicts with ocamlfind]
⊘ remove bos 0.1.6 [conflicts with ocamlfind]
⊘ remove opam-file-format 2.0.0~beta3
⊘ remove opam-core 2.0.0~beta3.1 [conflicts with ocamlfind]
⊘ remove uri 1.9.4 [conflicts with ocamlfind]
⊘ remove mirage-flow-lwt 1.2.0 [conflicts with ocamlfind]
⊘ remove ipaddr 2.8.0 [uses base-bytes]
⊘ remove async v0.9.0 [uses async_kernel]
⊘ remove zed 1.5 [uses base-bytes]
⊘ remove lwt_react 1.0.1 [uses react]
⊘ remove biniou 1.0.13 [conflicts with ocamlfind]
⊘ remove menhir 20170607 [conflicts with ocamlfind]
⊘ remove rresult 0.5.0 [conflicts with ocamlfind]
⊘ remove logs 0.6.2 [conflicts with ocamlfind]
⊘ remove fpath 0.7.2 [conflicts with ocamlfind]
⊘ remove ocp-build 1.99.19-beta [conflicts with ocamlfind]
⊘ remove ocamlgraph 1.8.7 [conflicts with ocamlfind]
⊘ remove jsonm 1.0.1 [conflicts with ocamlfind]
⊘ remove stringext 1.4.3 [conflicts with ocamlfind]
⊘ remove mirage-flow 1.2.0 [conflicts with ocamlfind]
⊘ remove mirage-clock 1.2.0 [conflicts with ocamlfind]
⊘ remove cstruct-lwt 3.0.0 [uses lwt]
⊘ remove async_extra v0.9.0 [uses async_kernel]
⊘ remove camomile 0.8.5 [conflicts with ocamlfind]
⊘ remove react 1.2.1 [conflicts with ocamlfind]
⊘ remove easy-format 1.2.0 [conflicts with ocamlfind]
⊘ remove conf-which 1
⊘ remove astring 0.8.3 [conflicts with ocamlfind]
⊘ remove uutf 1.0.1 [conflicts with ocamlfind]
⊘ remove mirage-device 1.1.0 [uses fmt]
⊘ remove lwt 3.0.0 [conflicts with ocamlfind]
⊘ remove cstruct 3.0.0 [uses base-bytes]
⊘ remove async_unix v0.9.0 [uses async_kernel]
⊘ remove async_rpc_kernel v0.9.0 [uses core_kernel]
⊘ remove fmt 0.8.3 [conflicts with ocamlfind]
⊘ remove camlp4 4.04+1 [uses ocamlbuild]
⊘ remove ocplib-endian 1.0 [conflicts with ocamlfind]
⊘ remove core v0.9.1 [conflicts with base]
⊘ remove async_kernel v0.9.0 [uses core_kernel]
⊘ remove uchar 0.0.1 [uses ocamlbuild]
⊘ remove cmdliner 1.0.0 [conflicts with ocamlfind]
⊘ remove core_kernel v0.9.0 [conflicts with base]
⊘ remove ppx_jane v0.9.0 [conflicts with jbuilder]
⊘ remove jane-street-headers v0.9.0 [conflicts with jbuilder]
⊘ remove configurator v0.9.1 [conflicts with base]
⊘ remove ppx_typerep_conv v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_sexp_value v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_sexp_message v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_pipebang v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_optional v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_let v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_fail v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_expect v0.9.0 [conflicts with base]
⊘ remove ppx_bin_prot v0.9.0 [uses bin_prot]
⊘ remove ppx_bench v0.9.1 [conflicts with jbuilder]
⊘ remove ppx_base v0.9.0 [conflicts with jbuilder]
⊘ remove typerep v0.9.0 [conflicts with base]
⊘ remove re 1.7.1 [conflicts with ocamlfind]
⊘ remove ppx_assert v0.9.0 [conflicts with base]
⊘ remove bin_prot v0.9.0 [conflicts with base]
⊘ remove ppx_inline_test v0.9.1 [conflicts with base]
⊘ remove ppx_js_style v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_hash v0.9.0 [conflicts with base]
⊘ remove ppx_enumerate v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_here v0.9.1 [conflicts with jbuilder]
⊘ remove ppx_variants_conv v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_fields_conv v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_custom_printf v0.9.0 [conflicts with jbuilder]
⊘ remove octavius 1.1.0 [conflicts with ocamlfind]
⊘ remove ppx_compare v0.9.0 [conflicts with base]
⊘ remove variantslib v0.9.0 [conflicts with base]
⊘ remove fieldslib v0.9.0 [conflicts with base]
⊘ remove ppx_traverse v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_sexp_conv v0.9.0 [conflicts with jbuilder]
⊘ remove topkg 0.9.0 [conflicts with ocamlfind]
⊘ remove ppx_type_conv v0.9.0 [uses ppx_deriving]
⊘ remove ppx_metaquot v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_deriving 4.1 [conflicts with ocamlfind]
⊘ remove ppx_driver v0.9.1 [uses ocamlbuild]
⊘ remove ppx_tools 5.0 [conflicts with ocamlfind]
⊘ remove cppo 1.5.0 [conflicts with ocamlfind]
⊘ remove ppx_optcomp v0.9.0 [conflicts with jbuilder]
⊘ remove ocamlbuild 0.11.0 [conflicts with ocamlfind]
⊘ remove base-bytes base [conflicts with ocamlfind]
⊘ remove ppx_core v0.9.0 [conflicts with base]
⊘ remove stdio v0.9.0 [conflicts with base]
⊘ remove ppx_traverse_builtins v0.9.0 [conflicts with jbuilder]
⊘ remove ppx_ast v0.9.1 [conflicts with jbuilder]
⊘ remove ocaml-migrate-parsetree 1.0.1 [conflicts with ocamlfind]
⊘ remove ocaml-compiler-libs v0.9.0 [conflicts with jbuilder]
↘ downgrade ocamlfind 1.7.3 to 1.3.2 [upstream changes]
⊘ remove result 1.2
↘ downgrade jbuilder 1.0+beta10 to 1.0+beta7 [required by shexp]
↘ downgrade base v0.9.2 to v0.9.1 [required by shexp]
∗ install posixat v0.9.0 [required by shexp]
∗ install shexp v0.9.0
===== ∗ 2 ↘ 3 ⊘ 155 =====