我正在尝试安装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
文件,但我不确定发生了什么.
任何人都可以解雇我吗?
opam install depext
opam depext camlzip
Run Code Online (Sandbox Code Playgroud)
该opam install depext
命令将安装一个opam
能够安装外部依赖项的插件.它将depext
向opam
工具添加命令.
在opam depext camlzip
将安装外部依赖,使用系统包管理器.如果不支持包管理器,则命令将失败.在这种情况下,你可以使用
opam list --external --required-by=camlzip
Run Code Online (Sandbox Code Playgroud)
获取camlzip
包维护者已知的所有发行版和包管理系统的所有外部依赖项.根据此信息,您可以推断出您的分发包的名称.一旦成功,将这些信息反馈给维护者也是一个好主意.