On Mon Sep 12 08:05:17 2016, ppisar wrote:
Show quoted text> Building WWW-Curl-4.17 against curl-7.50.2 fails like this:
>
> Found curl.h in /usr/include/curl/curl.h
> Building curlopt-constants.c for your libcurl version
> Building Easy.pm constants for your libcurl version
> Building Share.pm constants for your libcurl version
> [...]
> 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 -m32
> -march=i686 -mtune=atom -fasynchronous-unwind-tables -fwrapv -fno-
> strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Werror=format-security
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
> --param=ssp-buffer-size=4 -grecord-gcc-switches
> -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686
> -mtune=atom -fasynchronous-unwind-tables -DVERSION=\"4.17\"
> -DXS_VERSION=\"4.17\" -fPIC "-I/usr/lib/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:128:49: error: 'CURL_STRICTER' undeclared (first
> use in this function)
> if (strEQ(name, "STRICTER")) return CURL_STRICTER;
> ^~~~~~~~~~~~~
>
> This is caused by upgrading curl from 7.50.1 to 7.50.2 that added this
> into curl.h:
>
> +#ifdef CURL_NO_OLDIES
> +#define CURL_STRICTER
> +#endif
> +
>
> It looks like the curlopt-constants.c generators thinks CURL_STRICTER
> is a new constant.
This is still present. Here is a log of an attempt to install this distribution via 'cpanm' on FreeBSD-11.0 against perl-5.27.10 and curl 7.57.0, compiling with clang 3.8.0:
#####
{
author => "SZBALINT",
dist => "WWW-Curl",
distname => "WWW-Curl-4.17",
distversion => 4.17,
grade => "FAIL",
prereqs => undef,
test_output => [
"Building and testing WWW-Curl-4.17",
"cp lib/WWW/Curl/Multi.pm blib/lib/WWW/Curl/Multi.pm",
"cp lib/WWW/Curl/Easy.pm blib/lib/WWW/Curl/Easy.pm",
"cp lib/WWW/Curl.pm blib/lib/WWW/Curl.pm",
"cp lib/WWW/Curl/Share.pm blib/lib/WWW/Curl/Share.pm",
"cp lib/WWW/Curl/Form.pm blib/lib/WWW/Curl/Form.pm",
"Running Mkbootstrap for Curl ()",
"chmod 644 \"Curl.bs\"",
"\"/usr/home/jkeenan/prep528/testing/perl-5.27.10/bin/perl\" \"-Iinc\" -MExtUtils::Command::MM -e 'cp_nonempty' -- Curl.bs blib/arch/auto/WWW/Curl/Curl.bs 644",
"\"/usr/home/jkeenan/prep528/testing/perl-5.27.10/bin/perl\" \"-Iinc\" \"/home/jkeenan/prep528/testing/perl-5.27.10/lib/5.27.10/ExtUtils/xsubpp\" -typemap '/home/jkeenan/prep528/testing/perl-5.27.10/lib/5.27.10/ExtUtils/typemap' -typemap '/usr/home/jkeenan/prep528/testing/perl-5.27.10/.cpanm/work/1521735236.757/WWW-Curl-4.17/typemap' Curl.xs > Curl.xsc",
"mv Curl.xsc Curl.c",
"cc -c -I/usr/local/include -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -O2 -pipe -fstack-protector -fno-strict-aliasing -DVERSION=\\\"4.17\\\" -DXS_VERSION=\\\"4.17\\\" -DPIC -fPIC \"-I/home/jkeenan/prep528/testing/perl-5.27.10/lib/5.27.10/amd64-freebsd-thread-multi/CORE\" Curl.c",
"In file included from Curl.xs:574:",
"./curlopt-constants.c:19:58: error: non-void function 'constant' should return a value [-Wreturn-type]",
" if (strEQ(name, \"DID_MEMORY_FUNC_TYPEDEFS\")) return CURL_DID_MEMORY_FUNC_TYPEDEFS;",
" ^",
"./curlopt-constants.c:136:49: error: use of undeclared identifier 'CURL_STRICTER'",
" if (strEQ(name, \"STRICTER\")) return CURL_STRICTER;",
" ^",
"./curlopt-constants.c:179:56: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'int' changes value from 18446744073709551615 to -1 [-Wconstant-conversion]",
" if (strEQ(name, \"ZERO_TERMINATED\")) return CURL_ZERO_TERMINATED;",
" ~~~~~~ ^~~~~~~~~~~~~~~~~~~~",
"/usr/local/include/curl/curl.h:1966:31: note: expanded from macro 'CURL_ZERO_TERMINATED'",
"#define CURL_ZERO_TERMINATED ((size_t) -1)",
" ^~~~~~~~~~~",
"In file included from Curl.xs:574:",
"./curlopt-constants.c:2141:44: warning: implicit conversion from 'unsigned long' to 'int' changes value from 18446744073709551599 to -17 [-Wconstant-conversion]",
" if (strEQ(name, \"ANY\")) return CURLAUTH_ANY;",
" ~~~~~~ ^~~~~~~~~~~~",
"/usr/local/include/curl/curl.h:708:32: note: expanded from macro 'CURLAUTH_ANY'",
"#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE)",
" ^~~~~~~~~~~~~~~~~~~",
"In file included from Curl.xs:574:",
"./curlopt-constants.c:2142:48: warning: implicit conversion from 'unsigned long' to 'int' changes value from 18446744073709551598 to -18 [-Wconstant-conversion]",
" if (strEQ(name, \"ANYSAFE\")) return CURLAUTH_ANYSAFE;",
" ~~~~~~ ^~~~~~~~~~~~~~~~",
"/usr/local/include/curl/curl.h:709:32: note: expanded from macro 'CURLAUTH_ANYSAFE'",
"#define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE))",
" ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"Curl.xs:1100:26: warning: implicit conversion from enumeration type 'CURLINFO' to different enumeration type 'CURLoption' [-Wenum-conversion]",
" curl_easy_setopt(easy, CURLINFO_PRIVATE, NULL);",
" ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~",
"/usr/local/include/curl/curl.h:2741:68: note: expanded from macro 'curl_easy_setopt'",
"#define curl_easy_setopt(handle,opt,param) curl_easy_setopt(handle,opt,param)",
" ~~~~~~~~~~~~~~~~ ^~~",
"4 warnings and 2 errors generated.",
"*** Error code 1",
"",
"Stop.",
"make: stopped in /testing/perl-5.27.10/.cpanm/work/1521735236.757/WWW-Curl-4.17",
"-> FAIL Installing WWW::Curl failed. See /testing/perl-5.27.10/.cpanm/work/1521735236.757/build.log for details. Retry with --force to force install it.",
],
via => "App::cpanminus::reporter 0.17 (1.7043)",
}
#####
Thank you very much.
Jim Keenan