Hevea é um conversor de LaTeX para HTML, disponível emhttp://pauillac.inria.fr/~maranget/hevea/index.html
Estou tentando (e falhando) compilar o hevea em uma máquina CentOS para a qual os repositórios yum parecem não ter um pacote. Eu instalei o compilador Objective Caml empacotado da seguinte maneira:
$ 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
A tentativa de compilar hevea dá:
$ 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 é o código que aciona o erro,
let verifie name =
String.map
(fun c -> match c with
| '\t'
| ','
| '\n' -> ' '
| '.' -> '-'
| _ -> c)
name
;;
Meu palpite é que algo mudou no compilador Objective Caml e o código hevea precisa de uma pequena atualização? Enviei um e-mail para Luc Maranget e postarei qualquer resposta aqui [veja abaixo].
Responder1
De uma resposta por e-mail de Luc Maranget,
Você simplesmente precisa de um compilador ocaml mais recente que 3.11.2, de preferência a versão atual ... String.map foi introduzido no OCaml 4.00.0
De qualquer forma, sugiro que você atualize sua instalação do OCaml para a versão atual. O ocaml fornecido pela sua distribuição Linux está obsoleto, pois o OCaml 3.11.2 foi lançado em janeiro de 2010. Um meio conveniente de instalar o OCaml é por meio do opamhttp://opam.ocamlpro.com/
Esperamos que estas perguntas e respostas ajudem alguém no futuro.