Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001630OCaml~DO NOT USE (was: OCaml general)public2003-04-11 19:382016-12-07 14:53
Assigned Tolpw25 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0001630: Signature mismatch or Unbound module type?
DescriptionFull_Name: John Gerard Malecki
Version: 3.06
OS: any
Submission from: (

I made an error and forgot to install a .cmi file along with my .cma library.
It was an easy error to make as this .cmi file did not have an associated
implementation file. When I compile using the library I get the message

  :; ocamlc -i -c
  File "", line 6, characters 32-45:
  Signature mismatch:
  Modules do not match:
    sig type t = float * float * int end
  is not included in

Is it possible to improve this message? There really isn't a signature
Their simply isn't a definition of Pure.T.

I know this sounds trivial and maybe not really a bug. In fact it might even be
considered a feature but I haven't figured how to take advantage of it yet.

My big concern is that the library developer cannot tell if their installation
is correct without testing all of the interfaces to the library. I prefer ocaml
as it has static interface checking. Maybe there should be a tool that
examines a linkage and checks that all interfaces are defined? This way after
installation the library developer can check that all interface files are also
installed. What do you think?

Send me email if you want me to supply a test case or describe in better

TagsNo tags attached.
Attached Files

- Relationships

-  Notes
lpw25 (developer)
2013-11-05 15:46

The error message for this case has since been improved, so that you would receive something like:

  File "", line 2, characters 21-44:
  Error: Signature mismatch:
         Modules do not match: sig type t = int end is not included in Other.T
         Unbound module type Pure.T

which does indicate that the module type cannot be found.

- Issue History
Date Modified Username Field Change
2005-11-18 10:13 administrator New Issue
2013-11-05 15:46 lpw25 Note Added: 0010591
2016-12-07 14:53 shinwell Status acknowledged => resolved
2016-12-07 14:53 shinwell Resolution open => fixed
2016-12-07 14:53 shinwell Assigned To => lpw25
2017-02-23 16:36 doligez Category OCaml general => -OCaml general
2017-03-03 17:55 doligez Category -OCaml general => -(deprecated) general
2017-03-03 18:01 doligez Category -(deprecated) general => ~deprecated (was: OCaml general)
2017-03-06 17:04 doligez Category ~deprecated (was: OCaml general) => ~DO NOT USE (was: OCaml general)

Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker