Intentando compilar el proyecto ocaml desde
https://gitlab.com/benjgregoire/maskverif/
(No tengo idea sobre ocaml) recibo, después de instalar todas las bibliotecas que faltan, el mensaje de error
+ 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'
Por lo que encontré en Internet, parece que la biblioteca rt se entrega al enlazador gcc en la posición incorrecta a través de -lrt, pero no tengo idea de cómo solucionar este problema, ya que algún binario ocaml lo llama.
¿Cómo puedo solucionar este problema?
------------------------------------
Se informó del mismo problema en este número.
La respuesta del mantenedor fue la siguiente:
Este problema fue muy complicado de solucionar.
Puedes encontrar el cuSolución actual en la rama SPINI.
Entonces, puedes intentar verificar la rama SPINI e intentar compilarla.
Hasta donde tengo entendido, el problema es que en el Makefile no pueden pasar correctamente el -lrt al vinculador. En la sucursal de SPINI, pasaron a utilizar el sistema de construcción de dunas y resolvieron este problema.
1
1
¡Muchas gracias! Ahora tengo un mensaje de error extraño acerca de que la versión 2.8 del lenguaje dune no es compatible, a pesar de haber instalado la 2.7.1, pero espero resolverlo cuandoTengo un poco de tiempo para ello. ¡Gran ayuda!
- j.p.
28/03/2021 a las 19:05
------------------------------------
Mientras tanto pude compilar la rama SPINI como lo sugirió jubnvz en su respuesta. No funcionó usando los paquetes ocaml/opam/dune proporcionados por debian/bulleye, sino desinstalando todos los paquetes de Debian relacionados con ocaml y siguiendo las instrucciones de instalación del README en https://gitlab.com/benjgregoire/maskverif/tree/SPINI funcionó bien para mí.
Compartir
mejorar esta respuestaejem
Seguir
Respondido
15 de abril de 2022 a las 10:47 am
wiki de la comunidad
j.p.