您的位置 首页 Linux

linux – OCaml编译错误:/usr/bin/ld:找不到-lstr

我试图在Ubuntu 64机器上编译
MEGAM Ocaml库的源代码.

我安装了OCaml(v 3.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或参考我需要设置.

任何帮助都是非常感激的,即使它只是在黑暗中的一个镜头,因为我真的很努力想出任何事情!

解决方法

The instructions given here 允许我编译没有错误.归结为:

locate libcamlstr

这告诉我libcamlstr可以在/usr/lib / ocaml(YMMV)中找到,所以我做:

cd /usr/lib/ocaml
sudo ln -s libcamlstr.a libstr.a

然后我可以编译该项目:

cd /usr/local/src/cil
make clean && ./configure && make

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章