Ocsigen and C stubs under native code

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?

Hello Jaap!
Indeed it seems there is something wrong with you cmxs.
I tried opam install checkseum
and then putting <extension findlib-package="checkseum"/> in Ocsigen Server config file, and everything loads ok for me.
Do you have an idea how to reproduce the problem?