我在尝试编译 GIT 时遇到错误。我在 Google 和 GIT 源问题/错误中搜索了类似的问题,但没有找到任何可以帮助我的东西。
最初我收到以下错误
root@teemo:/usr/src/git# make prefix=/usr install install-doc install-html install-info;
CC http-push.o
In file included from cache.h:39:0,
from http-push.c:1:
/usr/include/zlib.h:34:19: fatal error: zconf.h: No such file or directory
#include "zconf.h"
^
compilation terminated.
make: *** [http-push.o] Error 1
我在 /usr/include/
中创建了一个指向丢失文件的符号链接(symbolic link),如下所示(在我安装/编译最新/开发版本之后)
root@teemo:/usr/src/git# ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/include
这让我想到了当前的问题,我对如何解决这个问题感到困惑。如果有人可以提供建议,我们将不胜感激。
root@teemo:/usr/src/git# make prefix=/usr install install-doc install-html install-info;
CC http-push.o
In file included from /usr/include/curl/curl.h:35:0,
from http.h:6,
from http-push.c:5:
/usr/include/curl/curlrules.h:142:3: error: size of array '__curl_rule_01__' is negative
__curl_rule_01__
^
/usr/include/curl/curlrules.h:152:3: error: size of array '__curl_rule_02__' is negative
__curl_rule_02__
^
make: *** [http-push.o] Error 1
最佳答案
阅读 curlrules.h
中更高的部分。作为检查数据类型大小的测试的一部分,有意强制执行该错误。
* NOTE 2
* ------
*
* Some of the following compile time checks are based on the fact
* that the dimension of a constant array can not be a negative one.
* In this way if the compile time verification fails, the compilation
* will fail issuing an error. The error description wording is compiler
* dependent but it will be quite similar to one of the following:
*
* "negative subscript or subscript is too large"
* "array must have at least one element"
* "-1 is an illegal array size"
* "size of array is negative"
*
* If you are building an application which tries to use an already
* built libcurl library and you are getting this kind of errors on
* this file, it is a clear indication that there is a mismatch between
* how the library was built and how you are trying to use it for your
* application. Your already compiled or binary library provider is the
* only one who can give you the details you need to properly use it.
您构建的 libcurl 版本使用的选项与您在当前 git 构建中使用的选项不同。 (可能是 32 位与 64 位)
了解您所在的平台和您的构建选项可能足以帮助其他人解决问题。如果这是常见情况,并且您使用的是 Linux 或其他受支持的平台,那么使用 native 软件管理安装预构建的二进制文件会更容易。 Git downloads
关于compilation - 数组 '__curl_rule_01__' 的大小为负,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35181744/