无法安装WWW :: Curl :: Easy:SZBALINT / WWW-Curl-4.17.tar.gz:make NO

时间:2018-02-14 16:22:40

标签: linux perl curl

我正在尝试在我的Fedora 26机器上安装WWW :: Curl :: Easy

gcc -c  -I/usr/include -D_REENTRANT -D_GNU_SOURCE -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g   -DVERSION=\"4.17\" -DXS_VERSION=\"4.17\" -fPIC "-I/usr/lib64/perl5/CORE"   Curl.c
Curl.xs: In function ‘fwrite_wrapper2’:
Curl.xs:363:13: warning: unused variable ‘sv’ [-Wunused-variable]
         SV *sv;
             ^~
In file included from Curl.xs:574:0:
curlopt-constants.c: In function ‘constant’:
curlopt-constants.c:19:58: warning: ‘return’ with no value, in function returning non-void
             if (strEQ(name, "DID_MEMORY_FUNC_TYPEDEFS")) return CURL_DID_MEMORY_FUNC_TYPEDEFS;
                                                          ^~~~~~
curlopt-constants.c:2:1: note: declared here
 constant(const char *name)
 ^~~~~~~~
curlopt-constants.c:130:49: error: ‘CURL_STRICTER’ undeclared (first use in this function); did you mean ‘PMf_STRICT’?
             if (strEQ(name, "STRICTER")) return CURL_STRICTER;
                                                 ^~~~~~~~~~~~~
                                                 PMf_STRICT
curlopt-constants.c:130:49: note: each undeclared identifier is reported only once for each function it appears in
curlopt-constants.c:2077:44: warning: overflow in implicit constant conversion [-Woverflow]
             if (strEQ(name, "ANY")) return CURLAUTH_ANY;
                                            ^~~~~~~~~~~~
curlopt-constants.c:2078:48: warning: overflow in implicit constant conversion [-Woverflow]
             if (strEQ(name, "ANYSAFE")) return CURLAUTH_ANYSAFE;
                                                ^~~~~~~~~~~~~~~~

Full output

我安装了curlcurl-configcurl-devel。我已经尝试过在类似问题上找到的所有建议,但我无法解决这个问题。任何想法都赞赏。

1 个答案:

答案 0 :(得分:1)

好的,这是我开始工作的方式:错误与CURL_STRICTER有关,在MAKEFILE.pl行中缺失了。我找到了this bugthis patch,因此我下载了WWW-Curl-4.17.tar.gz并将其解压缩,并根据补丁更改了以下行:

if($e =~ /(OBSOLETE|^CURL_EXTERN|_LAST\z|_LASTENTRY\z)/) {

看起来像

if($e =~ /(OBSOLETE|^CURL_EXTERN|^CURL_STRICTER\z|_LAST\z|_LASTENTRY\z)/) {

之后我根据附带的自述文件安装它并且它可以工作。