1

试图从

https://gitlab.com/benjgregoire/maskverif/

我(对ocaml一无所知)在安装所有缺少的库后得到错误消息

+ ocamlfind ocamlopt -rectypes -cclib -lrt -linkpkg -g -thread -package zarith,unix,menhirLib,ocamlgraph -I src src/util.cmx src/expr.cmx src/pexpr.cmx src/poly.cmx src/poly_solve.cmx src/shrcnt.cmx src/state.cmx src/checker.cmx src/ilang_ast.cmx src/ilang_parser.cmx src/ilang_lexer.cmx src/parsetree.cmx src/prog.cmx src/ilang.cmx src/parser.cmx src/lexer.cmx src/main.cmx src/shrcnt_low.o -o src/main.native
/usr/bin/ld: src/shrcnt_low.o: in function `shrcnt_destroy':
/home/myname/work/maskverif/_build/src/shrcnt_low.c:74: undefined reference to `shm_unlink'
/usr/bin/ld: src/shrcnt_low.o: in function `shrcnt_create':
/home/myname/work/maskverif/_build/src/shrcnt_low.c:99: undefined reference to `shm_open'
/usr/bin/ld: /home/myname/work/maskverif/_build/src/shrcnt_low.c:95: undefined reference to `shm_unlink'

从我在互联网上找到的内容来看,看起来库 rt 是通过 -lrt 在错误的位置提供给 gcc 链接器的,但我不知道如何解决这个问题,因为它是由一些 ocaml 二进制文件调用的。

我怎样才能解决这个问题?

4

1 回答 1

1

本期报告了同样的问题。

维护者的回应如下:

这个问题很难解决。您可以在 SPINI 分支上找到当前修复。

因此,您可以尝试检查SPNI分支并尝试构建。


据我了解,问题是在Makefile中他们无法正确地将其传递-lrt给链接器。在 SPINI 分支中,他们切换到使用沙丘构建系统并解决了这个问题。

于 2021-03-28T15:10:56.553 回答