Kompilieren von hevea-2.19 mit dem Objective Caml-Compiler v3.11.2

Kompilieren von hevea-2.19 mit dem Objective Caml-Compiler v3.11.2

Hevea ist ein LaTeX-zu-HTML-Konverter, erhältlich beihttp://pauillac.inria.fr/~maranget/hevea/index.html

Ich versuche (und scheitere) hevea auf einer CentOS-Maschine zu kompilieren, für die die Yum-Repositorys anscheinend kein Paket haben. Ich habe den gepackten Objective Caml-Compiler wie folgt installiert:

$ 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

Der Versuch, Hevea zu kompilieren, ergibt:

$ 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

Dies ist der Code, der den Fehler auslöst.

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

Ich vermute, dass sich etwas am Objective Caml-Compiler geändert hat und der Hevea-Code ein kleines Update benötigt. Ich habe Luc Maranget eine E-Mail geschickt und werde jede Antwort hier posten [siehe unten].

Antwort1

Aus einer E-Mail-Antwort von Luc Maranget,

Sie benötigen lediglich einen OCaml-Compiler, der aktueller ist als 3.11.2, idealerweise die aktuelle Version ... String.map wurde in OCaml 4.00.0 eingeführt

In jedem Fall empfehle ich Ihnen, Ihre OCaml-Installation auf die aktuelle Version zu aktualisieren. Das von Ihrer Linux-Distribution bereitgestellte OCaml ist veraltet, da OCaml 3.11.2 im Januar 2010 veröffentlicht wurde. Eine bequeme Möglichkeit, OCaml zu installieren, ist die Verwendung von opamhttp://opam.ocamlpro.com/

Hoffentlich helfen diese Fragen und Antworten in Zukunft jemand anderem.

verwandte Informationen