From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=disabled version=3.1.3 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id E9994BB84 for ; Tue, 9 Sep 2008 15:38:07 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Am4CABcZxkjAXQImiGdsb2JhbACCNDCPLD4BAQEPIJwBhxQBAoNr X-IronPort-AV: E=Sophos;i="4.32,365,1217800800"; d="scan'208";a="28978466" Received: from discorde.inria.fr ([192.93.2.38]) by mail4-smtp-sop.national.inria.fr with ESMTP; 09 Sep 2008 15:38:07 +0200 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m89Dc2Zl018981 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Tue, 9 Sep 2008 15:38:07 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArYCALsYxkjRVdkVgGdsb2JhbACCNDCPLD4BAQ4im3uHFAECg2s X-IronPort-AV: E=Sophos;i="4.32,365,1217800800"; d="scan'208";a="16745318" Received: from mail-gx0-f21.google.com ([209.85.217.21]) by mail3-smtp-sop.national.inria.fr with ESMTP; 09 Sep 2008 15:38:06 +0200 Received: by gxk14 with SMTP id 14so10210996gxk.9 for ; Tue, 09 Sep 2008 06:38:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:mime-version:content-type:x-google-sender-auth; bh=xlzmZFWv5iIG2jb3wBJXnS07ZDqFwmGHxkyi7WAqVzQ=; b=ZYkvmbu0owu7qt0p12uc/QN6vl7qAzZ16Py7WyL5hfwbgq/xLx3xyHVUbUPN7iUTja N4DXgJEHNI7wJVeXPkJOFD0i+wS11JikpWwm+EqQlJkb0SCAssl8dqWvJlbzakE32/GU M2osHfvyf2iCRmELcPJXNgwH3t/LxOoHUXPJk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:mime-version:content-type :x-google-sender-auth; b=GVnrodepWIWTrAx/TZl7Fhc+srPSfJUvrzr431SgVx0VF3+sIkG2ye4J1cSqWD+rLw ffJrTa/kLerkcO2sC2holn+cF1rWi3xrMAra2zW2beei9ghLYDD8Ld45jfTxyD7xQZm+ o/pxMxzMjJli9AgsDqg2HQQIBWydBsYPY73Jw= Received: by 10.150.52.2 with SMTP id z2mr23429896ybz.129.1220967484805; Tue, 09 Sep 2008 06:38:04 -0700 (PDT) Received: by 10.150.195.6 with HTTP; Tue, 9 Sep 2008 06:38:04 -0700 (PDT) Message-ID: <926565e50809090638t2649f820sa4447b748e1ac0d5@mail.gmail.com> Date: Tue, 9 Sep 2008 15:38:04 +0200 From: "Johannes Kanig" Sender: johannes.kanig@gmail.com To: caml-list@inria.fr Subject: ocamlbuild and pack MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_127688_30712674.1220967484792" X-Google-Sender-Auth: 2e6cbdd36852e0bc X-Miltered: at discorde with ID 48C67C3B.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; lri:01 mli:01 sig:01 sig:01 cmo:01 dependencies:01 cmo:01 dependencies:01 ocaml:01 lri:01 mli:01 ocaml:01 cma:01 cma:01 modules:02 X-Attachments: cset="UTF-8" cset="UTF-8" ------=_Part_127688_30712674.1220967484792 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi List, I have the following problem. I have three files, each consisting of one line: a.ml: type t = float b.ml: type t = A.t c.ml: include B Now I want to put these modules into a pack, but I only want to export A and C, so I write a file project.mli: module A : sig type t end module C : sig type t = A.t end As I want to use ocamlbuild, I also create a file project.mlpack: A C Now, the command "ocamlbuild project.cmo" works fine, but I can't build a library from that: ocamlbuild project.cma Circular dependencies: "project.cmo" already seen in [ "b.cmo"; "project.cmo" ] There clearly aren't any circular dependencies, are there? Am I missing something? The problem goes away if I export B instead of C. So the troublemaker seems to be the include directive. I almost forgot: I am using ocaml 3.10.2 from godi. Johannes -- Johannes Kanig johannes.kanig@lri.fr ------=_Part_127688_30712674.1220967484792 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline
Hi List,

I have the following problem. I have three files, each consisting of one line:

a.ml: type t = float
b.ml: type t = A.t
c.ml: include B

Now I want to put these modules into a pack, but I only want to export A and C, so I write a file project.mli:
module A : sig type t end
module C : sig type t = A.t end

As I want to use ocamlbuild, I also create a file project.mlpack:
A
C

Now, the command "ocamlbuild project.cmo" works fine, but I can't build a library from that:
ocamlbuild  project.cma
Circular dependencies: "project.cmo" already seen in
  [ "b.cmo"; "project.cmo" ]

There clearly aren't any circular dependencies, are there? Am I missing something?
The problem goes away if I export B instead of C. So the troublemaker seems to be the include directive.

I almost forgot: I am using ocaml 3.10.2 from godi.

Johannes

--
Johannes Kanig
johannes.kanig@lri.fr
------=_Part_127688_30712674.1220967484792--