Dear camlers,
I'm desperately stuck with the following issue: I fail to compile a program using a module, but have no problem using the module in question in the toplevel.
Here is how I use it in the toplevel
$ ocaml
Objective Caml version 3.12.1
# #directory "/home/pveber/usr/ocamlbrew/ocaml-3.12.1/lib/ocaml/site-lib/R";;
# #load "/home/pveber/usr/ocamlbrew/ocaml-3.12.1/lib/ocaml/site-lib/R/R_math.cma";;
# Rmath.pow;;
- : float -> float -> float = <fun>
Now with the following program:
$ cat test.ml
let x = Rmath.pow 2.
I try to compile with the options corresponding to the toplevel directives:
$ ocamlc -o rmath -I /home/pveber/usr/ocamlbrew/ocaml-3.12.1/lib/ocaml/site-lib/R /home/pveber/usr/ocamlbrew/ocaml-3.12.1/lib/ocaml/site-lib/R/R_math.cma test.ml
File "test.ml", line 1, characters 8-17:
Error: Unbound module Rmath
I'm missing something obvious, but I can't see what. Does it remind someone of something?
Cheers,
Philippe.
PS There should be nothing fancy in my installation:
$ which ocaml
/home/pveber/usr/ocamlbrew/ocaml-3.12.1/bin/ocaml
$ which ocamlc
/home/pveber/usr/ocamlbrew/ocaml-3.12.1/bin/ocamlc
$ head -n 1 /home/pveber/usr/ocamlbrew/ocaml-3.12.1/bin/ocaml
#!/home/pveber/usr/ocamlbrew/ocaml-3.12.1/bin/ocamlrun
PS2 I have no compilation problem with other modules/libraries, as shown by the following session. I encounter (and solve) all usual compilation errors, the way I'm used to.
$ cat test.ml
let _ = R.init
$ ocamlc -o test test.ml
File "rmath.ml", line 1, characters 8-14:
Error: Unbound module R
$ ocamlc -o rmath -I /home/pveber/usr/ocamlbrew/ocaml-3.12.1/lib/ocaml/site-lib/R rmath.ml
File "rmath.ml", line 1, characters 0-1:
Error: Error while linking rmath.cmo:
Reference to undefined global `R'
$ ocamlc -o rmath -I /home/pveber/usr/ocamlbrew/ocaml-3.12.1/lib/ocaml/site-lib/R R.cma rmath.ml
File "rmath.ml", line 1, characters 0-1:
Error: Error while linking /home/pveber/usr/ocamlbrew/ocaml-3.12.1/lib/ocaml/site-lib/R/R.cma(Initialisation):
Reference to undefined global `Unix'
$ ocamlc -o rmath -I /home/pveber/usr/ocamlbrew/ocaml-3.12.1/lib/ocaml/site-lib/R unix.cma R.cma rmath.ml
$./rmath [...]