Incorrect META for version 1.3.0
The generated META
file for the why3
OCaml library is incorrect in some cases, which leads to linking problems (e.g., using the -linkpkg
option of ocamlfind
. The problem I am having occurs in an environment where the (optional) re
package is present. At linking time I get complaints about implementations missing for this package.
To reproduce one can try to compile a file test.ml
containing
let _ = Why3.Whyconf.read_config None
using the command
ocamlfind ocamlopt -package why3 -o test -linkpkg test.ml
which should yield the following error.
Error: No implementations provided for the following modules:
Re referenced from /home/rodolphe/.opam/4.07.1/lib/why3/why3.cmxa(Why3)
Re__ referenced from /home/rodolphe/.opam/4.07.1/lib/why3/why3.cmxa(Why3)
Re__Str referenced from /home/rodolphe/.opam/4.07.1/lib/why3/why3.cmxa(Why3)
The META
file that was installed by opam
contains
description = "Why3 library"
version = "1.3.0"
archive(byte) = "why3.cma"
archive(native) = "why3.cmxa"
plugin(native) = "why3.cmxs"
requires = "str unix num dynlink menhirLib zip"
but the last line should rather be the following (in my case).
requires = "str unix num dynlink menhirLib zip re"
I suspect a similar issue may arise with the other optional dependencies (only camlzip
seems to be handled correctly given what I see here).