From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id EE86F7F61D for ; Thu, 27 Oct 2016 07:02:08 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=jonathan.dilorenzo@gmail.com; spf=Pass smtp.mailfrom=jonathan.dilorenzo@gmail.com; spf=None smtp.helo=postmaster@mail-oi0-f47.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of jonathan.dilorenzo@gmail.com) identity=pra; client-ip=209.85.218.47; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jonathan.dilorenzo@gmail.com"; x-sender="jonathan.dilorenzo@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of jonathan.dilorenzo@gmail.com designates 209.85.218.47 as permitted sender) identity=mailfrom; client-ip=209.85.218.47; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jonathan.dilorenzo@gmail.com"; x-sender="jonathan.dilorenzo@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-oi0-f47.google.com) identity=helo; client-ip=209.85.218.47; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jonathan.dilorenzo@gmail.com"; x-sender="postmaster@mail-oi0-f47.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AiRJCDhR9jtH6E6oGuL0ItrZT59psv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa64YBWN2/xhgRfzUJnB7Loc0qyN4vqmBjRLsM3JmUtBWaQEbwUCh8?= =?us-ascii?q?QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYsExnyfTB4?= =?us-ascii?q?Ov7yUtaLyZ/mjabto9aCOE1hv3mUWftKNhK4rAHc5IE9oLBJDeIP8CbPuWZCYO?= =?us-ascii?q?9MxGlldhq5lhf44dqsrtY4q3wD86Fpy8kVWqz/e+E8TKdEJDUgKWE8osPx5jfZ?= =?us-ascii?q?Sg7axHwaW3kWmxwALwnh6wv3WIX2+n/2t+56wiScL8reRqtyUjO46apvTFnlhD?= =?us-ascii?q?pRZG1xy33elsEl1PETmxmmvREqm4M=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BbBQAwiRFYhi/aVdFcHQEFAQsBGAEFA?= =?us-ascii?q?QsBgn8BAQEBATs6cgsHpmEljFKFFoIIHod4B0ESAQEBAQEBAQEBAQESAQEBCAs?= =?us-ascii?q?LCR0wgjMYgjARHQE5Aw0FAwYHNwIkEgEFAVeIGAMXlVONRYIIgTI/MotGhEoFh?= =?us-ascii?q?AknDUQGg04CBhCSTYJbBZQ4hV6BPIRxiXWCPI1IiHqGUBMegRElDYJDgQcMN4I?= =?us-ascii?q?ZIjSIXwEBAQ?= X-IPAS-Result: =?us-ascii?q?A0BbBQAwiRFYhi/aVdFcHQEFAQsBGAEFAQsBgn8BAQEBATs?= =?us-ascii?q?6cgsHpmEljFKFFoIIHod4B0ESAQEBAQEBAQEBAQESAQEBCAsLCR0wgjMYgjARH?= =?us-ascii?q?QE5Aw0FAwYHNwIkEgEFAVeIGAMXlVONRYIIgTI/MotGhEoFhAknDUQGg04CBhC?= =?us-ascii?q?STYJbBZQ4hV6BPIRxiXWCPI1IiHqGUBMegRElDYJDgQcMN4IZIjSIXwEBAQ?= X-IronPort-AV: E=Sophos;i="5.31,404,1473112800"; d="scan'208,217";a="198312758" Received: from mail-oi0-f47.google.com ([209.85.218.47]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 27 Oct 2016 07:02:08 +0200 Received: by mail-oi0-f47.google.com with SMTP id y2so34529843oie.0 for ; Wed, 26 Oct 2016 22:02:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:from:date:message-id:subject:to; bh=faFV6PvifJPQhtqHE14RzEpKrt91LczeyizTqEp+4TM=; b=eNzS4qUL0jZxPdfVnEEuqqa4aMoiRR3Qj0P9v5zmNZzzsVZzwoOUI031RM095SA0kt F/Oz1swtPs+n0UKENeQpzKDsKYkVa6BxgpsOdiYis3mh1QNXPB23hkMd3gvbid3+74xU rLo3bbOUDN/Ft3SGH4xi3YMi5RRH3t6fbXLkB2KhYzzdSRGIQ/Tc1RXnfJRbK2CPBLlT 0wa0HCUwfKCBLoT07YcquMSWnT83FoBAyg23RsXunZHsHwFmZY8eg1hyxJcTrf8SNOA1 ugb42og0uVAtmPtR9hym5vdlkulKdGwmaTKddl5XK6AjMZb1af4uZD/BgXULGMdZcJXA gIOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:from:date:message-id:subject :to; bh=faFV6PvifJPQhtqHE14RzEpKrt91LczeyizTqEp+4TM=; b=gulVUtxJZWZBeU96VYAKdv0ZLGpwXD/i/EpPg6tZbptn5pH6tMNgUv7c7Gjc7sMZaX M1HQQxhN4vb+fnceB035S5xtcLLp5dQOOYRhwBE6cuZTgDxU9m4NrBLhRzSw0/yIrcKn yLiUIr/uDeDyCe3yPerkOvCOrtcPWmnRS6Y4A6I37ffBB7WDEozW8gZxJZTa5cvhz0qr I7gXFJOYgUmRsB2f/6j9+WiPl3VFlC6jqm6tghdvck+esh1XNlyb3CGlreAn0zU7Dk1g bLBwTPASe+/xd7P4GfiDtygZWPCJQxHTtiIZA69t403jC87ZJvIJYUxqtFBVL9QGjxiy pBOw== X-Gm-Message-State: ABUngvesVVFBnVPUkyOg9LfjucE0z+xHQxsNSXOUuBoJdPfFv8ihC2+L+r95NXkkgoCfr3q1rCptZBokLsuAaw== X-Received: by 10.36.31.137 with SMTP id d131mr9238168itd.68.1477544526453; Wed, 26 Oct 2016 22:02:06 -0700 (PDT) MIME-Version: 1.0 Sender: jonathan.dilorenzo@gmail.com Received: by 10.36.193.67 with HTTP; Wed, 26 Oct 2016 22:01:46 -0700 (PDT) From: Jonathan DiLorenzo Date: Thu, 27 Oct 2016 01:01:46 -0400 X-Google-Sender-Auth: DxXC3lqnoJ7Z6SsBHsaXEGQSbTY Message-ID: To: caml-list@inria.fr Content-Type: multipart/alternative; boundary=001a11446c5ea3a26c053fd1a4a7 X-Validation-by: dilorenzo@cs.cornell.edu Subject: [Caml-list] Providing module implementations for Oasis --001a11446c5ea3a26c053fd1a4a7 Content-Type: text/plain; charset=UTF-8 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 --001a11446c5ea3a26c053fd1a4a7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hey all,

I'm trying to build my sys= tem using Oasis and OCamlbuild. I have 3 different libraries and for some r= eason I seem to only be able to refer from one to the other in seemingly ra= ndom 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:<= /div>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Forest_parser_helper referenced= from ppx/ppx.cmxa(Skins)
Command exited with code 2.
=

They can all refer to types I've defined therein th= ough.

I'm not fantastic at Oasis so maybe I= 9;m just missing something basic? Any ideas? Any more information I can gat= her to give more context otherwise?

Thanks in adva= nce,
Jonathan

Excerpt of my Oasis file t= hat may possibly be relevant:

Library forest= =C2=A0
=C2=A0 Path: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0lib
=C2=A0 BuildTools: =C2=A0 =C2=A0ocamlbuild
=C2=A0 BuildDepends= : =C2=A0 pads, str, re, re.glob, core, threads, ppx_let
=C2=A0 Co= mpiledObject: best
=C2=A0 Modules: =C2=A0 =C2=A0 =C2=A0 Forest, P= adsInterface

Library parser
=C2=A0 Path:= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 parsing
=C2=A0 BuildTools: = =C2=A0 =C2=A0 ocamlbuild, menhir, ocamllex
=C2=A0 Findlibparent: = =C2=A0forest
=C2=A0 Findlibname: =C2=A0 =C2=A0parser
= =C2=A0 BuildDepends: =C2=A0 forest, ppx_deriving.show, compiler-libs.common= =C2=A0
=C2=A0 CompiledObject: best
=C2=A0 Modules: =C2=A0Fo= rest_parser_helper
=C2=A0 InternalModules: Forest_lexer, Forest_p= arser, Forest_types

Library ppx
=C2=A0 P= ath: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ppx
=C2=A0 BuildTools: = =C2=A0 =C2=A0 ocamlbuild
=C2=A0 Findlibparent: =C2=A0forest
=
=C2=A0 Findlibname: =C2=A0 =C2=A0ppx
=C2=A0 BuildDepends: = =C2=A0 re, re.str, forest.parser, forest, ppx_tools.metaquot
=C2= =A0 CompiledObject: best
=C2=A0 Modules: =C2=A0 =C2=A0 =C2=A0 =C2= =A0Ppx_forest
=C2=A0 InternalModules: Ppx_forest_lib, Utility, Sk= ins
=C2=A0 XMETAEnable: =C2=A0 =C2=A0true
=C2=A0 XMETAR= equires: =C2=A0 str re core threads ppx_tools.metaquot
=C2=A0 XME= TAExtraLines: =C2=A0ppx =3D "ppx_forest"

Executable ppx_forest
=C2=A0 Path: =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 ppx
=C2=A0 MainIs: =C2=A0 =C2=A0 =C2=A0 =C2=A0 ppx_forest.ml
=C2=A0 BuildDepends: =C2= =A0 forest, forest.parser, forest.ppx, pads.ppx, ppx_tools.metaquot
=C2=A0 CompiledObject: best

--001a11446c5ea3a26c053fd1a4a7--