我正在尝试在Ubuntu 64位机器上编译MEGAM的Ocaml库源代码。
我已经安装了OCaml(v3.12.1),使用sudo apt-get install ocaml
命令安装。
当我在终端上运行"make"命令时,在未压缩的源代码上遇到了一个问题,OCaml返回以下错误:
/user/bin/ld: cannot find -lstr
collect2: error: ld returned 1 exit status
这个 makefile 生成了以下两个命令:
ocamldep *.ml > .depend
运行时没有错误
ocamlc -g -custom -o megam str.cma -cclib -lstr bigarray.cma -cclib -lbigarray unix.cma -cclib -lunix -I /usr/lib/ocaml/caml fastdot_c.c fastdot.cmo intHashtbl.cmo arry.cmo util.cmo data.cmo bitvec.cmo cg.cmo wsemlm.cmo bfgs.cmo pa.cmo perceptron.cmo radapt.cmo kernelmap.cmo abffs.cmo main.cmo
运行时抛出上述错误。
我尝试删除编译命令中的 -lstr ,它停止了抛出特定错误,但却开始抛出另一个错误(引用未定义的全局变量'Bigarray'
),这让我想到可能是在OCaml安装期间错过了某些设置,可能是需要设置的PATH或引用。
非常感谢任何帮助,即使只是瞎猜,因为我真的很难想出任何东西!