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

Crash when combining (include_subdirs qualified) and (modules :standard \ ...) #7597

Closed
Niols opened this issue Apr 21, 2023 · 1 comment · Fixed by #7797 or ocaml/opam-repository#24013
Labels

Comments

@Niols
Copy link
Contributor

Niols commented Apr 21, 2023

Actual behaviour

When building a project that uses (include_subdirs qualified) with a specific set of (modules ...) with a :standard from which elements are removed, I get a crash of Dune. I would expect Dune to build my project normally. I can't really make much sense of this issue, sadly, so this issue is a bit of a mess; I'm sorry about this.

Reproduction

  1. Create a simple project, eg. this one. I detail it below:

    $ tree
    .
    ├── dune-project
    └── src
        ├── bar.ml
        ├── dune
        └── foo.ml
    $ cat dune-project
    (lang dune 3.7)
    (name foo)
    $ cat src/dune
    (include_subdirs qualified)
    
    (executable
     (name foo)
     (modules :standard \ bar))
    $ cat src/foo.ml
    let () = Format.printf "foo@."
    $ cat src/bar.ml
  2. Check that it runs:

    $ dune exec src/foo.exe
    foo
  3. Now add a directory within src:

    $ mkdir src/baz
  4. And try again:

    $ dune exec src/foo.exe
    File "src/dune_rules/module_trie.ml", line 106, characters 32-38:
    File "src/dune_rules/module_trie.ml", line 106, characters 32-38: Assertion
    failed
    Raised at Dune_rules__module_trie.merge.base in file
      "src/dune_rules/module_trie.ml", line 106, characters 32-44
    Called from Dune_rules__module_trie.merge.loop.(fun) in file
      "src/dune_rules/module_trie.ml", line 128, characters 48-61
    Called from Stdlib__Map.Make.merge in file "map.ml", line 398, characters
      44-63
    Called from Stdlib__Map.Make.merge in file "map.ml", line 398, characters
      64-79
    Called from Stdlib__Map.Make.merge in file "map.ml", line 398, characters
      25-40
    Called from Stdlib__List.fold_left in file "list.ml", line 121, characters
      24-34
    Called from Dune_rules__ordered_set_lang.Eval.of_ast.loop in file
      "src/dune_rules/ordered_set_lang.ml", line 137, characters 19-28
    Called from Dune_rules__modules_field_evaluator.eval.(fun) in file
      "src/dune_rules/modules_field_evaluator.ml", line 44, characters 18-62
    Called from Dune_rules__modules_field_evaluator.eval0 in file
      "src/dune_rules/modules_field_evaluator.ml" (inlined), line 261, characters
      13-60
    Called from Dune_rules__modules_field_evaluator.eval0 in file
      "src/dune_rules/modules_field_evaluator.ml", line 262, characters 16-56
    Called from Dune_rules__modules_field_evaluator.eval in file
      "src/dune_rules/modules_field_evaluator.ml", line 332, characters 4-105
    Called from Dune_rules__ml_sources.modules_of_stanzas.(fun) in file
      "src/dune_rules/ml_sources.ml", line 420, characters 10-216
    Called from Fiber__scheduler.exec in file "otherlibs/fiber/src/scheduler.ml",
      line 73, characters 8-11
    
    I must not crash.  Uncertainty is the mind-killer. Exceptions are the
    little-death that brings total obliteration.  I will fully express my cases.
    Execution will pass over me and through me.  And when it has gone past, I
    will unwind the stack along its path.  Where the cases are handled there will
    be nothing.  Only I will remain.

Funnily enough, this also happens with anything that has to do with src, eg.

$ dune exec src/does-not-exist
...same logs as above...

Specifications

  • Version of dune (output of dune --version): 3.7.1
  • Version of ocaml (output of ocamlc --version): 4.14.1
  • Operating system (distribution and version): NixOS unstable on x86_64-linux. The precise environment I use to reproduce this can be obtained with
     $ nix shell github:nixos/nixpkgs/0a0f9e92d#ocamlPackages.{ocaml,dune_3,findlib}
    

Additional information

_build/log
# dune exec src/foo.exe
# OCAMLPARAM: unset
# Shared cache: disabled
# Workspace root: /home/niols/issue7597
# Auto-detected concurrency: 8
$ /nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin/ocamlc.opt -config > /tmp/dune_e53b61_output
# Dune context:
#  { name = "default"
#  ; kind = "default"
#  ; profile = Dev
#  ; merlin = true
#  ; for_host = None
#  ; fdo_target_exe = None
#  ; build_dir = In_build_dir "default"
#  ; toplevel_path = None
#  ; ocaml_bin =
#      External "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin"
#  ; ocaml =
#      Ok
#        External
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin/ocaml"
#  ; ocamlc =
#      External
#        "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin/ocamlc.opt"
#  ; ocamlopt =
#      Ok
#        External
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin/ocamlopt.opt"
#  ; ocamldep =
#      Ok
#        External
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin/ocamldep.opt"
#  ; ocamlmklib =
#      Ok
#        External
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin/ocamlmklib.opt"
#  ; env =
#      map
#        { "CAML_LD_LIBRARY_PATH" :
#            "/home/niols/issue7597/_build/install/default/lib/stublibs"
#        ; "DUNE_OCAML_HARDCODED" :
#            "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/lib"
#        ; "DUNE_OCAML_STDLIB" :
#            "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/lib/ocaml"
#        ; "DUNE_SOURCEROOT" : "/home/niols/issue7597"
#        ; "INSIDE_DUNE" : "/home/niols/issue7597/_build/default"
#        ; "MANPATH" : "/home/niols/issue7597/_build/install/default/bin"
#        ; "OCAMLFIND_IGNORE_DUPS_IN" :
#            "/home/niols/issue7597/_build/install/default/lib"
#        ; "OCAMLPATH" : "/home/niols/issue7597/_build/install/default/lib"
#        ; "OCAMLTOP_INCLUDE_PATH" :
#            "/home/niols/issue7597/_build/install/default/lib/toplevel"
#        ; "OCAML_COLOR" : "always"
#        ; "OPAMCOLOR" : "always"
#        }
#  ; findlib_paths =
#      [ External
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/lib"
#      ]
#  ; arch_sixtyfour = true
#  ; natdynlink_supported = true
#  ; supports_shared_libraries = true
#  ; ocaml_config =
#      { version = "4.14.1"
#      ; standard_library_default =
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/lib/ocaml"
#      ; standard_library =
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/lib/ocaml"
#      ; standard_runtime = "the_standard_runtime_variable_was_deleted"
#      ; ccomp_type = "cc"
#      ; c_compiler = "gcc"
#      ; ocamlc_cflags =
#          [ "-O2"; "-fno-strict-aliasing"; "-fwrapv"; "-pthread"; "-fPIC" ]
#      ; ocamlc_cppflags = [ "-D_FILE_OFFSET_BITS=64" ]
#      ; ocamlopt_cflags =
#          [ "-O2"; "-fno-strict-aliasing"; "-fwrapv"; "-pthread"; "-fPIC" ]
#      ; ocamlopt_cppflags = [ "-D_FILE_OFFSET_BITS=64" ]
#      ; bytecomp_c_compiler =
#          [ "gcc"
#          ; "-O2"
#          ; "-fno-strict-aliasing"
#          ; "-fwrapv"
#          ; "-pthread"
#          ; "-fPIC"
#          ; "-D_FILE_OFFSET_BITS=64"
#          ]
#      ; bytecomp_c_libraries = [ "-lm"; "-lpthread" ]
#      ; native_c_compiler =
#          [ "gcc"
#          ; "-O2"
#          ; "-fno-strict-aliasing"
#          ; "-fwrapv"
#          ; "-pthread"
#          ; "-fPIC"
#          ; "-D_FILE_OFFSET_BITS=64"
#          ]
#      ; native_c_libraries = [ "-lm" ]
#      ; native_pack_linker = [ "ld"; "-r"; "-o" ]
#      ; cc_profile = []
#      ; architecture = "amd64"
#      ; model = "default"
#      ; int_size = 63
#      ; word_size = 64
#      ; system = "linux"
#      ; asm = [ "as" ]
#      ; asm_cfi_supported = true
#      ; with_frame_pointers = false
#      ; ext_exe = ""
#      ; ext_obj = ".o"
#      ; ext_asm = ".s"
#      ; ext_lib = ".a"
#      ; ext_dll = ".so"
#      ; os_type = "Unix"
#      ; default_executable_name = "a.out"
#      ; systhread_supported = true
#      ; host = "x86_64-unknown-linux-gnu"
#      ; target = "x86_64-unknown-linux-gnu"
#      ; profiling = false
#      ; flambda = false
#      ; spacetime = false
#      ; safe_string = true
#      ; exec_magic_number = "Caml1999X031"
#      ; cmi_magic_number = "Caml1999I031"
#      ; cmo_magic_number = "Caml1999O031"
#      ; cma_magic_number = "Caml1999A031"
#      ; cmx_magic_number = "Caml1999Y031"
#      ; cmxa_magic_number = "Caml1999Z031"
#      ; ast_impl_magic_number = "Caml1999M031"
#      ; ast_intf_magic_number = "Caml1999N031"
#      ; cmxs_magic_number = "Caml1999D031"
#      ; cmt_magic_number = "Caml1999T031"
#      ; natdynlink_supported = true
#      ; supports_shared_libraries = true
#      ; windows_unicode = false
#      }
#  }
Related issue? Edit: this is #7600

I got this while trying to reproduce an issue in which dune build @install would throw:

Internal error, please report upstream including the contents of _build/log.
Description:
  ("Invalid Module_name.t", { s = "bar-numbering" })
Raised at Stdune__code_error.raise in file
  "otherlibs/stdune/src/code_error.ml", line 11, characters 30-62
Called from Stdlib__List.rev_map.rmap_f in file "list.ml", line 103,
  characters 22-25
Called from Stdune__list.map in file "otherlibs/stdune/src/list.ml"
  (inlined), line 5, characters 19-33
Called from Dune_rules__ml_sources.make.(fun) in file
  "src/dune_rules/ml_sources.ml", line 459, characters 23-62
Called from Stdlib__List.fold_left in file "list.ml", line 121, characters
  24-34
Called from Dune_rules__ml_sources.make in file
  "src/dune_rules/ml_sources.ml", line 457, characters 8-1023
Called from Fiber__scheduler.exec in file "otherlibs/fiber/src/scheduler.ml",
  line 73, characters 8-11
-> required by ("<unnamed>", ())
-> required by ("<unnamed>", ())
-> required by ("load-dir", In_build_dir "default/src/server")
-> required by ("toplevel", ())

I must not crash.  Uncertainty is the mind-killer. Exceptions are the
little-death that brings total obliteration.  I will fully express my cases. 
Execution will pass over me and through me.  And when it has gone past, I
will unwind the stack along its path.  Where the cases are handled there will
be nothing.  Only I will remain.

Not sure how related that is, and I can't manage to create a minimal example for this one. And now I'm thinking they might be related and fixing the first one might fix this other one. _build/log:

# dune build @install
# OCAMLPARAM: unset
# Shared cache: disabled
# Workspace root: /home/niols/git/perso/dancelor
# Auto-detected concurrency: 8
$ /nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin/ocamlc.opt -config > /tmp/nix-shell.xLIRJa/dune_7939e3_output
# Dune context:
#  { name = "default"
#  ; kind = "default"
#  ; profile = Dev
#  ; merlin = true
#  ; for_host = None
#  ; fdo_target_exe = None
#  ; build_dir = In_build_dir "default"
#  ; toplevel_path = None
#  ; ocaml_bin =
#      External "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin"
#  ; ocaml =
#      Ok
#        External
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin/ocaml"
#  ; ocamlc =
#      External
#        "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin/ocamlc.opt"
#  ; ocamlopt =
#      Ok
#        External
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin/ocamlopt.opt"
#  ; ocamldep =
#      Ok
#        External
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin/ocamldep.opt"
#  ; ocamlmklib =
#      Ok
#        External
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/bin/ocamlmklib.opt"
#  ; env =
#      map
#        { "DUNE_OCAML_HARDCODED" :
#            "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/lib"
#        ; "DUNE_OCAML_STDLIB" :
#            "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/lib/ocaml"
#        ; "DUNE_SOURCEROOT" : "/home/niols/git/perso/dancelor"
#        ; "INSIDE_DUNE" : "/home/niols/git/perso/dancelor/_build/default"
#        ; "MANPATH" :
#            "/home/niols/git/perso/dancelor/_build/install/default/bin"
#        ; "OCAMLFIND_IGNORE_DUPS_IN" :
#            "/home/niols/git/perso/dancelor/_build/install/default/lib"
#        ; "OCAMLTOP_INCLUDE_PATH" :
#            "/home/niols/git/perso/dancelor/_build/install/default/lib/toplevel"
#        ; "OCAML_COLOR" : "always"
#        ; "OPAMCOLOR" : "always"
#        }
#  ; findlib_paths =
#      [ External
#          "/nix/store/jc4z7ifqzsl5lamyfgqqsd7k3hbq3iww-dune-3.7.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/2rwzy6ncny8d8n19avpb9cbhl74ahxi0-ocaml4.14.1-findlib-1.9.6/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/pzhz8lajb831bbvbnskqm8figni9nws5-ocaml4.14.1-menhir-20220210/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/01gkywjfg1irq4wq0km45w8nxiwr6hz1-ocaml4.14.1-merlin-4.8-414/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/irhhb5sgi39jinba16syv6jz6w7przdv-ocaml4.14.1-ocaml-lsp-server-1.14.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/7qg9jzc8sspddsr1gvg5f4cvw94fcgc5-ocaml4.14.1-ocp-indent-1.8.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/727215174av3l0q05pm4qx71723cfjyh-ocaml4.14.1-utop-2.10.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/yib86wbzwlj2vqp22vqkrmkgwq9ymbj1-ocaml4.14.1-lambda-term-3.3.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/9ip508szk90ykjnfrwh1k3aj8xnxvxsm-ocaml4.14.1-zed-3.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/53cbj17my99s448qpw1r9pkg8ykxmx2b-ocaml-react-1.2.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wdmvjplrrjimd9cpl2swbmj8f2h9v5hi-ocaml4.14.1-result-1.5/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/cm3gx46y113jas97y6hy246zfi6hgj08-ocaml4.14.1-uchar-0.0.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/l8s1fff6mw3y7xzrcqjggj463wjvnj8s-ocaml4.14.1-uutf-1.0.3/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/kzvk9c8jm73i200qcj0jmdxci18qqc2g-ocaml4.14.1-uucp-15.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/h7aigxqnxjjp5sm9yl3x4zg0gpv1yi5a-ocaml4.14.1-uuseg-15.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/piv8zixx09c8mq9dvpaiphwdb9snnvqz-ocaml4.14.1-lwt_log-1.1.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/lgswkb6c2yawb3dmxp4mqwji4bmq91x3-ocaml4.14.1-lwt-5.6.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/6mik2pgh1i5nb36z6n57xx4dbxracd9b-ocaml4.14.1-ocplib-endian-1.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/6agbvhk0r6c99gg0sk1xs9xqdw8gdl6w-ocaml4.14.1-lwt_react-1.1.5/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/4xxqs1wcilzjdnj90hx4s7ha6spmqm8g-ocaml4.14.1-mew_vi-0.5.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/837j5xkrigc6na4x9d5p8bj16ilq7c2g-ocaml4.14.1-mew-0.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/qq4b1jq3rv1kq6na63n8qg8a1dnb7i9m-ocaml4.14.1-trie-1.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fcx39pngz7q90z033jbiq6lls0mgly86-ocaml4.14.1-logs-0.7.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/xrrs8nb5iw1albwj905y4x7my03n7a1b-ocaml4.14.1-cohttp-5.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/i78h3hryjc8klp57y7h57kbm6i7504x0-ocaml4.14.1-base64-3.5.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/94i1k8kya3whcmk9azvkz685z7b5mp77-ocaml4.14.1-re-1.10.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fvhliakb052ds3a79hnqpw0aj8fx30yw-ocaml4.14.1-seq-0.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/rynfxwxszsf1vrl48g6yq6a08v6cydam-ocaml4.14.1-stringext-1.6.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/p1f0q5ipny3mkpa5yqrn4r52rnp6q2k5-ocaml4.14.1-uri-sexp-4.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/px9x938ffc65m0b7bcsypqyaknm06rgd-ocaml4.14.1-ppx_sexp_conv-0.15.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fhl970nxrb5372zxg5pxj5gnbv2izkjg-ocaml4.14.1-ppxlib-0.28.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/cr5hsm3bgq36widygwizdkam9ydbhm4p-ocaml4.14.1-ocaml-compiler-libs-0.12.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/5ngmlzm9pidm3dkf5ha9nwlmydhai37x-ocaml4.14.1-ocaml-migrate-parsetree-2.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/lzfkindwqr6xqjyhsbgvywhm8yrjdj9f-ocaml4.14.1-ppx_derivers-1.2.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/j1zq3pw0ax7mv1pcirzzcz2m895p7px4-ocaml4.14.1-stdio-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/m1fi8w0j6swb1nnzkph3q6nf56ggzdv6-ocaml4.14.1-base-0.15.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/gz4j5rba5zarb5y00fn67sjhg9rb4qxm-ocaml4.14.1-sexplib0-0.15.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/5yjabnv4mxhi117i1gp3654gsbjcqiwj-ocaml4.14.1-stdlib-shims-0.3.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/vimkjd91y834i68qbbm1sbkxn8kyl3fd-ocaml4.14.1-uri-4.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/3c0plvqfdc9b4f9drj1q129c1mmmdymw-ocaml4.14.1-angstrom-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/hrj5ah7i3saad64z1lsrijzix2ysy4n0-ocaml4.14.1-bigstringaf-0.9.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fdl58k4dig1wz3c4zapdi12v6qwwv7fy-ocaml4.14.1-cohttp-lwt-jsoo-5.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/ki87bla2vn6hk200y89nm3vy268rvwyr-ocaml4.14.1-cohttp-lwt-5.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/y31rgapcg1k6hbkk53yixrg52h1kgj2x-ocaml4.14.1-js_of_ocaml-4.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/7cdzmj4a2mjh93bj1wmkfqy3kpifv84l-ocaml4.14.1-js_of_ocaml-compiler-4.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/phmg39jl7izwl1ixpc4zl13njs0s1rvl-ocaml4.14.1-menhirLib-20220210/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/x1q2zcih1k5l0x3cd62j8m6szknf281f-ocaml4.14.1-yojson-2.0.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/ak0n7rj2a692aiiyzy375imc2q9sj4x9-ocaml4.14.1-js_of_ocaml-ppx-4.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/ym43fm3kyyk1dlblzqgxkcziva14vnqp-ocaml4.14.1-js_of_ocaml-lwt-4.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/j1ldnqqwgcqbnw0w42hsmh2bp1wf1bl8-ocaml4.14.1-cohttp-lwt-unix-5.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/p01zkw84p5q2xfyd5f7a1z19lp21z9nc-ocaml4.14.1-conduit-lwt-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/895j4ldhxpddl88jpn8x42dniqd31r5c-ocaml4.14.1-conduit-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/kf6ws7aswfw3vyn1g1d0zj3hvq37w014-ocaml4.14.1-astring-0.8.5/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/vp1b9ln8fx1sxs06qclcmm73rafhs6a8-ocaml4.14.1-ipaddr-5.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/18j2clfsf7dg6lirl25y4mzwjr5r4wy3-ocaml4.14.1-macaddr-5.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/57ingqid224jvnw35fprcv1psaj84hky-ocaml4.14.1-domain-name-0.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/xdyad4bhgxr2852qznm91jr3zq57qh08-ocaml4.14.1-ipaddr-sexp-5.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/5fli1m1mvv9hpqwn55k26pr0s1vqan0q-ocaml4.14.1-sexplib-0.15.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/m236gb4vbqp9qvdbpydqkqgg3r68g8zm-ocaml4.14.1-num-1.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/i4a1sk4xnw0qvc3hxa48k3b09hd61rqp-ocaml4.14.1-parsexp-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fa3zw5hld334axk9lp3j3fw3jsqbdgdi-ocaml4.14.1-conduit-lwt-unix-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/i2m76jcpwfbrh1iyqabygr2s7mxl612c-ocaml4.14.1-tls-0.16.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/d12j68jlk1w45vdbs6pkxl634rms2l4j-ocaml4.14.1-cstruct-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wfnvsy6k2d36mqicpfxrn4xadpyj597x-ocaml4.14.1-cstruct-sexp-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/jy3pa24dclixd86msd80q8rn8m3hk69l-ocaml4.14.1-fmt-0.9.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/47rf1837mhmw0divs6zc5lyisl2kg6sh-ocaml4.14.1-ppx_cstruct-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/2b97hmkgzfaf3dxmn50bx47r5d8xlzqj-ocaml4.14.1-hkdf-1.0.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/2s2cbfp6q6mdqs4afbd2i20bq9yc7nqy-ocaml4.14.1-mirage-crypto-0.11.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/888jg06zvaqvxnixdv9zwlkqws2rhv6z-ocaml4.14.1-eqaf-0.9/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/49mvnnsssrvps0jah9js51gb6djljsl2-ocaml4.14.1-mirage-crypto-ec-0.11.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/bir9nz43zsr2iv8n4qycfb9bmwfpgl5a-ocaml4.14.1-mirage-crypto-rng-0.11.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/4sswpngiwwv9hn54afm5zqy01af1z6n3-ocaml4.14.1-duration-0.2.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/pjp2ypnmp58d8syv9snzx29i82wmxz6h-ocaml4.14.1-mtime-1.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/v9kxmbz58hhlsdl5wdzhxranr9ajhr28-ocaml4.14.1-mirage-crypto-pk-0.11.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/jbsqh1bxpf8pm244209r1pd1gmj5jcs9-ocaml4.14.1-zarith-1.12/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/f360031qn0k6lbx1zb3b5aqjqyy1b1vy-ocaml4.14.1-ptime-1.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wfyx9ff88cb92li72vjhlbc15xp062x6-ocaml4.14.1-x509-0.16.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/mwmb939jv7wigrkhpp9fim8gsz12rg4b-ocaml4.14.1-asn1-combinators-0.2.6/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/8fz7p4qw0fwcf38x1p7qvb3knamciyv3-ocaml4.14.1-bigarray-compat-1.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/ss5fq7jzpkk64hd3q9vfm61pnlzd12lx-ocaml4.14.1-gmap-0.3.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/lyfzxw5r4ipy8phf85q8arq4s9d6lwm2-ocaml4.14.1-pbkdf-1.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/449n9mqg3wwy4nx0fmmy6yqq7nfpymyl-ocaml4.14.1-ca-certs-0.2.3/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/z7wg8nq6vpgpiciw2fhw1ab4gsr3mis9-ocaml4.14.1-bos-0.2.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/9bpbcwar8v910xjvir2by5yph0pkm1dk-ocaml4.14.1-fpath-0.7.3/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/cacxslr79wj30adhf1crm6bgpzlwbrm9-ocaml4.14.1-rresult-0.7.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/2n4prsdp36aal39qf4c0izxyb955p9c5-ocaml4.14.1-lwt_ssl-1.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/gsykd6gzh6awmw6gy2gnp3k7ikdbz5r3-ocaml4.14.1-ssl-0.5.13/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/12ib7ig5aqiqjsa44ma9bfk8p4xwjvgx-ocaml4.14.1-magic-mime-1.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wl019qn4cxg8mb495ph64crr2ss58fly-ocaml4.14.1-dates_calc-0.0.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fqfs02anzx0w950icsv8y04qv29yhiy8-ocaml4.14.1-lwt_ppx-2.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/syr7i88cvqj7m4hq5apc2cfs4f6x7scf-ocaml4.14.1-ppx_blob-0.7.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/r8x81497f3gbjlzvxvc3zm6q805lvpp0-ocaml4.14.1-ppx_deriving_yojson-3.7.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/7b7f8isr07f0bdqx7mbknhrwf4w4vkd2-ocaml4.14.1-ppx_deriving-5.2.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/zjps638rv7vr9pfdd7gkh728il7ivhn9-ocaml4.14.1-ppx_inline_test-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/pvwy7z3gkp78w2jj96fxiw6g31m6y6q7-ocaml4.14.1-time_now-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wqzrgzkdm44jrn348hrcqw5j3akai0lq-ocaml4.14.1-jane-street-headers-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/8qf8jmsi898mdv8hm89sbbzrwhwh68ca-ocaml4.14.1-ppx_base-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/zq75i6907kq090jdgl9nx14x26h7lwgj-ocaml4.14.1-ppx_cold-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/9j47zwxd0wy4mgqf1w83jzll6f7qnbnr-ocaml4.14.1-ppx_enumerate-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/s8ki7gq1yk0i1dqr3djds0lryc18jd86-ocaml4.14.1-ppx_hash-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/m9hzn4gvnxw585q14g4bwwim18nw43sn-ocaml4.14.1-ppx_compare-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/7qbqh3c17p46yq83y49v8kwhxsg1dc3q-ocaml4.14.1-ppx_monad-0.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/c59flrq5jsg97z18z8h8k35gpz6bqabc-ocaml4.14.1-slug-1.0.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/c8myqqg6sdnfaac506djqp9rrjqlmiqw-ocaml4.14.1-uunf-15.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/44nlxmcwdqpkiq9cyf9gy0zibfklddkv-ocaml4.14.1-yaml-3.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/4ik7m4azvszdxl7m9gc9sqfyd4k4wx1x-ocaml4.14.1-ctypes-0.20.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/gqcfp9r23zbd6smjphxzknbjwpqxq01y-ocaml4.14.1-integers-0.7.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/jc4z7ifqzsl5lamyfgqqsd7k3hbq3iww-dune-3.7.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/2rwzy6ncny8d8n19avpb9cbhl74ahxi0-ocaml4.14.1-findlib-1.9.6/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/pzhz8lajb831bbvbnskqm8figni9nws5-ocaml4.14.1-menhir-20220210/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/01gkywjfg1irq4wq0km45w8nxiwr6hz1-ocaml4.14.1-merlin-4.8-414/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/irhhb5sgi39jinba16syv6jz6w7przdv-ocaml4.14.1-ocaml-lsp-server-1.14.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/7qg9jzc8sspddsr1gvg5f4cvw94fcgc5-ocaml4.14.1-ocp-indent-1.8.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/727215174av3l0q05pm4qx71723cfjyh-ocaml4.14.1-utop-2.10.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/yib86wbzwlj2vqp22vqkrmkgwq9ymbj1-ocaml4.14.1-lambda-term-3.3.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/9ip508szk90ykjnfrwh1k3aj8xnxvxsm-ocaml4.14.1-zed-3.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/53cbj17my99s448qpw1r9pkg8ykxmx2b-ocaml-react-1.2.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wdmvjplrrjimd9cpl2swbmj8f2h9v5hi-ocaml4.14.1-result-1.5/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/cm3gx46y113jas97y6hy246zfi6hgj08-ocaml4.14.1-uchar-0.0.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/l8s1fff6mw3y7xzrcqjggj463wjvnj8s-ocaml4.14.1-uutf-1.0.3/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/kzvk9c8jm73i200qcj0jmdxci18qqc2g-ocaml4.14.1-uucp-15.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/h7aigxqnxjjp5sm9yl3x4zg0gpv1yi5a-ocaml4.14.1-uuseg-15.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/piv8zixx09c8mq9dvpaiphwdb9snnvqz-ocaml4.14.1-lwt_log-1.1.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/lgswkb6c2yawb3dmxp4mqwji4bmq91x3-ocaml4.14.1-lwt-5.6.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/6mik2pgh1i5nb36z6n57xx4dbxracd9b-ocaml4.14.1-ocplib-endian-1.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/6agbvhk0r6c99gg0sk1xs9xqdw8gdl6w-ocaml4.14.1-lwt_react-1.1.5/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/4xxqs1wcilzjdnj90hx4s7ha6spmqm8g-ocaml4.14.1-mew_vi-0.5.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/837j5xkrigc6na4x9d5p8bj16ilq7c2g-ocaml4.14.1-mew-0.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/qq4b1jq3rv1kq6na63n8qg8a1dnb7i9m-ocaml4.14.1-trie-1.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fcx39pngz7q90z033jbiq6lls0mgly86-ocaml4.14.1-logs-0.7.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/xrrs8nb5iw1albwj905y4x7my03n7a1b-ocaml4.14.1-cohttp-5.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/i78h3hryjc8klp57y7h57kbm6i7504x0-ocaml4.14.1-base64-3.5.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/94i1k8kya3whcmk9azvkz685z7b5mp77-ocaml4.14.1-re-1.10.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fvhliakb052ds3a79hnqpw0aj8fx30yw-ocaml4.14.1-seq-0.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/rynfxwxszsf1vrl48g6yq6a08v6cydam-ocaml4.14.1-stringext-1.6.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/p1f0q5ipny3mkpa5yqrn4r52rnp6q2k5-ocaml4.14.1-uri-sexp-4.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/px9x938ffc65m0b7bcsypqyaknm06rgd-ocaml4.14.1-ppx_sexp_conv-0.15.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fhl970nxrb5372zxg5pxj5gnbv2izkjg-ocaml4.14.1-ppxlib-0.28.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/cr5hsm3bgq36widygwizdkam9ydbhm4p-ocaml4.14.1-ocaml-compiler-libs-0.12.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/5ngmlzm9pidm3dkf5ha9nwlmydhai37x-ocaml4.14.1-ocaml-migrate-parsetree-2.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/lzfkindwqr6xqjyhsbgvywhm8yrjdj9f-ocaml4.14.1-ppx_derivers-1.2.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/j1zq3pw0ax7mv1pcirzzcz2m895p7px4-ocaml4.14.1-stdio-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/m1fi8w0j6swb1nnzkph3q6nf56ggzdv6-ocaml4.14.1-base-0.15.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/gz4j5rba5zarb5y00fn67sjhg9rb4qxm-ocaml4.14.1-sexplib0-0.15.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/5yjabnv4mxhi117i1gp3654gsbjcqiwj-ocaml4.14.1-stdlib-shims-0.3.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/vimkjd91y834i68qbbm1sbkxn8kyl3fd-ocaml4.14.1-uri-4.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/3c0plvqfdc9b4f9drj1q129c1mmmdymw-ocaml4.14.1-angstrom-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/hrj5ah7i3saad64z1lsrijzix2ysy4n0-ocaml4.14.1-bigstringaf-0.9.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fdl58k4dig1wz3c4zapdi12v6qwwv7fy-ocaml4.14.1-cohttp-lwt-jsoo-5.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/ki87bla2vn6hk200y89nm3vy268rvwyr-ocaml4.14.1-cohttp-lwt-5.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/y31rgapcg1k6hbkk53yixrg52h1kgj2x-ocaml4.14.1-js_of_ocaml-4.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/7cdzmj4a2mjh93bj1wmkfqy3kpifv84l-ocaml4.14.1-js_of_ocaml-compiler-4.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/phmg39jl7izwl1ixpc4zl13njs0s1rvl-ocaml4.14.1-menhirLib-20220210/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/x1q2zcih1k5l0x3cd62j8m6szknf281f-ocaml4.14.1-yojson-2.0.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/ak0n7rj2a692aiiyzy375imc2q9sj4x9-ocaml4.14.1-js_of_ocaml-ppx-4.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/ym43fm3kyyk1dlblzqgxkcziva14vnqp-ocaml4.14.1-js_of_ocaml-lwt-4.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/j1ldnqqwgcqbnw0w42hsmh2bp1wf1bl8-ocaml4.14.1-cohttp-lwt-unix-5.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/p01zkw84p5q2xfyd5f7a1z19lp21z9nc-ocaml4.14.1-conduit-lwt-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/895j4ldhxpddl88jpn8x42dniqd31r5c-ocaml4.14.1-conduit-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/kf6ws7aswfw3vyn1g1d0zj3hvq37w014-ocaml4.14.1-astring-0.8.5/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/vp1b9ln8fx1sxs06qclcmm73rafhs6a8-ocaml4.14.1-ipaddr-5.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/18j2clfsf7dg6lirl25y4mzwjr5r4wy3-ocaml4.14.1-macaddr-5.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/57ingqid224jvnw35fprcv1psaj84hky-ocaml4.14.1-domain-name-0.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/xdyad4bhgxr2852qznm91jr3zq57qh08-ocaml4.14.1-ipaddr-sexp-5.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/5fli1m1mvv9hpqwn55k26pr0s1vqan0q-ocaml4.14.1-sexplib-0.15.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/m236gb4vbqp9qvdbpydqkqgg3r68g8zm-ocaml4.14.1-num-1.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/i4a1sk4xnw0qvc3hxa48k3b09hd61rqp-ocaml4.14.1-parsexp-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fa3zw5hld334axk9lp3j3fw3jsqbdgdi-ocaml4.14.1-conduit-lwt-unix-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/i2m76jcpwfbrh1iyqabygr2s7mxl612c-ocaml4.14.1-tls-0.16.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/d12j68jlk1w45vdbs6pkxl634rms2l4j-ocaml4.14.1-cstruct-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wfnvsy6k2d36mqicpfxrn4xadpyj597x-ocaml4.14.1-cstruct-sexp-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/jy3pa24dclixd86msd80q8rn8m3hk69l-ocaml4.14.1-fmt-0.9.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/47rf1837mhmw0divs6zc5lyisl2kg6sh-ocaml4.14.1-ppx_cstruct-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/2b97hmkgzfaf3dxmn50bx47r5d8xlzqj-ocaml4.14.1-hkdf-1.0.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/2s2cbfp6q6mdqs4afbd2i20bq9yc7nqy-ocaml4.14.1-mirage-crypto-0.11.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/888jg06zvaqvxnixdv9zwlkqws2rhv6z-ocaml4.14.1-eqaf-0.9/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/49mvnnsssrvps0jah9js51gb6djljsl2-ocaml4.14.1-mirage-crypto-ec-0.11.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/bir9nz43zsr2iv8n4qycfb9bmwfpgl5a-ocaml4.14.1-mirage-crypto-rng-0.11.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/4sswpngiwwv9hn54afm5zqy01af1z6n3-ocaml4.14.1-duration-0.2.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/pjp2ypnmp58d8syv9snzx29i82wmxz6h-ocaml4.14.1-mtime-1.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/v9kxmbz58hhlsdl5wdzhxranr9ajhr28-ocaml4.14.1-mirage-crypto-pk-0.11.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/jbsqh1bxpf8pm244209r1pd1gmj5jcs9-ocaml4.14.1-zarith-1.12/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/f360031qn0k6lbx1zb3b5aqjqyy1b1vy-ocaml4.14.1-ptime-1.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wfyx9ff88cb92li72vjhlbc15xp062x6-ocaml4.14.1-x509-0.16.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/mwmb939jv7wigrkhpp9fim8gsz12rg4b-ocaml4.14.1-asn1-combinators-0.2.6/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/8fz7p4qw0fwcf38x1p7qvb3knamciyv3-ocaml4.14.1-bigarray-compat-1.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/ss5fq7jzpkk64hd3q9vfm61pnlzd12lx-ocaml4.14.1-gmap-0.3.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/lyfzxw5r4ipy8phf85q8arq4s9d6lwm2-ocaml4.14.1-pbkdf-1.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/449n9mqg3wwy4nx0fmmy6yqq7nfpymyl-ocaml4.14.1-ca-certs-0.2.3/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/z7wg8nq6vpgpiciw2fhw1ab4gsr3mis9-ocaml4.14.1-bos-0.2.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/9bpbcwar8v910xjvir2by5yph0pkm1dk-ocaml4.14.1-fpath-0.7.3/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/cacxslr79wj30adhf1crm6bgpzlwbrm9-ocaml4.14.1-rresult-0.7.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/2n4prsdp36aal39qf4c0izxyb955p9c5-ocaml4.14.1-lwt_ssl-1.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/gsykd6gzh6awmw6gy2gnp3k7ikdbz5r3-ocaml4.14.1-ssl-0.5.13/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/12ib7ig5aqiqjsa44ma9bfk8p4xwjvgx-ocaml4.14.1-magic-mime-1.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wl019qn4cxg8mb495ph64crr2ss58fly-ocaml4.14.1-dates_calc-0.0.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fqfs02anzx0w950icsv8y04qv29yhiy8-ocaml4.14.1-lwt_ppx-2.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/syr7i88cvqj7m4hq5apc2cfs4f6x7scf-ocaml4.14.1-ppx_blob-0.7.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/r8x81497f3gbjlzvxvc3zm6q805lvpp0-ocaml4.14.1-ppx_deriving_yojson-3.7.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/7b7f8isr07f0bdqx7mbknhrwf4w4vkd2-ocaml4.14.1-ppx_deriving-5.2.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/zjps638rv7vr9pfdd7gkh728il7ivhn9-ocaml4.14.1-ppx_inline_test-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/pvwy7z3gkp78w2jj96fxiw6g31m6y6q7-ocaml4.14.1-time_now-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wqzrgzkdm44jrn348hrcqw5j3akai0lq-ocaml4.14.1-jane-street-headers-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/8qf8jmsi898mdv8hm89sbbzrwhwh68ca-ocaml4.14.1-ppx_base-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/zq75i6907kq090jdgl9nx14x26h7lwgj-ocaml4.14.1-ppx_cold-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/9j47zwxd0wy4mgqf1w83jzll6f7qnbnr-ocaml4.14.1-ppx_enumerate-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/s8ki7gq1yk0i1dqr3djds0lryc18jd86-ocaml4.14.1-ppx_hash-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/m9hzn4gvnxw585q14g4bwwim18nw43sn-ocaml4.14.1-ppx_compare-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/7qbqh3c17p46yq83y49v8kwhxsg1dc3q-ocaml4.14.1-ppx_monad-0.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/c59flrq5jsg97z18z8h8k35gpz6bqabc-ocaml4.14.1-slug-1.0.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/c8myqqg6sdnfaac506djqp9rrjqlmiqw-ocaml4.14.1-uunf-15.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/44nlxmcwdqpkiq9cyf9gy0zibfklddkv-ocaml4.14.1-yaml-3.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/4ik7m4azvszdxl7m9gc9sqfyd4k4wx1x-ocaml4.14.1-ctypes-0.20.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/gqcfp9r23zbd6smjphxzknbjwpqxq01y-ocaml4.14.1-integers-0.7.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/jc4z7ifqzsl5lamyfgqqsd7k3hbq3iww-dune-3.7.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/2rwzy6ncny8d8n19avpb9cbhl74ahxi0-ocaml4.14.1-findlib-1.9.6/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/pzhz8lajb831bbvbnskqm8figni9nws5-ocaml4.14.1-menhir-20220210/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/01gkywjfg1irq4wq0km45w8nxiwr6hz1-ocaml4.14.1-merlin-4.8-414/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/irhhb5sgi39jinba16syv6jz6w7przdv-ocaml4.14.1-ocaml-lsp-server-1.14.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/7qg9jzc8sspddsr1gvg5f4cvw94fcgc5-ocaml4.14.1-ocp-indent-1.8.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/727215174av3l0q05pm4qx71723cfjyh-ocaml4.14.1-utop-2.10.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/yib86wbzwlj2vqp22vqkrmkgwq9ymbj1-ocaml4.14.1-lambda-term-3.3.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/9ip508szk90ykjnfrwh1k3aj8xnxvxsm-ocaml4.14.1-zed-3.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/53cbj17my99s448qpw1r9pkg8ykxmx2b-ocaml-react-1.2.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wdmvjplrrjimd9cpl2swbmj8f2h9v5hi-ocaml4.14.1-result-1.5/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/cm3gx46y113jas97y6hy246zfi6hgj08-ocaml4.14.1-uchar-0.0.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/l8s1fff6mw3y7xzrcqjggj463wjvnj8s-ocaml4.14.1-uutf-1.0.3/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/kzvk9c8jm73i200qcj0jmdxci18qqc2g-ocaml4.14.1-uucp-15.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/h7aigxqnxjjp5sm9yl3x4zg0gpv1yi5a-ocaml4.14.1-uuseg-15.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/piv8zixx09c8mq9dvpaiphwdb9snnvqz-ocaml4.14.1-lwt_log-1.1.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/lgswkb6c2yawb3dmxp4mqwji4bmq91x3-ocaml4.14.1-lwt-5.6.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/6mik2pgh1i5nb36z6n57xx4dbxracd9b-ocaml4.14.1-ocplib-endian-1.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/6agbvhk0r6c99gg0sk1xs9xqdw8gdl6w-ocaml4.14.1-lwt_react-1.1.5/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/4xxqs1wcilzjdnj90hx4s7ha6spmqm8g-ocaml4.14.1-mew_vi-0.5.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/837j5xkrigc6na4x9d5p8bj16ilq7c2g-ocaml4.14.1-mew-0.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/qq4b1jq3rv1kq6na63n8qg8a1dnb7i9m-ocaml4.14.1-trie-1.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fcx39pngz7q90z033jbiq6lls0mgly86-ocaml4.14.1-logs-0.7.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/xrrs8nb5iw1albwj905y4x7my03n7a1b-ocaml4.14.1-cohttp-5.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/i78h3hryjc8klp57y7h57kbm6i7504x0-ocaml4.14.1-base64-3.5.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/94i1k8kya3whcmk9azvkz685z7b5mp77-ocaml4.14.1-re-1.10.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fvhliakb052ds3a79hnqpw0aj8fx30yw-ocaml4.14.1-seq-0.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/rynfxwxszsf1vrl48g6yq6a08v6cydam-ocaml4.14.1-stringext-1.6.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/p1f0q5ipny3mkpa5yqrn4r52rnp6q2k5-ocaml4.14.1-uri-sexp-4.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/px9x938ffc65m0b7bcsypqyaknm06rgd-ocaml4.14.1-ppx_sexp_conv-0.15.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fhl970nxrb5372zxg5pxj5gnbv2izkjg-ocaml4.14.1-ppxlib-0.28.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/cr5hsm3bgq36widygwizdkam9ydbhm4p-ocaml4.14.1-ocaml-compiler-libs-0.12.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/5ngmlzm9pidm3dkf5ha9nwlmydhai37x-ocaml4.14.1-ocaml-migrate-parsetree-2.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/lzfkindwqr6xqjyhsbgvywhm8yrjdj9f-ocaml4.14.1-ppx_derivers-1.2.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/j1zq3pw0ax7mv1pcirzzcz2m895p7px4-ocaml4.14.1-stdio-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/m1fi8w0j6swb1nnzkph3q6nf56ggzdv6-ocaml4.14.1-base-0.15.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/gz4j5rba5zarb5y00fn67sjhg9rb4qxm-ocaml4.14.1-sexplib0-0.15.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/5yjabnv4mxhi117i1gp3654gsbjcqiwj-ocaml4.14.1-stdlib-shims-0.3.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/vimkjd91y834i68qbbm1sbkxn8kyl3fd-ocaml4.14.1-uri-4.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/3c0plvqfdc9b4f9drj1q129c1mmmdymw-ocaml4.14.1-angstrom-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/hrj5ah7i3saad64z1lsrijzix2ysy4n0-ocaml4.14.1-bigstringaf-0.9.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fdl58k4dig1wz3c4zapdi12v6qwwv7fy-ocaml4.14.1-cohttp-lwt-jsoo-5.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/ki87bla2vn6hk200y89nm3vy268rvwyr-ocaml4.14.1-cohttp-lwt-5.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/y31rgapcg1k6hbkk53yixrg52h1kgj2x-ocaml4.14.1-js_of_ocaml-4.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/7cdzmj4a2mjh93bj1wmkfqy3kpifv84l-ocaml4.14.1-js_of_ocaml-compiler-4.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/phmg39jl7izwl1ixpc4zl13njs0s1rvl-ocaml4.14.1-menhirLib-20220210/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/x1q2zcih1k5l0x3cd62j8m6szknf281f-ocaml4.14.1-yojson-2.0.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/ak0n7rj2a692aiiyzy375imc2q9sj4x9-ocaml4.14.1-js_of_ocaml-ppx-4.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/ym43fm3kyyk1dlblzqgxkcziva14vnqp-ocaml4.14.1-js_of_ocaml-lwt-4.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/j1ldnqqwgcqbnw0w42hsmh2bp1wf1bl8-ocaml4.14.1-cohttp-lwt-unix-5.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/p01zkw84p5q2xfyd5f7a1z19lp21z9nc-ocaml4.14.1-conduit-lwt-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/895j4ldhxpddl88jpn8x42dniqd31r5c-ocaml4.14.1-conduit-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/kf6ws7aswfw3vyn1g1d0zj3hvq37w014-ocaml4.14.1-astring-0.8.5/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/vp1b9ln8fx1sxs06qclcmm73rafhs6a8-ocaml4.14.1-ipaddr-5.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/18j2clfsf7dg6lirl25y4mzwjr5r4wy3-ocaml4.14.1-macaddr-5.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/57ingqid224jvnw35fprcv1psaj84hky-ocaml4.14.1-domain-name-0.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/xdyad4bhgxr2852qznm91jr3zq57qh08-ocaml4.14.1-ipaddr-sexp-5.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/5fli1m1mvv9hpqwn55k26pr0s1vqan0q-ocaml4.14.1-sexplib-0.15.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/m236gb4vbqp9qvdbpydqkqgg3r68g8zm-ocaml4.14.1-num-1.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/i4a1sk4xnw0qvc3hxa48k3b09hd61rqp-ocaml4.14.1-parsexp-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fa3zw5hld334axk9lp3j3fw3jsqbdgdi-ocaml4.14.1-conduit-lwt-unix-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/i2m76jcpwfbrh1iyqabygr2s7mxl612c-ocaml4.14.1-tls-0.16.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/d12j68jlk1w45vdbs6pkxl634rms2l4j-ocaml4.14.1-cstruct-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wfnvsy6k2d36mqicpfxrn4xadpyj597x-ocaml4.14.1-cstruct-sexp-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/jy3pa24dclixd86msd80q8rn8m3hk69l-ocaml4.14.1-fmt-0.9.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/47rf1837mhmw0divs6zc5lyisl2kg6sh-ocaml4.14.1-ppx_cstruct-6.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/2b97hmkgzfaf3dxmn50bx47r5d8xlzqj-ocaml4.14.1-hkdf-1.0.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/2s2cbfp6q6mdqs4afbd2i20bq9yc7nqy-ocaml4.14.1-mirage-crypto-0.11.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/888jg06zvaqvxnixdv9zwlkqws2rhv6z-ocaml4.14.1-eqaf-0.9/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/49mvnnsssrvps0jah9js51gb6djljsl2-ocaml4.14.1-mirage-crypto-ec-0.11.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/bir9nz43zsr2iv8n4qycfb9bmwfpgl5a-ocaml4.14.1-mirage-crypto-rng-0.11.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/4sswpngiwwv9hn54afm5zqy01af1z6n3-ocaml4.14.1-duration-0.2.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/pjp2ypnmp58d8syv9snzx29i82wmxz6h-ocaml4.14.1-mtime-1.4.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/v9kxmbz58hhlsdl5wdzhxranr9ajhr28-ocaml4.14.1-mirage-crypto-pk-0.11.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/jbsqh1bxpf8pm244209r1pd1gmj5jcs9-ocaml4.14.1-zarith-1.12/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/f360031qn0k6lbx1zb3b5aqjqyy1b1vy-ocaml4.14.1-ptime-1.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wfyx9ff88cb92li72vjhlbc15xp062x6-ocaml4.14.1-x509-0.16.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/mwmb939jv7wigrkhpp9fim8gsz12rg4b-ocaml4.14.1-asn1-combinators-0.2.6/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/8fz7p4qw0fwcf38x1p7qvb3knamciyv3-ocaml4.14.1-bigarray-compat-1.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/ss5fq7jzpkk64hd3q9vfm61pnlzd12lx-ocaml4.14.1-gmap-0.3.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/lyfzxw5r4ipy8phf85q8arq4s9d6lwm2-ocaml4.14.1-pbkdf-1.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/449n9mqg3wwy4nx0fmmy6yqq7nfpymyl-ocaml4.14.1-ca-certs-0.2.3/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/z7wg8nq6vpgpiciw2fhw1ab4gsr3mis9-ocaml4.14.1-bos-0.2.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/9bpbcwar8v910xjvir2by5yph0pkm1dk-ocaml4.14.1-fpath-0.7.3/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/cacxslr79wj30adhf1crm6bgpzlwbrm9-ocaml4.14.1-rresult-0.7.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/2n4prsdp36aal39qf4c0izxyb955p9c5-ocaml4.14.1-lwt_ssl-1.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/gsykd6gzh6awmw6gy2gnp3k7ikdbz5r3-ocaml4.14.1-ssl-0.5.13/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/12ib7ig5aqiqjsa44ma9bfk8p4xwjvgx-ocaml4.14.1-magic-mime-1.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wl019qn4cxg8mb495ph64crr2ss58fly-ocaml4.14.1-dates_calc-0.0.4/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/fqfs02anzx0w950icsv8y04qv29yhiy8-ocaml4.14.1-lwt_ppx-2.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/syr7i88cvqj7m4hq5apc2cfs4f6x7scf-ocaml4.14.1-ppx_blob-0.7.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/r8x81497f3gbjlzvxvc3zm6q805lvpp0-ocaml4.14.1-ppx_deriving_yojson-3.7.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/7b7f8isr07f0bdqx7mbknhrwf4w4vkd2-ocaml4.14.1-ppx_deriving-5.2.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/zjps638rv7vr9pfdd7gkh728il7ivhn9-ocaml4.14.1-ppx_inline_test-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/pvwy7z3gkp78w2jj96fxiw6g31m6y6q7-ocaml4.14.1-time_now-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/wqzrgzkdm44jrn348hrcqw5j3akai0lq-ocaml4.14.1-jane-street-headers-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/8qf8jmsi898mdv8hm89sbbzrwhwh68ca-ocaml4.14.1-ppx_base-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/zq75i6907kq090jdgl9nx14x26h7lwgj-ocaml4.14.1-ppx_cold-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/9j47zwxd0wy4mgqf1w83jzll6f7qnbnr-ocaml4.14.1-ppx_enumerate-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/s8ki7gq1yk0i1dqr3djds0lryc18jd86-ocaml4.14.1-ppx_hash-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/m9hzn4gvnxw585q14g4bwwim18nw43sn-ocaml4.14.1-ppx_compare-0.15.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/7qbqh3c17p46yq83y49v8kwhxsg1dc3q-ocaml4.14.1-ppx_monad-0.2.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/c59flrq5jsg97z18z8h8k35gpz6bqabc-ocaml4.14.1-slug-1.0.1/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/c8myqqg6sdnfaac506djqp9rrjqlmiqw-ocaml4.14.1-uunf-15.0.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/44nlxmcwdqpkiq9cyf9gy0zibfklddkv-ocaml4.14.1-yaml-3.1.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/4ik7m4azvszdxl7m9gc9sqfyd4k4wx1x-ocaml4.14.1-ctypes-0.20.2/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/gqcfp9r23zbd6smjphxzknbjwpqxq01y-ocaml4.14.1-integers-0.7.0/lib/ocaml/4.14.1/site-lib/"
#      ; External
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/lib"
#      ]
#  ; arch_sixtyfour = true
#  ; natdynlink_supported = true
#  ; supports_shared_libraries = true
#  ; ocaml_config =
#      { version = "4.14.1"
#      ; standard_library_default =
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/lib/ocaml"
#      ; standard_library =
#          "/nix/store/46hyi2b6plki7x5x099hvaad8biwzpnx-ocaml-4.14.1/lib/ocaml"
#      ; standard_runtime = "the_standard_runtime_variable_was_deleted"
#      ; ccomp_type = "cc"
#      ; c_compiler = "gcc"
#      ; ocamlc_cflags =
#          [ "-O2"; "-fno-strict-aliasing"; "-fwrapv"; "-pthread"; "-fPIC" ]
#      ; ocamlc_cppflags = [ "-D_FILE_OFFSET_BITS=64" ]
#      ; ocamlopt_cflags =
#          [ "-O2"; "-fno-strict-aliasing"; "-fwrapv"; "-pthread"; "-fPIC" ]
#      ; ocamlopt_cppflags = [ "-D_FILE_OFFSET_BITS=64" ]
#      ; bytecomp_c_compiler =
#          [ "gcc"
#          ; "-O2"
#          ; "-fno-strict-aliasing"
#          ; "-fwrapv"
#          ; "-pthread"
#          ; "-fPIC"
#          ; "-D_FILE_OFFSET_BITS=64"
#          ]
#      ; bytecomp_c_libraries = [ "-lm"; "-lpthread" ]
#      ; native_c_compiler =
#          [ "gcc"
#          ; "-O2"
#          ; "-fno-strict-aliasing"
#          ; "-fwrapv"
#          ; "-pthread"
#          ; "-fPIC"
#          ; "-D_FILE_OFFSET_BITS=64"
#          ]
#      ; native_c_libraries = [ "-lm" ]
#      ; native_pack_linker = [ "ld"; "-r"; "-o" ]
#      ; cc_profile = []
#      ; architecture = "amd64"
#      ; model = "default"
#      ; int_size = 63
#      ; word_size = 64
#      ; system = "linux"
#      ; asm = [ "as" ]
#      ; asm_cfi_supported = true
#      ; with_frame_pointers = false
#      ; ext_exe = ""
#      ; ext_obj = ".o"
#      ; ext_asm = ".s"
#      ; ext_lib = ".a"
#      ; ext_dll = ".so"
#      ; os_type = "Unix"
#      ; default_executable_name = "a.out"
#      ; systhread_supported = true
#      ; host = "x86_64-unknown-linux-gnu"
#      ; target = "x86_64-unknown-linux-gnu"
#      ; profiling = false
#      ; flambda = false
#      ; spacetime = false
#      ; safe_string = true
#      ; exec_magic_number = "Caml1999X031"
#      ; cmi_magic_number = "Caml1999I031"
#      ; cmo_magic_number = "Caml1999O031"
#      ; cma_magic_number = "Caml1999A031"
#      ; cmx_magic_number = "Caml1999Y031"
#      ; cmxa_magic_number = "Caml1999Z031"
#      ; ast_impl_magic_number = "Caml1999M031"
#      ; ast_intf_magic_number = "Caml1999N031"
#      ; cmxs_magic_number = "Caml1999D031"
#      ; cmt_magic_number = "Caml1999T031"
#      ; natdynlink_supported = true
#      ; supports_shared_libraries = true
#      ; windows_unicode = false
#      }
#  }
@Alizter
Copy link
Collaborator

