[SOLVED] Strange behaviour in shared object linking

Hello everyone,

I have some very strange behaviour when building a library that need a shared object used by another one.

I have this kind of dependency

libddsc & libddstubs <— cdds <— cdds-lwt

CDDS is available here: https://github.com/atolab/ocaml-cdds
CDDS-lwt here: https://github.com/atolab/ocaml-cdds-lwt

When I build the demo in cdds I can see those two libs using ldd (or otool on macOS) but not in the example coming from cdds-lwt, but this only on Linux, on macOS I can see the shared object in both.

These images shows the output of ldd and otool


The only difference between the two machine is the version of OCaml
Linux: 4.06.0 (beacuse I have to use some mirage packages that does not work yet with 4.07.0)
macOS: 4.07.0
opam is in both: 2.0.0

Any ideas?

I solved this, it was an error in the way it was linking the shared objects, and also the configuration file in the repo was configured for macOS, and this leads to use differeng flags in C.Pkg_config.package_conf