Hi. I'm trying to get cargo +nightly fuzz run api_calls
working in wasmtime and having trouble determining which OCaml version(s) are compatible with the spec interpreter. The repo README.md claims OCaml 4.07 or higher will work, but using 4.07 gives:
Error: syntax/types.cmi
is not a compiled interface for this version of OCaml.
It seems to be for an older version of OCaml.
While using the latest (4.14) gives:
Error: syntax/types.cmi
is not a compiled interface for this version of OCaml.
It seems to be for a newer version of OCaml.
(Aside: I sure wish it would tell me which version to use). I've just started a binary search for the right version (4.10.1 is also too old, apparently), but if someone knows offhand, it would save me some time.
Conclusion: 4.13.1 works. I guess I could regenerate the cmi files with 4.14, but I don't necessarily want to force others to upgrade, so I'll just use 4.13.1.
Joel Dice has marked this topic as resolved.
You can also build fuzzers with --no-default-features
to disable building the ocaml-needing fuzzers
Thanks, Alex.
BTW, I accidentally reversed the error messages when pasting them into my post above, but I can't edit it anymore -- just an FYI in case it's confusing.
I'm sorry for the confusion! I've now updated the readme of my fork with more helpful information regarding the OCaml build.
It's normal to need to regenerate cmi files locally when the OCaml version is switched, but 4.07 compilation will fail with the fuzzing version of the interpreter for other reasons, and might leave partially built things around that cause unhelpful error messages
I've updated the docs to clarify that OCaml 4.11.2 is the preferred version, although later ones should also work
Last updated: Dec 23 2024 at 13:07 UTC