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

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...