Hey all, I'm trying to build my system using Oasis and OCamlbuild. I have 3 different libraries and for some reason I seem to only be able to refer from one to the other in seemingly random files. For example, I want my 'ppx' library to be able to use functions from my 'parser' library. One file (ppx_forest.ml) can use functions from it, while another in the same library (skins.ml) cannot, giving me this error: File "_none_", line 1: Error: No implementations provided for the following modules: Forest_parser_helper referenced from ppx/ppx.cmxa(Skins) Command exited with code 2. They can all refer to types I've defined therein though. I'm not fantastic at Oasis so maybe I'm just missing something basic? Any ideas? Any more information I can gather to give more context otherwise? Thanks in advance, Jonathan Excerpt of my Oasis file that may possibly be relevant: Library forest Path: lib BuildTools: ocamlbuild BuildDepends: pads, str, re, re.glob, core, threads, ppx_let CompiledObject: best Modules: Forest, PadsInterface Library parser Path: parsing BuildTools: ocamlbuild, menhir, ocamllex Findlibparent: forest Findlibname: parser BuildDepends: forest, ppx_deriving.show, compiler-libs.common CompiledObject: best Modules: Forest_parser_helper InternalModules: Forest_lexer, Forest_parser, Forest_types Library ppx Path: ppx BuildTools: ocamlbuild Findlibparent: forest Findlibname: ppx BuildDepends: re, re.str, forest.parser, forest, ppx_tools.metaquot CompiledObject: best Modules: Ppx_forest InternalModules: Ppx_forest_lib, Utility, Skins XMETAEnable: true XMETARequires: str re core threads ppx_tools.metaquot XMETAExtraLines: ppx = "ppx_forest" Executable ppx_forest Path: ppx MainIs: ppx_forest.ml BuildDepends: forest, forest.parser, forest.ppx, pads.ppx, ppx_tools.metaquot CompiledObject: best