0

I am trying to compile Orange as part of OTAWA However I get the below Error in file wcee.ml Error: Unbound value IMap.print_ordered The reason for the error is the below snippet.

  let glb = common

  (** Least upper bound. *)
  let lub = IMap.combine max

  (** Pretty printer. *)
  let print = IMap.print CostItem.print Format.pp_print_int

  (** Full printing. *)
  let print_complete = IMap.print_ordered ~first:"" ~firstbind:">> " ~last:"" ~sep:"@\n" CostItem.print CostItem.known Format.pp_print_int
end

What is the reason for that ?

Hazem Abaza
  • 331
  • 4
  • 21
  • 1
    Could you add more details in your question to be more "self-contained"? See [mre] – ErikMD Nov 01 '20 at 14:13
  • In particular: (1) there is an `end` token, but `module ... = struct` is missing; (2) The `IMap` module does not seem to be standard, so you should probably give its signature or definition. – ErikMD Nov 01 '20 at 14:15
  • @ErikMD I added extra information – Hazem Abaza Nov 01 '20 at 14:20

1 Answers1

2

TL,DR: at first sight, it might be possible that the project currently just FTBFS (fails to build from source)? Anyway, I didn't attempt to compile it myself, but you may want to get in touch with the TRACES research team that maintains OTAWA to ask? (e.g., emailing Pr. CASSÉ…)

Further details:

  • the latest version of the source code seems to be online at this URL: wcee.ml,
  • which depends on tMap.ml,
  • the function you mention is defined via module IMap = TMap.Make(CostItem), which depends on the Make functor in the tMap compilation unit, which indeed does not seem to provide the print_ordered function,
  • hence the Unbound value error (which just means "this function is undefined!")
ErikMD
  • 13,377
  • 3
  • 35
  • 71