--- layout: fc_discuss_archives title: Message 27 from Frama-C-discuss on March 2010 ---
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Frama-c-discuss] rama-c-Beryllium-20090902-why-2.21 make error File "ptests/ptests.ml", line 57, characters 6-15



> I'm getting error below when running make; this is on CentOS5.3. How can I
> resolve this error? thanks.
>
> [...]
> Ocamlc?????? lib/plugins/Ltl_to_acsl.cmi
> Packing????? lib/plugins/Ltl_to_acsl.cmo
> Linking????? bin/toplevel.byte
> make[1]: Entering directory `/root/frama-c-Beryllium-20090902-why-2.21'
> Generating?? .depend
> make[1]: Leaving directory `/root/frama-c-Beryllium-20090902-why-2.21'
> make[1]: Entering directory `/root/frama-c-Beryllium-20090902-why-2.21'
> Copying to?? bytecode kernel API
> make[1]: Leaving directory `/root/frama-c-Beryllium-20090902-why-2.21'
> Linking????? bin/ptests.byte
> File "ptests/ptests.ml", line 57, characters 6-15:
> Error: This expression has type
> ???????? ?temp_dir:string -> string -> string -> string
> ?????? but an expression was expected of type string -> string -> string
> make: *** [bin/ptests.byte] Error 2
> [root at localhost frama-c-Beryllium-20090902-why-2.21]#

You are compiling using the latest OCaml version, which was released
after the last Frama-C distribution. Each new OCaml version introduces
small changes that may break the compilation of existing programs. In
this case, the fix is to change the function temp_file into:

  let temp_file =
    if Sys.os_type = "Win32" then
      fun a b -> let r = temp_file a b in
        cygpath r
    else
      fun a b -> temp_file a b

Pascal