From: Pietro A. <Pie...@an...> - 2004-02-03 02:24:36
|
Hi all, I want to distribute extlib with my project and to do so I added a Makefile to it. When compiling it on debian unstable (ocaml 3.07) everything it's ok. When I try to compile the same code, with the same makefile and ocaml 3.06 (debian woody) I get a complain about extString: [...] ocamlc -c extString.mli ocamlc -c extString.ml The implementation extString.ml does not match the interface extString.cmi: Modules do not match: sig exception Invalid_string external length : string -> int = "%string_length" external get : string -> int -> char = "%string_safe_get" external set : string -> int -> char -> unit = "%string_safe_set" external create : int -> string = "create_string" val make : int -> char -> string val copy : string -> string [...] val lowercase : string -> string val capitalize : string -> string val uncapitalize : string -> string type t = string val compare : t -> t -> int end The field `compare' is required but not provided The field `t' is required but not provided make[1]: *** [extString.cmo] Error 2 #> my naive solution was to add type t = string let compare = compare in the extString.ml file. now it compiles with ocmal 3.06, but it complains with 3.07 because there's a dup definition... is it a known problem ? attached there's the makefile (using OCamlMakefile) and the META file that might be useful having in the extlib distribution... p -- ++ Our capacity for understanding is inversely proportional to how much we think we know. The more I know, the more I know I don't know... ++ Please avoid sending me Word or PowerPoint attachments. See http://www.fsf.org/philosophy/no-word-attachments.html |