janestreet / vcaml

OCaml bindings for the Neovim API
MIT License
144 stars 4 forks source link

Failure to build with OCaml 5.1 #5

Open kit-ty-kate opened 6 months ago

kit-ty-kate commented 6 months ago
#=== ERROR while compiling vcaml.v0.16.0 ======================================#
# context              2.2.0~beta2~dev | linux/x86_64 | ocaml-base-compiler.5.1.1 | file:///home/opam/opam-repository
# path                 ~/.opam/5.1/.opam-switch/build/vcaml.v0.16.0
# command              ~/.opam/5.1/bin/dune build -p vcaml -j 1
# exit-code            1
# env-file             ~/.opam/log/vcaml-20-5924d8.env
# output-file          ~/.opam/log/vcaml-20-5924d8.out
### output ###
# (cd _build/default && /home/opam/.opam/5.1/bin/ocamlc.opt -w -40 -g -bin-annot -I src/.vcaml.objs/byte -I /home/opam/.opam/5.1/lib/angstrom -I /home/opam/.opam/5.1/lib/angstrom-async -I /home/opam/.opam/5.1/lib/async -I /home/opam/.opam/5.1/lib/async/async_command -I /home/opam/.opam/5.1/lib/async/async_quickcheck -I /home/opam/.opam/5.1/lib/async/async_rpc -I /home/opam/.opam/5.1/lib/async_kernel -I /home/opam/.opam/5.1/lib/async_kernel/config -I /home/opam/.opam/5.1/lib/async_kernel/eager_deferred -I /home/opam/.opam/5.1/lib/async_kernel/persistent_connection_kernel -I /home/opam/.opam/5.1/lib/async_kernel/read_write_pair -I /home/opam/.opam/5.1/lib/async_rpc_kernel -I /home/opam/.opam/5.1/lib/async_unix -I /home/opam/.opam/5.1/lib/async_unix/thread_pool -I /home/opam/.opam/5.1/lib/async_unix/thread_safe_ivar -I /home/opam/.opam/5.1/lib/base -I /home/opam/.opam/5.1/lib/base/base_internalhash_types -I /home/opam/.opam/5.1/lib/base/caml -I /home/opam/.opam/5.1/lib/base/md5 -I /home/opam/.opam/5.1/lib/base/shadow_stdlib -I /home/opam/.opam/5.1/lib/base_bigstring -I /home/opam/.opam/5.1/lib/base_quickcheck -I /home/opam/.opam/5.1/lib/base_quickcheck/ppx_quickcheck/runtime -I /home/opam/.opam/5.1/lib/bigstringaf -I /home/opam/.opam/5.1/lib/bin_prot -I /home/opam/.opam/5.1/lib/bin_prot/shape -I /home/opam/.opam/5.1/lib/core -I /home/opam/.opam/5.1/lib/core/base_for_tests -I /home/opam/.opam/5.1/lib/core/command -I /home/opam/.opam/5.1/lib/core/filename_base -I /home/opam/.opam/5.1/lib/core/heap_block -I /home/opam/.opam/5.1/lib/core/univ_map -I /home/opam/.opam/5.1/lib/core/validate -I /home/opam/.opam/5.1/lib/core_kernel/bounded_int_table -I /home/opam/.opam/5.1/lib/core_kernel/bus -I /home/opam/.opam/5.1/lib/core_kernel/caml_threads -I /home/opam/.opam/5.1/lib/core_kernel/caml_unix -I /home/opam/.opam/5.1/lib/core_kernel/flags -I /home/opam/.opam/5.1/lib/core_kernel/iobuf -I /home/opam/.opam/5.1/lib/core_kernel/moption -I /home/opam/.opam/5.1/lib/core_kernel/pairing_heap -I /home/opam/.opam/5.1/lib/core_kernel/sexp_hidden_in_test -I /home/opam/.opam/5.1/lib/core_kernel/thread_pool_cpu_affinity -I /home/opam/.opam/5.1/lib/core_kernel/thread_safe_queue -I /home/opam/.opam/5.1/lib/core_kernel/timing_wheel -I /home/opam/.opam/5.1/lib/core_kernel/tuple_pool -I /home/opam/.opam/5.1/lib/core_kernel/uopt -I /home/opam/.opam/5.1/lib/core_kernel/uuid -I /home/opam/.opam/5.1/lib/core_unix -I /home/opam/.opam/5.1/lib/core_unix/bigstring_unix -I /home/opam/.opam/5.1/lib/core_unix/core_thread -I /home/opam/.opam/5.1/lib/core_unix/error_checking_mutex -I /home/opam/.opam/5.1/lib/core_unix/filename_unix -I /home/opam/.opam/5.1/lib/core_unix/iobuf_unix -I /home/opam/.opam/5.1/lib/core_unix/linux_ext -I /home/opam/.opam/5.1/lib/core_unix/nano_mutex -I /home/opam/.opam/5.1/lib/core_unix/ocaml_c_utils -I /home/opam/.opam/5.1/lib/core_unix/signal_unix -I /home/opam/.opam/5.1/lib/core_unix/squeue -I /home/opam/.opam/5.1/lib/core_unix/sys_unix -I /home/opam/.opam/5.1/lib/core_unix/time_float_unix -I /home/opam/.opam/5.1/lib/core_unix/time_ns_unix -I /home/opam/.opam/5.1/lib/core_unix/time_stamp_counter -I /home/opam/.opam/5.1/lib/core_unix/uuid -I /home/opam/.opam/5.1/lib/faraday -I /home/opam/.opam/5.1/lib/fieldslib -I /home/opam/.opam/5.1/lib/int_repr -I /home/opam/.opam/5.1/lib/jane-street-headers -I /home/opam/.opam/5.1/lib/ocaml/threads -I /home/opam/.opam/5.1/lib/ocaml/unix -I /home/opam/.opam/5.1/lib/ocaml_intrinsics -I /home/opam/.opam/5.1/lib/parsexp -I /home/opam/.opam/5.1/lib/ppx_assert/runtime-lib -I /home/opam/.opam/5.1/lib/ppx_bench/runtime-lib -I /home/opam/.opam/5.1/lib/ppx_compare/runtime-lib -I /home/opam/.opam/5.1/lib/ppx_enumerate/runtime-lib -I /home/opam/.opam/5.1/lib/ppx_expect/collector -I /home/opam/.opam/5.1/lib/ppx_expect/common -I /home/opam/.opam/5.1/lib/ppx_expect/config -I /home/opam/.opam/5.1/lib/ppx_expect/config_types -I /home/opam/.opam/5.1/lib/ppx_hash/runtime-lib -I /home/opam/.opam/5.1/lib/ppx_here/runtime-lib -I /home/opam/.opam/5.1/lib/ppx_inline_test/config -I /home/opam/.opam/5.1/lib/ppx_inline_test/runtime-lib -I /home/opam/.opam/5.1/lib/ppx_log/types -I /home/opam/.opam/5.1/lib/ppx_module_timer/runtime -I /home/opam/.opam/5.1/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/5.1/lib/ppx_stable_witness/runtime -I /home/opam/.opam/5.1/lib/ppx_stable_witness/stable_witness -I /home/opam/.opam/5.1/lib/protocol_version_header -I /home/opam/.opam/5.1/lib/re -I /home/opam/.opam/5.1/lib/semantic_version -I /home/opam/.opam/5.1/lib/seq -I /home/opam/.opam/5.1/lib/sexplib -I /home/opam/.opam/5.1/lib/sexplib/unix -I /home/opam/.opam/5.1/lib/sexplib0 -I /home/opam/.opam/5.1/lib/spawn -I /home/opam/.opam/5.1/lib/splittable_random -I /home/opam/.opam/5.1/lib/stdio -I /home/opam/.opam/5.1/lib/time_now -I /home/opam/.opam/5.1/lib/timezone -I /home/opam/.opam/5.1/lib/typerep -I /home/opam/.opam/5.1/lib/variantslib -I msgpack/protocol/src/.msgpack.objs/byte -I msgpack/rpc/src/.msgpack_rpc.objs/byte -I nvim_internal/.nvim_internal.objs/byte -intf-suffix .ml -no-alias-deps -open Vcaml__ -o src/.vcaml.objs/byte/vcaml__Api_call.cmo -c -impl src/api_call.pp.ml)
# File "src/api_call.ml", lines 108-115, characters 2-6:
# 108 | ..Applicative.Make_let_syntax
# 109 |     (struct
# 110 |       type nonrec 'a t = 'a t
# 111 | 
# 112 |       include T
# 113 |     end)
# 114 |     (Open_on_rhs_intf)
# 115 |     ()
# Error: The functor application is ill-typed.
#        These arguments:
#          $S1 Open_on_rhs_intf ()
#        do not match these parameters:
#          functor (X : Base__Applicative_intf.For_let_syntax) (Intf : ...)
#          (Impl : Intf.S) -> ...
#        1. Module $S1 matches the expected module type Base__Applicative_intf.For_let_syntax
#        2. Module Open_on_rhs_intf matches the expected module type
#        3. The functor was expected to be applicative at this position
ddickstein commented 6 months ago

I don't think Jane Street's 0.16.0 release is meant to build on the 5.1.1 switch. The preview version of 0.17.0 builds successfully. You can try it by running ./init-bleeding-vcaml-project.sh.

(On closer inspection, runtest appears to be failing for me on my Macbook but is passing for me on Linux; I will investigate that. But it's unrelated to this issue).