Alizter commented Apr 21, 2023

Thanks for the report. Repro case in #7603

@Alizter Alizter added the bug label Apr 21, 2023
emillon added a commit to emillon/opam-repository that referenced this issue Jun 23, 2023
CHANGES:

- Validate file extension for `$ dune ocaml top-module`. (ocaml/dune#8005, fixes ocaml/dune#8004, @3Rafal)

- Include the time it takes to read/write state files when `--trace-file` is
  enabled (ocaml/dune#7960, @rgrinberg)

- Add `dune show` command group which is an alias of `dune describe`. (ocaml/dune#7946,
  @Alizter)

- Include source tree scans in the traces produced by `--trace-file` (ocaml/dune#7937,
  @rgrinberg)

- Cinaps: The promotion rules for cinaps would only offer one file at a time no
  matter how many promotions were available. Now we offer all the promotions at
  once (ocaml/dune#7901, @rgrinberg)

- Do not re-run OCaml syntax files on every iteration of the watch mode. This
  is too memory consuming. (ocaml/dune#7894, fix ocaml/dune#6900, @rgrinberg)

- Remove some compatibility code for old version of dune that generated
  `.merlin` files. Now dune will never remove `.merlin` files automatically
  (ocaml/dune#7562)

- Add `dune show env` command and make `dune printenv` an alias of it. (ocaml/dune#7985,
  @Alizter)

- Add additional metadata to the traces provided by `--trace-file` whenever
  `--trace-extended` is passed (ocaml/dune#7778, @rleshchinskiy)

- Extensions used in `(dialect)` can contain periods (e.g., `cppo.ml`). (ocaml/dune#7782,
  fixes ocaml/dune#7777, @nojb)

- Allow `(include_subdirs qualified)` to be used when libraries define a
  `(modules ...)` field (ocaml/dune#7797, fixes ocaml/dune#7597, @anmonteiro)

- `$ dune describe` is now a command group, so arguments to subcommands must be
  passed after subcommand itself. (ocaml/dune#7919, @Alizter)

- The `interface` and `implementation` fields of a `(dialect)` are now optional
  (ocaml/dune#7757, @gpetiot)

- Add commands `dune show targets` and `dune show aliases` that display all the
  available targets and aliases in a given directory respectively. (ocaml/dune#7770,
  grants ocaml/dune#265, @Alizter)

- Allow multiple globs in library's `(stdlib (internal_modules ..))`
  (@anmonteiro, ocaml/dune#7878)

- Attach melange rules to the default alias (ocaml/dune#7926, @haochenx)

- In opam constraints, reject `(and)` and `(or)` with no arguments at parse
  time (ocaml/dune#7730, @emillon)

- Compute digests and manage sandboxes in background threads (ocaml/dune#7947,
  @rgrinberg)

- Add `(build_if)` to the `(test)` stanza. When it evaluates to false, the
  executable is not built. (ocaml/dune#7899, fixes ocaml/dune#6938, @emillon)

- Add necessary parentheses in generated opam constraints (ocaml/dune#7682, fixes ocaml/dune#3431,
  @Lucccyo)
emillon added a commit to emillon/opam-repository that referenced this issue Jun 28, 2023
CHANGES:

- Validate file extension for `$ dune ocaml top-module`. (ocaml/dune#8005, fixes ocaml/dune#8004, @3Rafal)

- Include the time it takes to read/write state files when `--trace-file` is
  enabled (ocaml/dune#7960, @rgrinberg)

- Add `dune show` command group which is an alias of `dune describe`. (ocaml/dune#7946,
  @Alizter)

- Include source tree scans in the traces produced by `--trace-file` (ocaml/dune#7937,
  @rgrinberg)

- Cinaps: The promotion rules for cinaps would only offer one file at a time no
  matter how many promotions were available. Now we offer all the promotions at
  once (ocaml/dune#7901, @rgrinberg)

- Do not re-run OCaml syntax files on every iteration of the watch mode. This
  is too memory consuming. (ocaml/dune#7894, fix ocaml/dune#6900, @rgrinberg)

- Add `--all` option to `dune rpc status` to show all Dune RPC servers running.
  (ocaml/dune#8011, fix ocaml/dune#7902, @Alizter)

- Remove some compatibility code for old version of dune that generated
  `.merlin` files. Now dune will never remove `.merlin` files automatically
  (ocaml/dune#7562)

- Add `dune show env` command and make `dune printenv` an alias of it. (ocaml/dune#7985,
  @Alizter)

- Add additional metadata to the traces provided by `--trace-file` whenever
  `--trace-extended` is passed (ocaml/dune#7778, @rleshchinskiy)

- Extensions used in `(dialect)` can contain periods (e.g., `cppo.ml`). (ocaml/dune#7782,
  fixes ocaml/dune#7777, @nojb)

- Allow `(include_subdirs qualified)` to be used when libraries define a
  `(modules ...)` field (ocaml/dune#7797, fixes ocaml/dune#7597, @anmonteiro)

- `$ dune describe` is now a command group, so arguments to subcommands must be
  passed after subcommand itself. (ocaml/dune#7919, @Alizter)

- The `interface` and `implementation` fields of a `(dialect)` are now optional
  (ocaml/dune#7757, @gpetiot)

- Add commands `dune show targets` and `dune show aliases` that display all the
  available targets and aliases in a given directory respectively. (ocaml/dune#7770,
  grants ocaml/dune#265, @Alizter)

- Allow multiple globs in library's `(stdlib (internal_modules ..))`
  (@anmonteiro, ocaml/dune#7878)

- Attach melange rules to the default alias (ocaml/dune#7926, @haochenx)

- In opam constraints, reject `(and)` and `(or)` with no arguments at parse
  time (ocaml/dune#7730, @emillon)

- Compute digests and manage sandboxes in background threads (ocaml/dune#7947,
  @rgrinberg)

- Add `(build_if)` to the `(test)` stanza. When it evaluates to false, the
  executable is not built. (ocaml/dune#7899, fixes ocaml/dune#6938, @emillon)

- Add necessary parentheses in generated opam constraints (ocaml/dune#7682, fixes ocaml/dune#3431,
  @Lucccyo)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment