camlzip:"这个包依赖于可能缺少的外部(系统)依赖."

Jon*_*nes 2 ocaml opam

我正在尝试安装camlzip(一个安装在opam中的OCaml软件包),但是当我运行时,opam install camlzip我得到了这个:

The following actions will be performed:
  ?  install camlzip 1.05

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[camlzip] Archive in cache

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[ERROR] The compilation of camlzip failed at "make all".
Processing  1/1: [camlzip: ocamlfind remove]
#=== ERROR while installing camlzip.1.05 ======================================#
# opam-version 1.2.2
# os           linux
# command      make all
# path         /home/mttjone/.opam/system/build/camlzip.1.05
# compiler     system (4.02.3)
# exit-code    2
# env-file     /home/mttjone/.opam/system/build/camlzip.1.05/camlzip-3552-d2d111.env
# stdout-file  /home/mttjone/.opam/system/build/camlzip.1.05/camlzip-3552-d2d111.out
# stderr-file  /home/mttjone/.opam/system/build/camlzip.1.05/camlzip-3552-d2d111.err
### stdout ###
# ocamlc -g -c -ccopt -g -ccopt -I/usr/local/include zlibstubs.c
### stderr ###
# [...]
# zlibstubs.c:151: warning: comparison between pointer and integer
# zlibstubs.c: In function ‘camlzip_inflateEnd’:
# zlibstubs.c:165: warning: implicit declaration of function ‘inflateEnd’
# zlibstubs.c:165: error: ‘z_stream’ undeclared (first use in this function)
# zlibstubs.c:165: error: expected expression before ‘)’ token
# zlibstubs.c:165: error: invalid operands to binary * (have ‘int *’ and ‘int *’)
# zlibstubs.c:165: error: called object ‘<erroneous-expression>’ is not a function
# zlibstubs.c: In function ‘camlzip_update_crc32’:
# zlibstubs.c:172: warning: implicit declaration of function ‘crc32’
# make: *** [zlibstubs.o] Error 2



=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following actions failed
  ?  install camlzip 1.05
No changes have been performed

=-=- camlzip.1.05 troobleshooting -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=> This package relies on external (system) dependencies that may be missing. `opam depext camlzip.1.05' may help you find the correct installation for your system.
Run Code Online (Sandbox Code Playgroud)

现在我认为很明显它并没有实际上缺少依赖项,但我仍然可以建议命令,它说我没有遗漏任何依赖项.

可能问题在于zlibstubs.c文件,但我不确定发生了什么.

任何人都可以解雇我吗?

ivg*_*ivg 7

TL; DR

opam install depext
opam depext camlzip
Run Code Online (Sandbox Code Playgroud)

说明

opam install depext命令将安装一个opam能够安装外部依赖项的插件.它将depextopam工具添加命令.

opam depext camlzip将安装外部依赖,使用系统包管理器.如果不支持包管理器,则命令将失败.在这种情况下,你可以使用

opam list --external --required-by=camlzip
Run Code Online (Sandbox Code Playgroud)

获取camlzip包维护者已知的所有发行版和包管理系统的所有外部依赖项.根据此信息,您可以推断出您的分发包的名称.一旦成功,将这些信息反馈给维护者也是一个好主意.