Bug#968474: [Help] Re: Bug#968474: Please include ocamlvars.mk to avoid FTBFS because of dh_dwz

2020-08-16 Thread Stéphane Glondu
Le 16/08/2020 à 10:33, Andreas Tille a écrit :
> I've fixed this in Git.  However, when trying to build I get:
> 
> + ocamlfind ocamlc -c -annot -w Z -package batteries -package csv -package 
> xmlm -package gsl -package sqlite3 -package zip -package mcl -thread -I 
> pplacer_src -I json_src -I pam_src -I tests -I common_src -I pdprune_src -I 
> cdd_src -I tests/rppr -I tests/json -I tests/pplacer -I tests/guppy -o 
> pplacer_src/gcat_model.cmo pplacer_src/gcat_model.ml
> File "pplacer_src/gcat_model.ml", line 439, characters 22-73:
> 439 | (Enum.combine (Array.enum model.site_categories, Array.enum 
> mask)
> 
> ^^^
> Error: This expression has type 'a * 'b
>but an expression was expected of type
>  'weak3 Ppatteries.Enum.t = 'weak3 BatEnum.t
> Command exited with code 2.
> 
> 
> Any hint how to fix this?

I think this is due to a new version of ocaml-batteries.

The attached patch fixes that.


Cheers,

-- 
Stéphane
diff --git a/pplacer_src/gcat_model.ml b/pplacer_src/gcat_model.ml
index 525d354..bd16994 100644
--- a/pplacer_src/gcat_model.ml
+++ b/pplacer_src/gcat_model.ml
@@ -436,7 +436,7 @@ struct
  * invalid and `check` will raise an error. *)
 if Array.length model.site_categories = Array.length mask then begin
   model.site_categories <-
-(Enum.combine (Array.enum model.site_categories, Array.enum mask)
+(Enum.combine (Array.enum model.site_categories) (Array.enum mask)
  |> Enum.filter_map (function x, true -> Some x | _, false -> None)
  |> Array.of_enum);
   setup_occupied_rates model
diff --git a/pplacer_src/guppy_cmdobjs.ml b/pplacer_src/guppy_cmdobjs.ml
index 7e04319..44ffc82 100644
--- a/pplacer_src/guppy_cmdobjs.ml
+++ b/pplacer_src/guppy_cmdobjs.ml
@@ -612,7 +612,7 @@ object (self)
 
   method private filter_fal orig_length fal edges =
 List.map (Array.filteri (fun i _ -> IntSet.mem i edges)) fal,
-Enum.combine (Enum.range 0, IntSet.enum edges) |> IntMap.of_enum,
+Enum.combine (Enum.range 0) (IntSet.enum edges) |> IntMap.of_enum,
 orig_length
 
   method private filter_rep_edges prl fal =
diff --git a/pplacer_src/guppy_mcl.ml b/pplacer_src/guppy_mcl.ml
index 76538d1..39a03f1 100644
--- a/pplacer_src/guppy_mcl.ml
+++ b/pplacer_src/guppy_mcl.ml
@@ -6,7 +6,7 @@ let of_pql ?inflation criterion pql =
   let pqa = Array.of_list pql in
   let name_map =
 Enum.combine
-  (Array.enum pqa |> Enum.map Pquery.name, Enum.range 0)
+  (Array.enum pqa |> Enum.map Pquery.name) (Enum.range 0)
 |> StringMap.of_enum
   in
   let count = StringMap.cardinal name_map in
diff --git a/pplacer_src/guppy_rarefact.ml b/pplacer_src/guppy_rarefact.ml
index 80f65cb..0d7171f 100644
--- a/pplacer_src/guppy_rarefact.ml
+++ b/pplacer_src/guppy_rarefact.ml
@@ -66,7 +66,6 @@ object (self)
   @ (if is_uniform_mass then [fmt qm] else [""]))
 |> begin
   if fv variance then
-curry
   Enum.combine
   (Rarefaction.variance_of_placerun criterion ?k_max pr)
 |- Enum.map (fun ((_, uv, rv), sl) -> sl @ [fmt uv; fmt rv])
diff --git a/pplacer_src/pplacer_run.ml b/pplacer_src/pplacer_run.ml
index 65e787d..83f071c 100644
--- a/pplacer_src/pplacer_run.ml
+++ b/pplacer_src/pplacer_run.ml
@@ -85,7 +85,7 @@ let premask ?(discard_nonoverlapped = false) seq_type ref_align query_list =
* informative column of the reference sequence. *)
   let overlaps_mask s = String.enum s
 |> Enum.map Alignment.informative
-|> curry Enum.combine (Array.enum ref_mask)
+|> Enum.combine (Array.enum ref_mask)
 |> Enum.exists (uncurry (&&))
   in
   let query_list = List.filter


Bug#968474: [Help] Re: Bug#968474: Please include ocamlvars.mk to avoid FTBFS because of dh_dwz

2020-08-16 Thread Andreas Tille
Control: tags -1 pending
Control: tags -1 help

On Sun, Aug 16, 2020 at 07:17:13AM +0200, Stéphane Glondu wrote:
> As a workaround, an empty dh_dwz override has been added in the
> /usr/share/ocaml/ocamlvars.mk snippet in dh-ocaml/1.1.2, which is
> included in the debian/rules of most of packages written in
> OCaml. However, it is not the case of your package. Please do so.

I've fixed this in Git.  However, when trying to build I get:

+ ocamlfind ocamlc -c -annot -w Z -package batteries -package csv -package xmlm 
-package gsl -package sqlite3 -package zip -package mcl -thread -I pplacer_src 
-I json_src -I pam_src -I tests -I common_src -I pdprune_src -I cdd_src -I 
tests/rppr -I tests/json -I tests/pplacer -I tests/guppy -o 
pplacer_src/gcat_model.cmo pplacer_src/gcat_model.ml
File "pplacer_src/gcat_model.ml", line 439, characters 22-73:
439 | (Enum.combine (Array.enum model.site_categories, Array.enum mask)
^^^
Error: This expression has type 'a * 'b
   but an expression was expected of type
 'weak3 Ppatteries.Enum.t = 'weak3 BatEnum.t
Command exited with code 2.


Any hint how to fix this?

Kind regards

  Andreas.

-- 
http://fam-tille.de