Ok, now the next step would be the following. Carefully check that all modules, that you're using in libraries are included in `Modules` or `InternalModules`. It is the case that sometimes when you forgot to include a module, oasis (actually `ocamlbuild`), may produce a strange, and on a first glance, irrelevant error message. If it doesn't help then the `_build/_log` file might help us to debug the issue. On Thu, Oct 27, 2016 at 10:59 AM, Jonathan DiLorenzo < dilorenzo@cs.cornell.edu> wrote: > Hey Ivan, > > Thanks for your response. > > The first one is that you didn't run `oasis setup` after you made the >> changes, so I would suggest cleaning current state >> and starting from scratch. (I usually just do `git clean -idx` just to be >> sure that I got rid of any generated files, like setup.data, et alas, but >> be careful, >> don't delete something that you need). >> > > I tried cleaning up all the generated files. Same error unfortunately > > >> Another idea is that you're using oasis 0.4.7 with ocaml-4.03.0+flambda, >> they are currently incompatible, and can produce weird bugs. If that so, >> then consider switching >> either a compiler or oasis to different versions. >> > > I am using oasis 0.4.7 and ocaml-4.03.0, but I don't appear to be using > flambda. I tried passing in -config and it said that flambda was false at > least, but I admit, I'm not especially familiar with it, so if there's some > other way I should be checking for this please let me know. Hopefully, > they're compatible sans flambda? > > > On Thu, Oct 27, 2016 at 1:01 AM, Jonathan DiLorenzo < >> dilorenzo@cs.cornell.edu> wrote: >> >>> 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 >>> >>> >> >