The size of the array '__curl_rule_01__' is negative

I try with an error while trying to compile GIT. I searched Google and the original GIT problems / errors for similar problems, but I did not find anything to help me.

I initially got the following error

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 

I created a symbolic link inside /usr/include/ for the missing file as follows (after I installed / compiled the latest version / version)

 root@teemo :/usr/src/git# ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/include 

This brings me to the current problem, and I am confused about how to solve it. If someone can advise, it will be very helpful.

 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 
+6
source share
2 answers

Read above in curlrules.h . This error is intentionally used forcibly as part of a test that checks the size of data types.

  * 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. 

Your version of libcurl was built with different options than you use in the current version of git. (it can be 32 vs 64 bit)

Knowing which platform you are on, and for your build options, there may be enough others to help solve the problem. If this is a common case and you are on Linux or another supported platform, it would be easier to just install a pre-built binary using your own software. Git download

+8
source

If the system reports __curl_rule_01__ or __curl_rule_02__ negative, make the following changes to /usr/include/curl/curlbuild.h :

Add the following lines:

  • define CURL_SIZEOF_LONG 4
  • define CURL_SIZEOF_CURL_OFF_T 4

(Or replace similar strings, if already defined)

0
source

All Articles