From: Ivan Gotovchits <ivg@ieee.org>
To: Jonathan DiLorenzo <dilorenzo@cs.cornell.edu>
Cc: caml-list <caml-list@inria.fr>
Subject: Re: [Caml-list] Providing module implementations for Oasis
Date: Thu, 27 Oct 2016 11:34:59 -0400 [thread overview]
Message-ID: <CALdWJ+yVHn1Jtu0RyFQiyn1DTFK5c8SBbbvk2j0V02ks_47sbA@mail.gmail.com> (raw)
In-Reply-To: <CADYFzVZ7B+kMGzecYf9PSk8y8=4wevQxmbhiMgeLa_-XQPWyRQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3867 bytes --]
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
>>>
>>>
>>
>
[-- Attachment #2: Type: text/html, Size: 6083 bytes --]
next prev parent reply other threads:[~2016-10-27 15:35 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-27 5:01 Jonathan DiLorenzo
2016-10-27 11:58 ` Ivan Gotovchits
2016-10-27 14:59 ` Jonathan DiLorenzo
2016-10-27 15:34 ` Ivan Gotovchits [this message]
2016-10-27 17:51 ` Jonathan DiLorenzo
[not found] ` <CADYFzVZCap-rXtA0CmMhHHk78LsNKeROxJPPj2coL6FritaNjw@mail.gmail.com>
2016-10-27 18:24 ` Ivan Gotovchits
2016-10-28 6:14 ` Jonathan DiLorenzo
2016-10-28 13:06 ` Ivan Gotovchits
2016-10-28 14:28 ` Jonathan DiLorenzo
2016-10-28 16:19 ` Nate Foster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CALdWJ+yVHn1Jtu0RyFQiyn1DTFK5c8SBbbvk2j0V02ks_47sbA@mail.gmail.com \
--to=ivg@ieee.org \
--cc=caml-list@inria.fr \
--cc=dilorenzo@cs.cornell.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox