Mi problema es que ocamlc y ocamlopt apear se niegan a encontrar bibliotecas de terceros instaladas a través de apt-get. Comencé a tener este problema cuando intenté incorporar módulos de terceros en mis propios programas OCaml, y rápidamente lo escribí como un error personal en la comprensión de la compilación OCaml. Pronto, sin embargo, me encontré con el mismo problema al tratar de compilar proyectos de otras personas bajo sus propias instrucciones.Módulos no vinculados en OCaml
Este es el ejemplo más sencillo. Todos los demás usan ocamlbuild, lo que ofusca las cosas un poco.
El programa: http://groups.google.com/group/fa.caml/msg/5aee553df34548e2
La compilación:
$ocamlc -g -dtypes -pp camlp4oof -I +camlp4 dynlink.cma camlp4lib.cma -cc g++ llvm.cma llvm_bitwriter.cma minml.ml -o minml
File "minml.ml", line 43, characters 0-9:
Error:Unbound module Llvm
Incluso cuando proporciono ocamlc con los caminos obsolute a los archivos llvm, al igual que ...
$ ocamlc -g -dtypes -pp camlp4oof -I +camlp4 dynlink.cma camlp4lib.cma -cc g++ /usr/lib/ocaml/llvm-2.7/llvm.cma /usr/lib/ocaml/llvm-2.7/llvm_bitwriter.cma minml.ml -o minml
.. . en vano.
¿Qué estoy haciendo mal?
Aha! Gracias por una respuesta tan completa. – Eli
¿Tiene alguna teoría de cómo estas otras personas esperan que el programa compile sin estas banderas? Jon Harrop no es exactamente un aficionado. Sospecho que hay un método para esta locura. – Eli
@itsmyown: en el caso de Jon, podría estar compilando el ejemplo en el directorio donde acaba de compilar los enlaces LLVM, o podría haber instalado esos enlaces directamente en el directorio de la biblioteca Ocaml en lugar de en un subdirectorio. La audiencia del mensaje caml-list que usted cita sabría agregar '-I' según sea necesario. Por cierto, no estoy seguro de si '-cc g ++' es realmente necesario. – Gilles