Skip to content

Failing to build with fresh up-to-date environment #1

@timwoj

Description

@timwoj

I admittedly have next-to-zero exposure with OCaml, so it's possible I'm holding something wrong here. make fails due to the following errors:

yacc-language-server% make
dune build
File "src/controller/io_tests.ml", lines 17-19, characters 2-39:
17 | ..Expect_test_config_types.S
18 |     with module IO_run = Lwt_io_run
19 |      and module IO_flush = Lwt_io_flush.........
Error: The signature constrained by with has no component named IO_run
File "src/controller/mock.ml", line 55, characters 44-66:
55 |                  Diagnostic.create ~message:"invalid character: %"
                                                 ^^^^^^^^^^^^^^^^^^^^^^
Error: This expression has type string but an expression was expected of type
         [ `MarkupContent of MarkupContent.t | `String of string ]
File "src/analyzer/lexer.mll", line 75, characters 47-54:
Error: This expression has type string but an expression was expected of type
         [ `MarkupContent of MarkupContent.t | `String of string ]
File "src/analyzer/syntax.ml", line 440, characters 56-63:
440 |                  append_diagnostics (Diagnostic.create ~message ~range ())
                                                              ^^^^^^^
Error: This expression has type string but an expression was expected of type
         [ `MarkupContent of MarkupContent.t | `String of string ]
make: *** [build] Error 1                       

Here's my environment, which is basically just a fresh install of ocaml, dune, and opam from Brew, and then the dependencies installed via opam install:

yacc-language-server% ocamlc --version
5.2.1
yacc-language-server% dune --version
3.17.2
yacc-language-server% opam --version
2.3.0
yacc-language-server% opam list -i
# Packages matching: installed
# Name                  # Installed # Synopsis
base                    v0.17.1     Full standard library replacement for OCaml
base-bigarray           base
base-bytes              base        Bytes library distributed with the OCaml compiler
base-domains            base
base-nnp                base        Naked pointers prohibited in the OCaml heap
base-threads            base
base-unix               base
cppo                    1.8.0       Code preprocessor like cpp for OCaml
csexp                   1.5.2       Parsing and printing of S-expressions in Canonical form
dune                    3.17.2      Fast, portable, and opinionated build system
dune-configurator       3.17.2      Helper library for gathering system configuration
fmt                     0.10.0      OCaml Format pretty-printer combinators
jane-street-headers     v0.17.0     Jane Street C header files
jsonrpc                 1.22.0      Jsonrpc protocol implemenation
jst-config              v0.17.0     Compile-time configuration for Jane Street libraries
logs                    0.8.0       Logging infrastructure for OCaml
lsp                     1.22.0      LSP protocol implementation in OCaml
lwt                     5.9.1       Promises and event-driven I/O
menhir                  20240715    An LR(1) parser generator
menhirCST               20240715    Runtime support library for parsers generated by Menhir
menhirLib               20240715    Runtime support library for parsers generated by Menhir
menhirSdk               20240715    Compile-time library for auxiliary tools related to Menhir
ocaml                   5.2.1       The OCaml compiler (virtual package)
ocaml-compiler-libs     v0.17.0     OCaml compiler libraries repackaged
ocaml-config            3           OCaml Switch Configuration
ocaml-system            5.2.1       The OCaml compiler (system version, from outside of opam)
ocaml_intrinsics_kernel v0.17.1     Intrinsics
ocamlbuild              0.16.1      OCamlbuild is a build system with builtin rules to easily build most OCaml
ocamlfind               1.9.8       A library manager for OCaml
ocplib-endian           1.2         Optimised functions to read and write int16/32/64 from strings and bigarra
ppx_assert              v0.17.0     Assert-like extension nodes that raise useful errors on failure
ppx_base                v0.17.0     Base set of ppx rewriters
ppx_cold                v0.17.0     Expands [@cold] into [@inline never][@specialise never][@local never]
ppx_compare             v0.17.0     Generation of comparison functions from types
ppx_derivers            1.2.1       Shared [@@deriving] plugin registry
ppx_deriving            6.0.3       Type-driven code generation for OCaml
ppx_enumerate           v0.17.0     Generate a list containing all values of a finite type
ppx_expect              v0.17.2     Cram like framework for OCaml
ppx_globalize           v0.17.0     A ppx rewriter that generates functions to copy local values to the global
ppx_hash                v0.17.0     A ppx rewriter that generates hash functions from type expressions and def
ppx_here                v0.17.0     Expands [%here] into its location
ppx_inline_test         v0.17.0     Syntax extension for writing in-line tests in ocaml code
ppx_optcomp             v0.17.0     Optional compilation for OCaml
ppx_sexp_conv           v0.17.0     [@@deriving] plugin to generate S-expression conversion functions
ppx_yojson_conv_lib     v0.17.0     Runtime lib for ppx_yojson_conv
ppxlib                  0.35.0      Standard infrastructure for ppx rewriters
ppxlib_jane             v0.17.0     Utilities for working with Jane Street AST constructs
seq                     base        Compatibility package for OCaml's standard iterator type starting from 4.0
sexplib0                v0.17.0     Library containing the definition of S-expressions and some base converter
stdio                   v0.17.0     Standard IO library for OCaml
stdlib-shims            0.3.0       Backport some of the new stdlib features to older compiler
time_now                v0.17.0     Reports the current time
topkg                   1.0.8       The transitory OCaml software packager
uutf                    1.0.4       Non-blocking streaming Unicode codec for OCaml
yojson                  2.2.2       Yojson is an optimized parsing and printing library for the JSON format

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions