Specify local library directory in _oasis

Hello,

In Oasis, do you know how can I modify the search path of ocamlfind to point to where a local package (in my case “packedliba”) is?

I have two separate projects, project_a and project_b. Already packed for project_a the package “packedliba”, with the _oasis file:

Library packedliba
Pack: true
Path: .
Modules: A

And now, would like to refer to that compiled package “packedliba” in the project_b.
So, wrote down the _oasis file for this project_b, like:

BetaFeatures: findlib_directory

Library b
  FindlibDirectory: ../project_a
  BuildDepends: packedliba
  Path: .
  Modules: B
  ByteOpt: -I ../project_a
  NativeOpt: -I ../project_a
  Install: false

Also added at the bottom of the project_b _tags file the line:
“…/project_a”: include

When making, get the following output:

[marianaf@localhost project_b]$ make
ocaml setup.ml -configure
ocamlfind: Package `packedliba’ not found
W: Field ‘pkg_packedliba’ is not set: Command ‘’/home/marianaf/.opam/default/bin/ocamlfind’ query -format %d packedliba > ‘/tmp/oasis-d56eac.txt’’ terminated with error code 2
E: Cannot find findlib package packedliba
E: Failure(“1 configuration error”)

In which I think ocamlfind fails to find the “packedliba” since is not looking where it is, but on the default place.

thanks!

[edit]:
think I found a workaround:

Side note, and I’m sure absolutely not the one you want to get, because I’m not actually answering your question (for which I apologize in advance): right now, people are largely abandoning Oasis as a build system. Dune is rapidly starting to dominate the ecosystem.

2 Likes

Does oasis supports jbuilder/dune nowadays?

I think it doesn’t… On github there’s just ocamlbuild and omake as far as I can see…