Re: Compilation problem with 3.3.7 and trunk
Gerd Stolpmann <[email protected]> Wed, 24 Aug 2011 14:16:28 +0200
| Newsgroups | gmane.comp.lang.ocaml.lib.net.devel |
|---|---|
| Message-ID | <1314188188.3496.28.camel@thinkpad> |
Won't fix. This ocaml version is ancient... You can fix it locally by adding at the beginning of netmcore_heap.ml: let set_double_field x i v = Array.set (obj x : float array) i v and change "Obj.set_double_field" into a plain "set_double_field". If you need a way to install a recent version of ocaml onto machines with older OS, you may consider GODI, godi.camlcity.org. Gerd Am Mittwoch, den 24.08.2011, 11:57 +0100 schrieb Theodore Hong: > fyi, compilation also seems to fail for a different reason with Ocaml 3.11.1: > > ocamlfind ocamlc -g -I ../../src/equeue -I ../../src/rpc -I > ../../src/netstring -I ../../src/netsys -I ../../src/netplex -I > ../../src/netcamlbox -package "unix" -c netmcore_heap.ml > File "netmcore_heap.ml", line 776, characters 1-21: > Error: Unbound value Obj.set_double_field > make[1]: *** [netmcore_heap.cmo] Error 2 > make[1]: Leaving directory > `/usr/scratch/rupert/thong/tmp/lib-ocamlnet2/code/src/netmulticore' > make: *** [all] Error 2 > penny:~/scratch/tmp/lib-ocamlnet2/code$ ocaml -version > The Objective Caml toplevel, version 3.11.1 > > theo > > > On Tue, Aug 23, 2011 at 6:29 PM, Gerd Stolpmann <[email protected]> wrote: > > Fixed in svn. There were some typing stuff that only built with ocaml > > 3.12, and adding a few type hints fixed it. > > > > An orderly release will follow in the next days. > > > > Gerd > > > > Am Dienstag, den 23.08.2011, 14:08 +0100 schrieb Theodore Hong: > >> Hi, I can't compile ocamlnet 3.3.7 - I get: > >> > >> > >> make[1]: Entering directory `/tmp/ocamlnet-3.3.7/src/netstring' > >> ocamlfind ocamlc -g -I ../../src/netsys -package "pcre bigarray unix" > >> -c netglob.ml > >> File "netglob.ml", line 1, characters 0-1: > >> Error: The implementation netglob.ml > >> does not match the interface netglob.cmi: > >> Class declarations do not match: > >> class of_stream_fs : > >> < copy : [> Netfs.copy_flag ] list -> string -> string -> unit; > >> mkdir : [> Netfs.mkdir_flag ] list -> string -> unit; > >> nominal_dot_dot : bool; > >> path_encoding : [< Netconversion.encoding ] option; > >> path_exclusions : (int * int) list; > >> read : [> Netfs.read_flag ] list -> > >> string -> #Netchannels.in_obj_channel; > >> readdir : [> Netfs.readdir_flag ] list -> string -> string list; > >> readlink : [> Netfs.readlink_flag ] list -> string -> string; > >> remove : [> Netfs.remove_flag ] list -> string -> unit; > >> rename : [> Netfs.rename_flag ] list -> string -> string -> unit; > >> rmdir : [> Netfs.rmdir_flag ] list -> string -> unit; > >> size : [> Netfs.size_flag ] list -> string -> int64; > >> symlink : [> Netfs.symlink_flag ] list -> > >> string -> string -> unit; > >> test : [> Netfs.test_flag ] list -> > >> string -> [> Netfs.test_type ] -> bool; > >> test_list : [> Netfs.test_flag ] list -> > >> string -> [> Netfs.test_type ] list -> bool list; > >> write : [> Netfs.write_flag ] list -> > >> string -> #Netchannels.out_obj_channel; > >> .. > -> > >> of_dual_stream_fs > >> does not match > >> class of_stream_fs : #Netfs.stream_fs -> glob_fsys > >> A parameter has type > >> < copy : ([> Netfs.copy_flag ] as 'a) list -> > >> string -> string -> unit; > >> mkdir : [> Netfs.mkdir_flag ] list -> string -> unit; > >> nominal_dot_dot : bool; > >> path_encoding : [< Netconversion.encoding ] option; > >> path_exclusions : (int * int) list; > >> read : [> Netfs.read_flag ] list -> > >> string -> #Netchannels.in_obj_channel; > >> readdir : [> Netfs.readdir_flag ] list -> string -> string list; > >> readlink : [> Netfs.readlink_flag ] list -> string -> string; > >> remove : [> Netfs.remove_flag ] list -> string -> unit; > >> rename : [> Netfs.rename_flag ] list -> string -> string -> unit; > >> rmdir : [> Netfs.rmdir_flag ] list -> string -> unit; > >> size : [> Netfs.size_flag ] list -> string -> int64; > >> symlink : [> Netfs.symlink_flag ] list -> string -> string -> unit; > >> test : [> Netfs.test_flag ] list -> > >> string -> [> Netfs.test_type ] -> bool; > >> test_list : [> Netfs.test_flag ] list -> > >> string -> [> Netfs.test_type ] list -> bool list; > >> write : [> Netfs.write_flag ] list -> > >> string -> #Netchannels.out_obj_channel; > >> .. > > >> but is expected to have type > >> #Netfs.stream_fs as 'b = > >> < copy : Netfs.copy_flag list -> string -> string -> unit; > >> mkdir : Netfs.mkdir_flag list -> string -> unit; > >> nominal_dot_dot : bool; > >> path_encoding : Netconversion.encoding option; > >> path_exclusions : (int * int) list; > >> read : Netfs.read_flag list -> > >> string -> Netchannels.in_obj_channel; > >> readdir : Netfs.readdir_flag list -> string -> string list; > >> readlink : Netfs.readlink_flag list -> string -> string; > >> remove : Netfs.remove_flag list -> string -> unit; > >> rename : Netfs.rename_flag list -> string -> string -> unit; > >> rmdir : Netfs.rmdir_flag list -> string -> unit; > >> size : Netfs.size_flag list -> string -> int64; > >> symlink : Netfs.symlink_flag list -> string -> string -> unit; > >> test : Netfs.test_flag list -> string -> Netfs.test_type -> bool; > >> test_list : Netfs.test_flag list -> > >> string -> Netfs.test_type list -> bool list; > >> write : Netfs.write_flag list -> > >> string -> Netchannels.out_obj_channel; > >> .. > > >> Type 'a = [> `Dummy ] is not compatible with type > >> Netfs.copy_flag = [ `Dummy ] > >> make[1]: *** [netglob.cmo] Error 2 > >> make[1]: Leaving directory `/tmp/ocamlnet-3.3.7/src/netstring' > >> make: *** [all] Error 2 > >> > >> > >> Any ideas? The same problem occurs in trunk as well. This is OCaml > >> 3.11.2 on Ubuntu Lucid. > >> > >> thanks, > >> theo > >> > >> ------------------------------------------------------------------------------ > >> Get a FREE DOWNLOAD! and learn more about uberSVN rich system, > >> user administration capabilities and model configuration. Take > >> the hassle out of deploying and managing Subversion and the > >> tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2 > >> _______________________________________________ > >> Ocamlnet-devel mailing list > >> [email protected] > >> https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > >> > > > > -- > > ------------------------------------------------------------ > > Gerd Stolpmann, Darmstadt, Germany [email protected] > > Creator of GODI and camlcity.org. > > Contact details: http://www.camlcity.org/contact.html > > Company homepage: http://www.gerd-stolpmann.de > > *** Searching for new projects! Need consulting for system > > *** programming in Ocaml? Gerd Stolpmann can help you. > > ------------------------------------------------------------ > > > > > > ------------------------------------------------------------------------------ > EMC VNX: the world's simplest storage, starting under $10K > The only unified storage solution that offers unified management > Up to 160% more powerful than alternatives and 25% more efficient. > Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev > _______________________________________________ > Ocamlnet-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany [email protected] Creator of GODI and camlcity.org. Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de *** Searching for new projects! Need consulting for system *** programming in Ocaml? Gerd Stolpmann can help you. ------------------------------------------------------------ ------------------------------------------------------------------------------ EMC VNX: the world's simplest storage, starting under $10K The only unified storage solution that offers unified management Up to 160% more powerful than alternatives and 25% more efficient. Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev