Compilando hevea-2.19 con el compilador Objective Caml v3.11.2

Compilando hevea-2.19 con el compilador Objective Caml v3.11.2

Hevea es un conversor de LaTeX a HTML, disponible enhttp://pauillac.inria.fr/~maranget/hevea/index.html

Estoy intentando (y no lo logro) compilar hevea en una máquina CentOS para la cual los repositorios yum no parecen tener un paquete. He instalado el compilador Objective Caml empaquetado de la siguiente manera:

$ uname -a
Linux ppserver 2.6.32-431.29.2.el6.x86_64 #1 SMP Tue Sep 9 21:36:05
UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ sudo yum install ocaml
...
$ /usr/bin/ocamlc.opt -v
The Objective Caml compiler, version 3.11.2
Standard library directory: /usr/lib64/ocaml

Al intentar compilar hevea se obtiene:

$ wget http://pauillac.inria.fr/~maranget/hevea/distri/hevea-2.19.tar.gz
$ tar -zxvf hevea-2.19.tar.gz
$ cd hevea-2.19
[hevea-2.19]$ make
sh ocb.sh opt
/usr/bin/ocamldep.opt -modules hevea.ml > hevea.ml.depends
/usr/bin/ocamldep.opt -modules auxx.mli > auxx.mli.depends
...
/usr/bin/ocamlc.opt -c -w +a-4-9-41-45 -annot -o videoc.cmi videoc.mli
/usr/bin/ocamlc.opt -c -w +a-4-9-41-45 -annot -o zyva.cmi zyva.mli
+ /usr/bin/ocamlc.opt -c -w +a-4-9-41-45 -annot -o infoRef.cmo infoRef.ml
File "infoRef.mll", line 127, characters 2-12:
Error: Unbound value String.map
Command exited with code 2.
make: *** [ocb-opt] Error 10

Este es el código que desencadena el error,

let verifie name =
  String.map
    (fun c -> match c  with
    | '\t'
    | ','
    | '\n' -> ' '
    | '.' -> '-'
    |  _ -> c)
    name
;;

Supongo que algo ha cambiado en el compilador Objective Caml y el código hevea necesita una ligera actualización. Le envié un correo electrónico a Luc Maranget y publicaré cualquier respuesta aquí [ver más abajo].

Respuesta1

De una respuesta por correo electrónico de Luc Maranget,

Simplemente necesita un compilador ocaml más reciente que 3.11.2, idealmente la versión actual... String.map se introdujo en OCaml 4.00.0

En cualquier caso, le sugiero que actualice su instalación de OCaml a la versión actual. El ocaml proporcionado por su distribución de Linux está obsoleto, ya que OCaml 3.11.2 se lanzó en enero de 2010. Una forma conveniente de instalar OCaml es mediante opam.http://opam.ocamlpro.com/

Esperemos que estas preguntas y respuestas ayuden a alguien más en el futuro.

información relacionada