问题描述
我正在尝试安装camlzip(位于opam中的OCaml软件包),但是当我运行opam install camlzip
时,我得到了:
I'm trying to install camlzip (an OCaml package housed in opam), but when I run opam install camlzip
I get this:
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.
现在我认为很明显,它并没有丢失依赖项,但是无论如何我都可以使用建议的命令,并且它说我没有丢失任何依赖项.
Now I think it's clear the it isn't acctually missing dependencies, but I can the suggested command anyway and it said I wasn't missing any dependencies.
大概是zlibstubs.c
文件存在问题,但我不确定是怎么回事.
Presumably the problem is with the zlibstubs.c
file, but I'm not exactly sure what's happening.
有人可以帮我吗?
推荐答案
TL; DR
opam install depext
opam depext camlzip
说明
opam install depext
命令将安装一个能够安装外部依赖项的opam
插件.它将在opam
工具中添加depext
命令.
Explanations
The opam install depext
command will install an opam
plugin that is capable of installing external dependencies. It will add a depext
command to opam
tool.
opam depext camlzip
将使用系统软件包管理器安装外部依赖项.如果不支持您的程序包管理器,则该命令将失败.在这种情况下,您可以使用
The opam depext camlzip
will install external dependencies, using system package manager. If your package manager is not supported, then the command will fail. In that case you can use
opam list --external --required-by=camlzip
获取包维护者已知的所有发行版和包管理系统的camlzip
的所有外部依赖项.根据此信息,您可以推断出要分发的软件包的名称.一旦成功,将这些信息回馈给维护者也是一个好主意.
to get all external dependencies of camlzip
for all distributions and package management systems known to a package maintainer. From this information you can infer the names of packages for your distribution. Once you succeed, it is also a good idea to contribute this information back to the maintainer.
这篇关于camlzip:“此程序包依赖于可能丢失的外部(系统)依赖性."的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!