I’m trying to use ocsigen with the checkseum library, more specifically its C part.
I’ve duly added checkseum.c to the SERVER_PACKAGES in Makefile.options (I’m using the basic.ppx template), but now get the following error:
ocsigenserver.opt: ocsigen:main: Fatal - While loading /usr/pkg/lib/ocaml/site-lib/checkseum/c/checkseum_c.cmxs: error loading shared library: /usr/pkg/lib/ocaml/site-lib/checkseum/c/checkseum_c.cmxs: Undefined symbol “caml_checkseum_crc32c_ba” (symnum = 2)
This symbol is defined in liblaolao_stubs, part of checkseum.laolao. This is defined as a dependency of checkseum.c in the META file, and I’ve confirmed that laolao.cmxs is indeed loaded successfully.
It all works fine for bytecode only; I can also run ocsigen-start applications in native mode - those use safepass, which also has a C stub, so that would suggest that it’s a problem specifically with checkseum. Not sure what makes the difference though.
Does anybody have any ideas on how to solve/further debug this?