Hi Mary and Jerome, in the context of the Debian transition to OCaml 3.11, I've just rebuilt galax against that compiler version and the latest version of PXP (namely 1.2.1, released some weeks ago). Galax _does_not_build_ out of the box with such combination. The reasons are as follows: 1) galax's ./configure makes assumptions on the OCaml version, explicitly requiring version 3.10 (for not real reason apparently as it seems to build and work even with 3.11) 2) stream syntax in the latest camlp4 seems to be non-backward compatible, in particular it now forbids trailing ";" inside stream parsers 3) latest PXP is stricter in the usage of the module Pxp_types_core, which should not have been used, preferring Pxp_types (which has always included the former anyhow) 4) latest PXP has dropped the parsing events E_pinstr_*, by just retaining E_pinstr The attached patches fix all such problem, making Galax buildable against OCaml 3.11 and PXP 1.2.1. Can you please consider applying them for future releases of Galax? Also, I suggest dropping the requirement of specific (rather than minimum) OCaml compiler version. Unless I'm missing something I don't see much the point of such check ... Many thanks in advance, Cheers. -- Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7 zack@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/ Dietro un grande uomo c'è ..| . |. Et ne m'en veux pas si je te tutoie sempre uno zaino ...........| ..: |.... Je dis tu à tous ceux que j'aime
#! /bin/sh /usr/share/dpatch/dpatch-run ## ocaml-3.11.dpatch by Stefano Zacchiroli <zack@debian.org> ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: bump expected OCaml version to 3.11 @DPATCH@ diff -urNad galax~/configure galax/configure --- galax~/configure 2008-07-19 22:21:07.000000000 +0200 +++ galax/configure 2009-03-19 11:57:34.010444044 +0100 @@ -18,7 +18,7 @@ # value 2: on by command line ("forced") version="1.0" -ocaml_version="3.10" +ocaml_version="3.11" # Function: print_options() # Description: # Print the current values of all options
#! /bin/sh /usr/share/dpatch/dpatch-run ## ocaml-3.11.dpatch by Stefano Zacchiroli <zack@debian.org> ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: port code to build against PXP 1.2 @DPATCH@ diff -urNad galax~/base/encoding.ml galax/base/encoding.ml --- galax~/base/encoding.ml 2008-07-19 22:21:07.000000000 +0200 +++ galax/base/encoding.ml 2009-03-19 12:20:38.942492094 +0100 @@ -131,14 +131,14 @@ let write_ascii s = (* Write the ASCII-encoded string 's' *) let s' = convert_ascii s in - Pxp_core_types.write os s' 0 (String.length s') + Pxp_types.write os s' 0 (String.length s') in let write_part j l = (* Writes the substring of 'content' beginning at pos 'j' with length 'l' *) if to_enc = (from_enc :> encoding) then - Pxp_core_types.write os content j l + Pxp_types.write os content j l else begin let s' = Netconversion.recode_string ~in_enc:(from_enc :> encoding) @@ -147,7 +147,7 @@ convert_ascii ("&#" ^ string_of_int n ^ ";")) (String.sub content j l) in - Pxp_core_types.write os s' 0 (String.length s') + Pxp_types.write os s' 0 (String.length s') end in let i = ref 0 in @@ -197,6 +197,6 @@ try Pxp_aux.character enc global_warner k with - | Pxp_core_types.WF_error msg -> + | Pxp_types.WF_error msg -> raise (Query (Undefined msg)) diff -urNad galax~/regress/test_core.ml galax/regress/test_core.ml --- galax~/regress/test_core.ml 2008-07-19 22:21:07.000000000 +0200 +++ galax/regress/test_core.ml 2009-03-19 12:28:41.646448174 +0100 @@ -732,7 +732,7 @@ let expected_stream = typed_stream_of_io (File_Input output_file) in compare_streams case output_file result_stream expected_stream compared_plan with - | Pxp_core_types.Error _ as e -> + | Pxp_types.Error _ as e -> if !(Conf.genresults) then begin @@ -755,7 +755,7 @@ let expected_stream = typed_stream_of_io (File_Input output_file) in compare_streams case output_file result_stream expected_stream compared_plan with - | Pxp_core_types.Error _ as e -> + | Pxp_types.Error _ as e -> if !(Conf.genresults) then begin diff -urNad galax~/schema/schema_dtd_import.ml galax/schema/schema_dtd_import.ml --- galax~/schema/schema_dtd_import.ml 2008-07-19 22:21:07.000000000 +0200 +++ galax/schema/schema_dtd_import.ml 2009-03-19 12:23:55.478444056 +0100 @@ -15,7 +15,7 @@ This module imports a DTD as a set of XML Schema declarations. *) -open Pxp_core_types +open Pxp_types open Pxp_dtd open Error diff -urNad galax~/schema/schema_import.mlp galax/schema/schema_import.mlp --- galax~/schema/schema_import.mlp 2008-07-19 22:21:07.000000000 +0200 +++ galax/schema/schema_import.mlp 2009-03-19 12:15:47.310444622 +0100 @@ -1075,7 +1075,7 @@ end let global_notation ims = parser - | [< _ = skip_element_named "notation"; >] -> () + | [< _ = skip_element_named "notation" >] -> () let global_attribute ims = parser | [< (ims,atts,fi) = open_tag ims "attribute"; diff -urNad galax~/streaming/streaming_parse.ml galax/streaming/streaming_parse.ml --- galax~/streaming/streaming_parse.ml 2008-07-19 22:21:07.000000000 +0200 +++ galax/streaming/streaming_parse.ml 2009-03-19 12:22:43.691238705 +0100 @@ -130,8 +130,6 @@ Some (fmkse_event (SAX_characters (make_text_desc data)) (!fi_ref)) | E_pinstr (target,value,entid) -> Some (fmkse_event (SAX_processingInstruction (make_pi_desc target value)) (!fi_ref)) - | E_pinstr_member (target,value,entid) -> - Some (fmkse_event (SAX_processingInstruction (make_pi_desc target value)) (!fi_ref)) | E_comment content -> Some (fmkse_event (SAX_comment (make_comment_desc content)) (!fi_ref)) (* Silently ignoring super root event *)
Attachment:
signature.asc
Description: Digital signature