sparky / perl-net-curl Goto Github PK
View Code? Open in Web Editor NEWObject-oriented wrapper for libcurl
Home Page: http://search.cpan.org/~sparky/Net-Curl/
License: Other
Object-oriented wrapper for libcurl
Home Page: http://search.cpan.org/~sparky/Net-Curl/
License: Other
Example program which always causes a Segmentation fault:
#!/usr/bin/env perl
use common::sense;
use Net::Curl::Easy qw(:constants);
my $easy = Net::Curl::Easy->new({});
$easy->setopt(CURLOPT_URL, q(http://ifconfig.me/all));
$easy->perform;
$easy->reset;
$easy->setopt(CURLOPT_URL, q(http://ifconfig.me/ip));
$easy->perform;
GDB output from the dumped core:
Core was generated by `perl curl-reset.pl'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f630caa4116 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) where
#0 0x00007f630caa4116 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f630caa517f in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007f630caa8e12 in calloc () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007f630bed2c22 in curl_docalloc (wanted_elements=1, wanted_size=1656, line=3597, source=0x7f630bf0306e "url.c") at memdebug.c:216
#4 0x00007f630beb8b84 in allocate_conn (data=0x1b72968) at url.c:3597
#5 0x00007f630bebb553 in create_conn (data=0x1b72968, in_connect=0x7fffaa5b4670, async=0x7fffaa5b464e) at url.c:4857
#6 0x00007f630bebc4bd in Curl_connect (data=0x1b72968, in_connect=0x7fffaa5b4670, asyncp=0x7fffaa5b464e, protocol_done=0x7fffaa5b464f) at url.c:5327
#7 0x00007f630becd700 in connect_host (data=0x1b72968, conn=0x7fffaa5b4670) at transfer.c:1948
#8 0x00007f630becda02 in Curl_do_perform (data=0x1b72968) at transfer.c:2095
#9 0x00007f630becdd7c in Curl_perform (data=0x1b72968) at transfer.c:2241
#10 0x00007f630bece7a3 in curl_easy_perform (curl=0x1b72968) at easy.c:536
#11 0x00007f630c133e5e in XS_Net__Curl__Easy_perform (cv=<optimized out>) at ./curl-Easy-xs.inc:396
#12 0x00000000004de372 in Perl_pp_entersub () at pp_hot.c:2778
#13 0x00000000004ac14b in Perl_runops_debug () at dump.c:2119
#14 0x0000000000443455 in S_run_body (oldscope=1) at perl.c:2402
#15 perl_run (my_perl=<optimized out>) at perl.c:2320
#16 0x000000000041fa1d in main (argc=2, argv=0x7fffaa5b4a38, env=0x7fffaa5b4a50) at perlmain.c:120
Hello. Apparently, there is some kind of error in the module. I use $easy->pushopt(CURLOPT_PROXYHEADER, ['a: b']);
and get Unknown error
. I rewrote this code in python, everything works fine there.
Example as seen from 0.44_1 dev release:
http://www.cpantesters.org/cpan/report/35667ed0-5321-11ea-9066-e374b0ba08e8
There is a number of test reports with the leak test failing. Here's an overview (please sort by the fail:t/96-leak.t column):
http://analysis.cpantesters.org/reports_by_field?SUBMIT_xxx=Submit&distv=Net-Curl-0.33&field=fail%3At%2F96-leak.t&field=meta%3Aosname%2Bperl
> perl -Mstrict -w -e'use Net::Curl::Easy qw(:constants); my $payload = "épée"; my $easy = Net::Curl::Easy->new(); $easy->setopt( +CURLOPT_URL, "http://example.com" ); $easy->setopt( CURLOPT_VERBOSE, 1 ); $easy->setopt( +CURLOPT_COPYPOSTFIELDS, $payload ); $easy->perform()' >/dev/null
* About to connect() to example.com port 80 (#0)
* Trying 2606:2800:220:1:248:1893:25c8:1946...
* Connected to example.com (2606:2800:220:1:248:1893:25c8:1946) port 80 (#0)
> POST / HTTP/1.1
Host: example.com
Accept: */*
Content-Length: 6
Content-Type: application/x-www-form-urlencoded
* upload completely sent off: 6 out of 6 bytes
<snip>
Note that the upload size is 6 bytes.
But if you change the SV’s internal representation, the output also changes:
> perl -MJSON -Mstrict -w -e'use Net::Curl::Easy qw(:constants); my $payload = "épée"; $payload = JSON::decode_json( JSON::encode_json([$payload]) )->[0]; my $easy = Net::Curl::Easy->new(); $easy->setopt( +CURLOPT_URL, "http://example.com" ); $easy->setopt( CURLOPT_VERBOSE, 1 ); $easy->setopt( +CURLOPT_COPYPOSTFIELDS, $payload ); $easy->perform()' >/dev/null
* About to connect() to example.com port 80 (#0)
* Trying 2606:2800:220:1:248:1893:25c8:1946...
* Connected to example.com (2606:2800:220:1:248:1893:25c8:1946) port 80 (#0)
> POST / HTTP/1.1
Host: example.com
Accept: */*
Content-Length: 10
Content-Type: application/x-www-form-urlencoded
* upload completely sent off: 10 out of 10 bytes
<snip>
Pure Perl code isn’t supposed to have to care about a string’s internal representation, but this behaviour of Net::Curl forces it.
The proper fix is probably to create a setopt_bytes
that always treats the given SV as a byte string. (So if it’s upgraded, what curl gets from Perl will be the downgraded variant.)
Additionally, the documentation should be updated to advise of this situation with plain setopt()
.
A workaround is to call utf8::downgrade()
before giving the value to setopt()
.
On a CentOS6 system I see the following failure:
# Failed test 'escape'
# at t/70-escape-unescape.t line 37.
# got: '~-_.'
# expected: '%7E%2D%5F%2E'
# Looks like you failed 1 test of 24.
t/70-escape-unescape.t .....................
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/24 subtests
Output of 00-info.t:
# libcurl
# version():
# libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
# version_info():
# {age} = 3;
# {ares_num} = 0;
# {features} =
# | CURL_VERSION_IPV6 (1<<0)
# | CURL_VERSION_SSL (1<<2)
# | CURL_VERSION_LIBZ (1<<3)
# | CURL_VERSION_NTLM (1<<4)
# | CURL_VERSION_GSSNEGOTIATE (1<<5)
# | CURL_VERSION_LARGEFILE (1<<9)
# | CURL_VERSION_IDN (1<<10);
# missing features =
# | CURL_VERSION_KERBEROS4 (1<<1)
# | CURL_VERSION_DEBUG (1<<6)
# | CURL_VERSION_ASYNCHDNS (1<<7)
# | CURL_VERSION_SPNEGO (1<<8)
# | CURL_VERSION_SSPI (1<<11)
# | CURL_VERSION_CONV (1<<12)
# | CURL_VERSION_CURLDEBUG (1<<13);
# {host} = 'x86_64-redhat-linux-gnu';
# {iconv_ver_num} = 0;
# {libidn} = '1.18';
# {libssh_version} = 'libssh2/1.4.2';
# {libz_version} = '1.2.3';
# {protocols} = dict, file, ftp, ftps, http, https, ldap, ldaps, scp, sftp, telnet, tftp;
# {ssl_version} = 'NSS/3.27.1';
# {ssl_version_num} = 0;
# {version} = '7.19.7';
# {version_num} = 0x071307;
# build version:
# LIBCURL_COPYRIGHT = '1996 - 2009 Daniel Stenberg, <[email protected]>.'
# LIBCURL_VERSION = '7.19.7'
# LIBCURL_VERSION_NUM = 0x071307
# LIBCURL_VERSION_MAJOR = 7
# LIBCURL_VERSION_MINOR = 19
# LIBCURL_VERSION_PATCH = 7
# LIBCURL_TIMESTAMP = 'Wed Nov 4 12:34:59 UTC 2009'
The Net-Curl testsuite fails for FreeBSD 9.2, see http://matrix.cpantesters.org/?dist=Net-Curl;os=freebsd;reports=1
The reason is that the standard freebsd 9.2 libcurl package is compiled without cookies support. This will be fixed for future freebsd versions (see http://www.freshports.org/ftp/curl/, the Changelog entry from 06 Oct 2013 18:36:49 says "Turn COOKIES on by default"). I just rebuild libcurl from ports with COOKIES turned on manually, and since then Net-Curl passes on my machine.
Probably there should be a feature check if cookies support is activated, and depending on this some tests should be skipped?
This comes from my first attempt to install Net::Curl as a
likely replacement for WWW::Curl
RHEL5 comes with 7.15.5 (fails to build, see below for 5.16.3)
RHEL6 comes with 7.19.7 (builds & tests PASS under 5.16.3 & 5.18.0-RC3)
505.3: chdir to /Net-Curl-0.28
505.3: Makefile.PL && make && make test && make install
Found libcurl version 7.15.5
Use of uninitialized value $curl{"prefix"} in concatenation (.) or string at Makefile.PL line 217.
Reading /usr/include/curl/curl.h (gcc -E /usr/include/curl/curl.h)
Reading /usr/include/curl/multi.h (gcc -E /usr/include/curl/multi.h)
CURLE_SSL_CRL_BADFILE unexpected
CURLGSSAPI_DELEGATION_FLAG unexpected
CURLGSSAPI_DELEGATION_NONE unexpected
CURLGSSAPI_DELEGATION_POLICY_FLAG unexpected
CURLOPT_CLOSEFUNCTION unexpected
CURLOPT_CRLFILE unexpected
CURLOPT_FTPASCII unexpected
CURLOPT_GSSAPI_DELEGATION unexpected
CURLOPT_HTTPREQUEST unexpected
CURLOPT_MUTE unexpected
CURLOPT_PASSWDDATA unexpected
CURLOPT_PASSWDFUNCTION unexpected
CURLOPT_PASV_HOST unexpected
CURLOPT_PROTOCOLS unexpected
CURLOPT_REDIR_PROTOCOLS unexpected
CURLOPT_SOURCE_HOST unexpected
CURLOPT_SOURCE_PATH unexpected
CURLOPT_SOURCE_PORT unexpected
CURLOPT_SOURCE_POSTQUOTE unexpected
CURLOPT_SOURCE_PREQUOTE unexpected
CURLOPT_SOURCE_QUOTE unexpected
CURLOPT_SOURCE_URL unexpected
CURLOPT_SOURCE_USERPWD unexpected
CURLPROTO_ALL unexpected
CURLPROTO_DICT unexpected
CURLPROTO_FILE unexpected
CURLPROTO_FTP unexpected
CURLPROTO_FTPS unexpected
CURLPROTO_HTTP unexpected
CURLPROTO_HTTPS unexpected
CURLPROTO_LDAP unexpected
CURLPROTO_LDAPS unexpected
CURLPROTO_TELNET unexpected
CURLPROTO_TFTP unexpected
-> found 439 constants (should be 405)
Writing const-defenums-h.inc
Writing const-curl-xs.inc
Writing const-easy-xs.inc
Writing const-form-xs.inc
Writing const-multi-xs.inc
Writing const-share-xs.inc
Writing curl-Easy-c.inc
Writing curl-Easy-xs.inc
Writing curl-Form-c.inc
Writing curl-Form-xs.inc
Writing curl-Multi-c.inc
Writing curl-Multi-xs.inc
Writing curl-Share-c.inc
Writing curl-Share-xs.inc
Writing lib/Net/Curl/examples.pod
<- examples/01-curl-transport.pl
<- examples/02-multi-simple.pl
<- examples/03-multi-event.pl
<- examples/04-share-threads.pl
<- examples/05-irssi-downloader.pl
Writing lib/Net/Curl/Compat.pm
Checking if your kit is complete...
Looks good
Writing Makefile for Net::Curl
Wide character in print at /opt/perl/cis.perl-base2.rhel5-5.16.3.20130514/lib/5.16.3/ExtUtils/MakeMaker.pm line 1034.
Wide character in print at /opt/perl/cis.perl-base2.rhel5-5.16.3.20130514/lib/5.16.3/ExtUtils/MakeMaker.pm line 1034.
Wide character in print at /opt/perl/cis.perl-base2.rhel5-5.16.3.20130514/lib/5.16.3/ExtUtils/MakeMaker.pm line 1034.
Wide character in print at /opt/perl/cis.perl-base2.rhel5-5.16.3.20130514/lib/5.16.3/ExtUtils/MakeMaker.pm line 1034.
Writing MYMETA.yml and MYMETA.json
cp lib/Net/Curl/Compat.pm blib/lib/Net/Curl/Compat.pm
cp lib/Net/Curl.pm blib/lib/Net/Curl.pm
cp lib/Net/Curl/Form.pm blib/lib/Net/Curl/Form.pm
cp lib/Net/Curl/Share.pm blib/lib/Net/Curl/Share.pm
cp lib/Net/Curl/Multi.pm blib/lib/Net/Curl/Multi.pm
cp lib/Net/Curl/examples.pod blib/lib/Net/Curl/examples.pod
cp lib/Net/Curl/Easy.pm blib/lib/Net/Curl/Easy.pm
/opt/perl/cis.perl-base2.rhel5-5.16.3.20130514/bin/perl /opt/perl/cis.perl-base2.rhel5-5.16.3.20130514/lib/5.16.3/ExtUtils/xsubpp -typemap /opt/perl/cis.perl-base2.rhel5-5.16.3.20130514/lib/5.16.3/ExtUtils/typemap -typemap typemap Curl.xs > Curl.xsc && mv Curl.xsc Curl.c
gcc -c -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION="0.28" -DXS_VERSION="0.28" -fPIC "-I/opt/perl/cis.perl-base2.rhel5-5.16.3.20130514/lib/5.16.3/x86_64-linux/CORE" Curl.c
Curl.xs: In function ‘perl_curl_constant_add’:
Curl.xs:379: warning: ignoring #pragma clang diagnostic
Curl.xs:380: warning: ignoring #pragma clang diagnostic
Curl.xs:382: warning: ignoring #pragma clang diagnostic
Curl.xs: In function ‘boot_Net__Curl’:
Curl.xs:446: error: ‘LIBCURL_COPYRIGHT’ undeclared (first use in this function)
Curl.xs:446: error: (Each undeclared identifier is reported only once
Curl.xs:446: error: for each function it appears in.)
Curl.xs:448: error: ‘LIBCURL_TIMESTAMP’ undeclared (first use in this function)
make: *** [Curl.o] Error 1
506.6: 106/673 tarballs, 2/20 passes, install tests FAIL 0/10 Net-Curl-0.28.tar.gz 10 failed
Cross-posting from https://rt.cpan.org/Ticket/Display.html?id=79534
Curl 8.6.0 was recently released on 2024-01-31: https://curl.se/changes.html#8_6_0
When I tried to build this perl module against it, the test suite of Net::Curl::Easy failed on the old/10errbuf.t test with this error:
# Failed test 'Reading redirected STDERR'
# at t/old-10errbuf.t line 50.
# '* Protocol "badprotocol" not supported'
# doesn't match '(?^ix:^\*\s+(?:
# Protocol \s "? badprotocol "? \s not \s supported \s or \s disabled \s in \s libcurl |
# Unsupported \s protocol: \s badprotocol |
# Rebuilt \s URL \s to: \s badprotocol://.+ |
# Closing \s connection \s -1 |
# Could \s not \s resolve \s host: \s badprotocol |
# Could \s not \s resolve: \s badprotocol \(Domain \s name \s not \s found\) |
# Expire \s in \s 0 \s ms \s for \s 6 \s \(transfer \s 0x[0-9a-f]+\) |
# Uses \s proxy \s env \s variable \s https?_proxy \s == \s '[^']+'
# )$)'
# Looks like you failed 1 test of 13.
It appears this version of curl has abbreviated the error reporting to just * Protocol "badprotocol" not supported
.
The following patch allows the test to past (the first regex pattern could be adjusted to accept * Protocol "badprotocol" not supported or disabled in libcurl
and * Protocol "badprotocol" not supported
, but I found this easier to read and maintain):
--- a/t/old-10errbuf.t
+++ b/t/old-10errbuf.t
@@ -49,6 +49,7 @@
}
like( $line, qr/^\*\s+(?:
Protocol \s "? badprotocol "? \s not \s supported \s or \s disabled \s in \s libcurl |
+ Protocol \s "? badprotocol "? \s not \s supported |
Unsupported \s protocol: \s badprotocol |
Rebuilt \s URL \s to: \s badprotocol:\/\/.+ |
Closing \s connection \s -1 |
Calling examples/02-multi-simple.pl generates two warnings:
multi object lacks CURLMOPT_SOCKETFUNCTION callback! at examples/02-multi-simple.pl line 62.
multi object lacks CURLMOPT_SOCKETFUNCTION callback! at examples/02-multi-simple.pl line 62.
Probably this started with Net::Curl 0.44. Other than the warnings the script seems to work.
So what can be done to avoid this warning? Should the script call something like
$multi->setopt( Net::Curl::Multi::CURLMOPT_SOCKETFUNCTION, sub { return 1 });
Or shouldn't there be a warning at all in this situation?
It would be nice to be able to do:
$easy->set(
URL => "http://example.com/",
FILE => \$easy->{body},
);
… and $easy->get('CERTINFO')
.
This would obviate the need to import constants and in general make for a smoother experience of using Net::Curl.
During install of Net-Curl-0.41.tar.gz on a linux box recently I get following error:
Running Mkbootstrap for Curl ()
chmod 644 "Curl.bs"
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Curl.bs blib/arch/auto/Net/Curl/Curl.bs 644
"/usr/bin/perl" "/usr/share/perl/5.30/ExtUtils/xsubpp" -typemap '/usr/share/perl/5.30/ExtUtils/typemap' -typemap '/root/.cpan/build/Net-Curl-0.41-2/typemap' Curl.xs > Curl.xsc
mv Curl.xsc Curl.c
x86_64-linux-gnu-gcc -c -Wall -Wno-unknown-pragmas -O2 -g -DVERSION="0.41" -DXS_VERSION="0.41" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.30/CORE" Curl.c
In file included from Curl.xs:23:
./const-easy-xs.inc: In function ‘boot_Net__Curl’:
const-defenums-h.inc:2:29: error: ‘CURLALTSVC_ALTUSED’ undeclared (first use in this function)
2 | # define CURLALTSVC_ALTUSED CURLALTSVC_ALTUSED
| ^~~~~~~~~~~~~~~~~~
const-defenums-h.inc:2:29: note: in definition of macro ‘CURLALTSVC_ALTUSED’
2 | # define CURLALTSVC_ALTUSED CURLALTSVC_ALTUSED
| ^~~~~~~~~~~~~~~~~~
const-defenums-h.inc:2:29: note: each undeclared identifier is reported only once for each function it appears in
2 | # define CURLALTSVC_ALTUSED CURLALTSVC_ALTUSED
| ^~~~~~~~~~~~~~~~~~
const-defenums-h.inc:2:29: note: in definition of macro ‘CURLALTSVC_ALTUSED’
2 | # define CURLALTSVC_ALTUSED CURLALTSVC_ALTUSED
| ^~~~~~~~~~~~~~~~~~
make: *** [Makefile:360: Curl.o] Error 1
SYP/Net-Curl-0.41.tar.gz
/usr/bin/make -- NOT OK
Failed during this command:
SYP/Net-Curl-0.41.tar.gz : make NO
Following cURL version is installed (debian package):
curl 7.66.0 (x86_64-pc-linux-gnu) libcurl/7.66.0 OpenSSL/1.1.1d zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.39.2 librtmp/2.3
Release-Date: 2019-09-11
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS brotli GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets
Most likely this relates to latest changes (https://curl.haxx.se/changes.html - Fixed in 7.66.0 - September 11 2019):
Bugfixes:
CURLOPT_ALTSVC_CTRL.3: remove CURLALTSVC_ALTUSED
On FreeBSD systems I see the following problem:
cc -c -Wall -Wno-unknown-pragmas-I/usr/local/include -O2 -pipe -DVERSION=\"0.38\" -DXS_VERSION=\"0.38\" -DPIC -fPIC "-I/usr/perl5.24.1p/lib/5.24.1/amd64-freebsd/CORE" Curl.c
warning: unknown warning option '-Wno-unknown-pragmas-I/usr/local/include'; did you mean '-Wno-unknown-pragmas'? [-Wunknown-warning-option]
Curl.xs:20:10: fatal error: 'curl/curl.h' file not found
#include <curl/curl.h>
^
1 warning and 1 error generated.
*** Error code 1
There's a space missing between the -Wno-unknown-pragmas and -I/usr/local/include options. The following patch could fix it:
diff --git a/Makefile.PL b/Makefile.PL
index 3b5b899..223a264 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -152,7 +152,7 @@ WriteMakefile(
VERSION_FROM => 'lib/Net/Curl.pm',
ABSTRACT_FROM => 'lib/Net/Curl.pm',
AUTHOR => "Przemys${l_}aw Iskra <sparky at pld-linux.org>",
- CCFLAGS => $devel_cflags . $curl{cflags} . $bits,
+ CCFLAGS => $devel_cflags . ' ' . $curl{cflags} . $bits,
LIBS => $curl{libs},
SIGN => 1,
LICENSE => 'mit',
I am using strawberry perl 5.20.2 x64 and trying to install Net::Curl.
I download this curl package: http://curl.haxx.se/gknw.net/7.40.0/dist-w64/curl-7.40.0-devel-mingw64.7z and unpack to d:/downloads.
Then modify Makefile.PL in Net::Curl distribution:
my %curl = (
incdir => 'd:/downloads/curl-7.40.0-devel-mingw64/include', # /some/path (where curl/curl.h is)
cflags => '-Id:/downloads/curl-7.40.0-devel-mingw64/include', # -I/some/path
libs => '-Ld:/downloads/curl-7.40.0-devel-mingw64/lib64 -lcurldll', # -lcurl
version => '7.40.0' # 7.21.0
);
and run standard commands.
perl Makefile.PL
d:\downloads\Net-Curl-0.37-2>perl Makefile.PL
Using manually introduced curl options:
incdir => d:/downloads/curl-7.40.0-devel-mingw64/include
cflags => -Id:/downloads/curl-7.40.0-devel-mingw64/include
libs => -Ld:/downloads/curl-7.40.0-devel-mingw64/lib64 -lcurldll
version => 7.40.0
Reading d:/downloads/curl-7.40.0-devel-mingw64/include/curl/curl.h (gcc -E -Id:/downloads/curl-7.40.0-devel-mingw64/include d:/downloads/curl-7.40.0-devel-mingw64/include/curl/curl.h)
Reading d:/downloads/curl-7.40.0-devel-mingw64/include/curl/multi.h (gcc -E -Id:/downloads/curl-7.40.0-devel-mingw64/include d:/downloads/curl-7.40.0-devel-mingw64/include/curl/multi.h)
-> found 715 constants (should be 715)
Writing const-defenums-h.inc
Writing const-curl-xs.inc
Writing const-easy-xs.inc
Writing const-form-xs.inc
Writing const-multi-xs.inc
Writing const-share-xs.inc
Writing curl-Easy-c.inc
Writing curl-Easy-xs.inc
Writing curl-Form-c.inc
Writing curl-Form-xs.inc
Writing curl-Multi-c.inc
Writing curl-Multi-xs.inc
Writing curl-Share-c.inc
Writing curl-Share-xs.inc
Writing lib/Net/Curl/examples.pod
<- examples/01-curl-transport.pl
<- examples/02-multi-simple.pl
<- examples/03-multi-event.pl
<- examples/04-share-threads.pl
<- examples/05-irssi-downloader.pl
Writing lib/Net/Curl/Compat.pm
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for Net::Curl
"\x{0142}" does not map to cp1251 at d:/devel/perl/perl/lib/ExtUtils/MakeMaker.pm line 1182.
"\x{00e1}" does not map to cp1251 at d:/devel/perl/perl/lib/ExtUtils/MakeMaker.pm line 1182.
"\x{0142}" does not map to cp1251 at d:/devel/perl/perl/lib/ExtUtils/MakeMaker.pm line 1182.
"\x{0142}" does not map to cp1251 at d:/devel/perl/perl/lib/ExtUtils/MakeMaker.pm line 1182.
"\x{00e1}" does not map to cp1251 at d:/devel/perl/perl/lib/ExtUtils/MakeMaker.pm line 1182.
"\x{0142}" does not map to cp1251 at d:/devel/perl/perl/lib/ExtUtils/MakeMaker.pm line 1182.
"\x{0142}" does not map to cp1251 at d:/devel/perl/perl/lib/ExtUtils/MakeMaker.pm line 1182.
"\x{00e1}" does not map to cp1251 at d:/devel/perl/perl/lib/ExtUtils/MakeMaker.pm line 1182.
"\x{0142}" does not map to cp1251 at d:/devel/perl/perl/lib/ExtUtils/MakeMaker.pm line 1182.
"\x{0142}" does not map to cp1251 at d:/devel/perl/perl/lib/ExtUtils/MakeMaker.pm line 1182.
Writing MYMETA.yml and MYMETA.json
dmake
d:\downloads\Net-Curl-0.37-2>dmake
cp lib/Net/Curl/Easy.pm blib\lib\Net\Curl\Easy.pm
cp lib/Net/Curl.pm blib\lib\Net\Curl.pm
cp lib/Net/Curl/Form.pm blib\lib\Net\Curl\Form.pm
cp lib/Net/Curl/Multi.pm blib\lib\Net\Curl\Multi.pm
cp lib/Net/Curl/Share.pm blib\lib\Net\Curl\Share.pm
cp lib/Net/Curl/examples.pod blib\lib\Net\Curl\examples.pod
cp lib/Net/Curl/Compat.pm blib\lib\Net\Curl\Compat.pm
Running Mkbootstrap for Net::Curl ()
"D:\devel\perl\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 644 "Curl.bs"
"D:\devel\perl\perl\bin\perl.exe" "D:\devel\perl\perl\lib\ExtUtils\xsubpp" -typemap "D:\devel\perl\perl\lib\ExtUtils\typemap" -typemap "typemap" Curl.xs > Curl.xsc && "D:\devel\perl\perl\bin\perl.exe" -MExtUtils::Command -e mv -- Curl.xsc Curl.c
gcc -c -Wall -Id:/downloads/curl-7.40.0-devel-mingw64/include -s -O2 -DVERSION=\"0.37\" -DXS_VERSION=\"0.37\" "-ID:\devel\perl\perl\lib\CORE" Curl.c
Curl.xs: In function 'perl_curl_constant_add':
Curl.xs:387:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
#pragma clang diagnostic push
^
Curl.xs:388:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
#pragma clang diagnostic ignored "-Wunused-value"
^
Curl.xs:390:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
#pragma clang diagnostic pop
^
In file included from Curl.xs:17:0:
curl-Share-c.inc: In function 'cb_share_lock':
D:\devel\perl\perl\lib\CORE/perl.h:154:22: warning: unused variable 'my_perl' [-Wunused-variable]
# define pTHX tTHX my_perl PERL_UNUSED_DECL
^
D:\devel\perl\perl\lib\CORE/perl.h:165:19: note: in expansion of macro 'pTHX'
# define dTHX pTHX = PERL_GET_THX
^
curl-Share-c.inc:30:2: note: in expansion of macro 'dTHX'
dTHX;
^
curl-Share-c.inc: In function 'cb_share_unlock':
D:\devel\perl\perl\lib\CORE/perl.h:154:22: warning: unused variable 'my_perl' [-Wunused-variable]
# define pTHX tTHX my_perl PERL_UNUSED_DECL
^
D:\devel\perl\perl\lib\CORE/perl.h:165:19: note: in expansion of macro 'pTHX'
# define dTHX pTHX = PERL_GET_THX
^
curl-Share-c.inc:40:2: note: in expansion of macro 'dTHX'
dTHX;
^
Curl.c: In function 'XS_Net__Curl__Multi_socket_action':
Curl.c:1307:6: warning: overflow in implicit constant conversion [-Woverflow]
sockfd = CURL_SOCKET_BAD;
^
In file included from d:/downloads/curl-7.40.0-devel-mingw64/include/curl/curl.h:2339:0,
from Curl.xs:20:
In function 'perl_curl_easy_setopt_object',
inlined from 'XS_Net__Curl__Easy_setopt' at ./curl-Easy-xs.inc:388:32:
d:/downloads/curl-7.40.0-devel-mingw64/include/curl/typecheck-gcc.h:47:35: warning: call to '_curl_easy_setopt_err_long' declared with attribute warning: curl_easy_setopt expects a long argument for this option [enabled by default]
_curl_easy_setopt_err_long(); \
^
Curl_Easy_setopt.c:302:10: note: in expansion of macro 'curl_easy_setopt'
ret = curl_easy_setopt( easy->handle, option,
^
d:/downloads/curl-7.40.0-devel-mingw64/include/curl/typecheck-gcc.h:53:37: warning: call to '_curl_easy_setopt_err_string' declared with attribute warning:
curl_easy_setopt expects a string (char* or char[]) argument for this option [enabled by default]
_curl_easy_setopt_err_string(); \
^
Curl_Easy_setopt.c:302:10: note: in expansion of macro 'curl_easy_setopt'
ret = curl_easy_setopt( easy->handle, option,
^
d:/downloads/curl-7.40.0-devel-mingw64/include/curl/typecheck-gcc.h:80:38: warning: call to '_curl_easy_setopt_err_conv_cb' declared with attribute warning: curl_easy_setopt expects a curl_conv_callback argument for this option [enabled by default]
_curl_easy_setopt_err_conv_cb(); \
^
Curl_Easy_setopt.c:302:10: note: in expansion of macro 'curl_easy_setopt'
ret = curl_easy_setopt( easy->handle, option,
^
d:/downloads/curl-7.40.0-devel-mingw64/include/curl/typecheck-gcc.h:47:35: warning: call to '_curl_easy_setopt_err_long' declared with attribute warning: curl_easy_setopt expects a long argument for this option [enabled by default]
_curl_easy_setopt_err_long(); \
^
Curl_Easy_setopt.c:308:5: note: in expansion of macro 'curl_easy_setopt'
curl_easy_setopt( easy->handle, option, NULL );
^
d:/downloads/curl-7.40.0-devel-mingw64/include/curl/typecheck-gcc.h:47:35: warning: call to '_curl_easy_setopt_err_long' declared with attribute warning: curl_easy_setopt expects a long argument for this option [enabled by default]
_curl_easy_setopt_err_long(); \
^
Curl_Easy_setopt.c:319:11: note: in expansion of macro 'curl_easy_setopt'
ret = curl_easy_setopt( easy->handle, option, form->post );
^
d:/downloads/curl-7.40.0-devel-mingw64/include/curl/typecheck-gcc.h:53:37: warning: call to '_curl_easy_setopt_err_string' declared with attribute warning:
curl_easy_setopt expects a string (char* or char[]) argument for this option [enabled by default]
_curl_easy_setopt_err_string(); \
^
Curl_Easy_setopt.c:319:11: note: in expansion of macro 'curl_easy_setopt'
ret = curl_easy_setopt( easy->handle, option, form->post );
^
d:/downloads/curl-7.40.0-devel-mingw64/include/curl/typecheck-gcc.h:80:38: warning: call to '_curl_easy_setopt_err_conv_cb' declared with attribute warning: curl_easy_setopt expects a curl_conv_callback argument for this option [enabled by default]
_curl_easy_setopt_err_conv_cb(); \
^
Curl_Easy_setopt.c:319:11: note: in expansion of macro 'curl_easy_setopt'
ret = curl_easy_setopt( easy->handle, option, form->post );
^
d:/downloads/curl-7.40.0-devel-mingw64/include/curl/typecheck-gcc.h:47:35: warning: call to '_curl_easy_setopt_err_long' declared with attribute warning: curl_easy_setopt expects a long argument for this option [enabled by default]
_curl_easy_setopt_err_long(); \
^
Curl_Easy_setopt.c:326:5: note: in expansion of macro 'curl_easy_setopt'
curl_easy_setopt( easy->handle, option, NULL );
^
d:/downloads/curl-7.40.0-devel-mingw64/include/curl/typecheck-gcc.h:47:35: warning: call to '_curl_easy_setopt_err_long' declared with attribute warning: curl_easy_setopt expects a long argument for this option [enabled by default]
_curl_easy_setopt_err_long(); \
^
Curl_Easy_setopt.c:338:11: note: in expansion of macro 'curl_easy_setopt'
ret = curl_easy_setopt( easy->handle, option, share->handle );
^
"D:\devel\perl\perl\bin\perl.exe" -MExtUtils::Mksymlists \
-e "Mksymlists('NAME'=>\"Net::Curl\", 'DLBASE' => 'Curl', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
dlltool --def Curl.def --output-exp dll.exp
g++.exe -o blib\arch\auto\Net\Curl\Curl.xs.dll -Wl,--base-file -Wl,dll.base -mdll -s -L"D:\devel\perl\perl\lib\CORE" -L"D:\devel\perl\c\lib" Curl.o "D:\devel\perl\perl\lib\CORE\libperl520.a" "d:\downloads\curl-7.40.0-devel-mingw64\lib64\libcurldll.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libmoldname.a" "D:\
devel\perl\c\x86_64-w64-mingw32\lib\libkernel32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libuser32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libgdi32.a"
"D:\devel\perl\c\x86_64-w64-mingw32\lib\libwinspool.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libcomdlg32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libadvapi32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libshell32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libole32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\liboleaut32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libnetapi32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libuuid.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libws2_32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libmpr.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libwinmm.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libversion.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libodbc32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libodbccp32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libcomctl32.a" dll.exp
dlltool --def Curl.def --base-file dll.base --output-exp dll.exp
g++.exe -o blib\arch\auto\Net\Curl\Curl.xs.dll -mdll -s -L"D:\devel\perl\perl\lib\CORE" -L"D:\devel\perl\c\lib" Curl.o "D:\devel\perl\perl\lib\CORE\libperl520.a" "d:\downloads\curl-7.40.0-devel-mingw64\lib64\libcurldll.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libmoldname.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libkernel32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libuser32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libgdi32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libwinspool.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libcomdlg32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libadvapi32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libshell32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libole32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\liboleaut32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libnetapi32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libuuid.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libws2_32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libmpr.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libwinmm.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libversion.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libodbc32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libodbccp32.a" "D:\devel\perl\c\x86_64-w64-mingw32\lib\libcomctl32.a" dll.exp
"D:\devel\perl\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 755 blib\arch\auto\Net\Curl\Curl.xs.dll
dmake test
d:\downloads\Net-Curl-0.37-2>dmake test
"D:\devel\perl\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00-info.t ................................ # libcurl
# version():
# libcurl/7.40.0 OpenSSL/1.0.0o zlib/1.2.8 WinIDN libssh2/1.4.3 librtmp/2.3
# version_info():
# {age} = 3;
# {ares_num} = 0;
# {features} =
# | CURL_VERSION_SSL (1<<2)
# | CURL_VERSION_LIBZ (1<<3)
# | CURL_VERSION_NTLM (1<<4)
# | CURL_VERSION_ASYNCHDNS (1<<7)
# | CURL_VERSION_SPNEGO (1<<8)
# | CURL_VERSION_LARGEFILE (1<<9)
# | CURL_VERSION_IDN (1<<10)
# | CURL_VERSION_SSPI (1<<11)
# | CURL_VERSION_KERBEROS5 (1<<18);
# missing features =
# | CURL_VERSION_IPV6 (1<<0)
# | CURL_VERSION_KERBEROS4 (1<<1)
# | CURL_VERSION_GSSNEGOTIATE (1<<5)
# | CURL_VERSION_DEBUG (1<<6)
# | CURL_VERSION_CONV (1<<12)
# | CURL_VERSION_CURLDEBUG (1<<13)
# | CURL_VERSION_TLSAUTH_SRP (1<<14)
# | CURL_VERSION_NTLM_WB (1<<15)
# | CURL_VERSION_HTTP2 (1<<16)
# | CURL_VERSION_GSSAPI (1<<17)
# | CURL_VERSION_UNIX_SOCKETS (1<<19);
# {host} = 'x86_64-pc-win32';
# {iconv_ver_num} = 0;
# {libssh_version} = 'libssh2/1.4.3';
# {libz_version} = '1.2.8';
# {protocols} = dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, pop3, pop3s, rtmp, rtsp, scp, sftp, smtp, smtps, telnet, tftp;
# {ssl_version} = 'OpenSSL/1.0.0o';
# {ssl_version_num} = 0;
# {version} = '7.40.0';
# {version_num} = 0x072800;
# build version:
# LIBCURL_COPYRIGHT = '1996 - 2015 Daniel Stenberg, <[email protected]>.'
# LIBCURL_VERSION = '7.40.0'
# LIBCURL_VERSION_NUM = 0x072800
# LIBCURL_VERSION_MAJOR = 7
# LIBCURL_VERSION_MINOR = 40
# LIBCURL_VERSION_PATCH = 0
# LIBCURL_TIMESTAMP = 'Thu Jan 8 08:17:17 UTC 2015'
t/00-info.t ................................ ok
t/01-constants.t ........................... ok
t/02-methods.t ............................. ok
t/03-cookies.t ............................. ok
t/40-callback-opensocket.t ................. 1/7 Couldn't connect to server# Looks like you planned 7 tests but ran 6.
# Looks like your test exited with 25 just after 6.
Terminating on signal SIGINT(2)
Terminating on signal SIGINT(2)
Caught SIGINT. Trying to quit ...
dmake: Warning: -- Internal Warning: finished pid 60 is not in pq!?
tests stuck on t/40-callback-opensocket.t.
Please, help to resolve this and get Net::Curl work on windows.
> perl -Ilib -MNet::Curl::Promiser::AnyEvent -MAnyEvent -Mstrict -w -MNet::Curl::Easy -e'our $easy = Net::Curl::Easy->new(); $easy->setopt( Net::Curl::Easy::CURLOPT_URL, "https://google.com" ); print qq<$INC{"Net/Curl/Easy.pm"}$/>; my $promiser = Net::Curl::Promiser::AnyEvent->new(); $promiser->add_handle($easy);'
/opt/local/lib/perl5/site_perl/5.26/darwin-thread-multi-2level/Net/Curl/Easy.pm
perl(24346,0x1169935c0) malloc: *** error for object 0x7fc16fd3abe0: pointer being freed was not allocated
perl(24346,0x1169935c0) malloc: *** set a breakpoint in malloc_error_break to debug
Abort trap: 6
Also happens with Mojo:
> perl -Ilib -MNet::Curl::Promiser::Mojo -MAnyEvent -Mstrict -w -MNet::Curl::Easy -e'our $easy = Net::Curl::Easy->new(); $easy->setopt( Net::Curl::Easy::CURLOPT_URL, "https://google.com" ); print qq<$INC{"Net/Curl/Easy.pm"}$/>; my $promiser = Net::Curl::Promiser::Mojo->new(); $promiser->add_handle($easy);'
/opt/local/lib/perl5/site_perl/5.26/darwin-thread-multi-2level/Net/Curl/Easy.pm
perl(24382,0x10d8095c0) malloc: *** error for object 0x7f84cff55bb0: pointer being freed was not allocated
perl(24382,0x10d8095c0) malloc: *** set a breakpoint in malloc_error_break to debug
Abort trap: 6
Seen on Perl 5.26 on macOS 10.14.
I think I have a fix; I’m just writing a test.
Hi,
Im getting "callback function is not set" if URL has a domain name. If I use IP the error doesnt show. I used a code example from http://stackoverflow.com/questions/36898569/understanding-async-in-perl-on-specific-example/ by Ikegami.
Ubuntu 14.04.4 LTS, 4.2.0-30-generic.
Net::Curl::Multi is up to date (0.37).
OS Curl removed and installed from source. C-ares also.
curl 7.48.0 (x86_64-pc-linux-gnu) libcurl/7.48.0 OpenSSL/1.0.1f zlib/1.2.8 c-ares/1.11.0 libidn/1.28 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets
Any ideas what might couse this? ;)
Thanks!
I don’t see this on Linux; I’ve not tried other OSes.
use strict;
use warnings;
use Net::Curl::Multi;
use Net::Curl::Easy qw(:constants);
print "Perl $^V$/";
print "Net::Curl $Net::Curl::VERSION$/";
my $multi = Net::Curl::Multi->new();
my $self = { multi => $multi };
$multi->setopt(
Net::Curl::Multi::CURLMOPT_SOCKETFUNCTION,
\&_socket_fn,
);
sub _socket_fn { 0 }
my $handle = Net::Curl::Easy->new();
$handle->setopt( CURLOPT_URL() => 'http://perl.org' );
$handle->setopt( CURLOPT_FOLLOWLOCATION() => 1 );
$multi->setopt( Net::Curl::Multi::CURLMOPT_TIMERFUNCTION(), \&_cb_timer );
$multi->setopt( Net::Curl::Multi::CURLMOPT_TIMERDATA(), $self );
$multi->add_handle($handle);
sub _cb_timer { 0 }
die "ohno";
It outputs:
Perl v5.26.3
Net::Curl 0.42
ohno at ./repro.pl line 42.
Segmentation fault: 11
… but inconsistently: sometimes it segfaults; sometimes the thrown exception just kills the process normally.
I spent a good while recently hunting down an error that would have been much easier to find if Net::Curl reported exceptions from callbacks rather than throwing them away.
I’m going to submit a PR to warn if a callback ends with an exception.
#!/usr/bin/env perl
use strict;
use warnings;
use Net::Curl::Easy;
use Net::Curl::Share;
my $share = Net::Curl::Share->new();
$share->setopt( Net::Curl::Share::CURLSHOPT_SHARE(), Net::Curl::Share::CURL_LOCK_DATA_COOKIE() );
my $easy1 = Net::Curl::Easy->new();
$easy1->setopt( Net::Curl::Easy::CURLOPT_VERBOSE(), 1 );
$easy1->setopt( Net::Curl::Easy::CURLOPT_SHARE(), $share );
$easy1->setopt( Net::Curl::Easy::CURLOPT_URL(), "http://www.google.com/search?q=perl" );
$easy1->perform();
my $easy2 = Net::Curl::Easy->new();
$easy2->setopt( Net::Curl::Easy::CURLOPT_VERBOSE(), 1 );
$easy2->setopt( Net::Curl::Easy::CURLOPT_SHARE(), $share );
$easy2->setopt( Net::Curl::Easy::CURLOPT_URL(), "http://www.google.com/search?q=curl" );
$easy2->perform();
^^ The above shows libcurl not sending the Cookie:
header in the 2nd request.
The equivalent C code, though, does send the Coookie:
…
#include <stdio.h>
#include <curl/curl.h>
void main() {
CURLSH* share = curl_share_init();
curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
CURL* easy1 = curl_easy_init();
curl_easy_setopt( easy1, CURLOPT_VERBOSE, 1 );
curl_easy_setopt( easy1, CURLOPT_SHARE, share );
curl_easy_setopt( easy1, CURLOPT_URL, "http://www.google.com/search?q=perl" );
curl_easy_perform(easy1);
CURL* easy2 = curl_easy_init();
curl_easy_setopt( easy2, CURLOPT_VERBOSE, 1 );
curl_easy_setopt( easy2, CURLOPT_SHARE, share );
curl_easy_setopt( easy2, CURLOPT_URL, "http://www.google.com/search?q=curl" );
curl_easy_perform(easy2);
}
I note the same problem with examples/02-multi-simple.pl
in the distribution.
I observed a segfault at global destruction and tracked it down to a case where the multi is freed while an easy is removed from it.
I wasn’t able to create a minimum-reproduction, alas, but I have a simple fix.
Hi,
I don't have the same behaviour if i use the perl module (i use the following code: https://github.com/centreon/centreon-plugins/blob/master/centreon/plugins/backend/http/curl.pm) or curl command.
The curl command working (it seems to use HTTP2):
curl -vvv -k --proxy 'http://XXXX:[email protected]:8080' 'https://rvrparad.devoteam.com/gericau/login-form.jsp' > /tmp/result.Txt
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 10.0.0.1...
* TCP_NODELAY set
* Connected to proxy.hm.dm.ad (10.0.0.1) port 8080 (#0)
* allocate connect buffer!
* Establish HTTP proxy tunnel to rvrparad.devoteam.com:443
* Proxy auth using Basic with user 'cs.supad'
> CONNECT rvrparad.devoteam.com:443 HTTP/1.1
> Host: rvrparad.devoteam.com:443
> Proxy-Authorization: Basic Y3Muc
> User-Agent: curl/7.61.1
> Proxy-Connection: Keep-Alive
>
< HTTP/1.0 200 Connection established
<
* Proxy replied 200 to CONNECT request
* CONNECT phase completed!
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* CONNECT phase completed!
* CONNECT phase completed!
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [15 bytes data]
* TLSv1.3 (IN), TLS handshake, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [4879 bytes data]
* TLSv1.3 (IN), TLS handshake, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* TLSv1.3 (IN), TLS handshake, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, [no content] (0):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
* subject: serialNumber=402 968 655 00165; jurisdictionC=FR; businessCategory=Private Organization; C=FR; ST=▒le-de-France; O=Devoteam; CN=rvrparad.devoteam.com
* start date: Dec 16 00:00:00 2021 GMT
* expire date: Jan 16 23:59:59 2023 GMT
* issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Extended Validation Secure Server CA
* SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
} [5 bytes data]
* TLSv1.3 (OUT), TLS app data, [no content] (0):
} [1 bytes data]
* TLSv1.3 (OUT), TLS app data, [no content] (0):
} [1 bytes data]
* TLSv1.3 (OUT), TLS app data, [no content] (0):
} [1 bytes data]
* Using Stream ID: 1 (easy handle 0x55f9c096a6b0)
} [5 bytes data]
* TLSv1.3 (OUT), TLS app data, [no content] (0):
} [1 bytes data]
> GET /gericau/login-form.jsp HTTP/2
> Host: rvrparad.devoteam.com
> User-Agent: curl/7.61.1
> Accept: */*
>
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* TLSv1.3 (IN), TLS handshake, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
} [5 bytes data]
* TLSv1.3 (OUT), TLS app data, [no content] (0):
} [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
< HTTP/2 200
< strict-transport-security: max-age=31536000; includeSubDomains; preload
< x-frame-options: SAMEORIGIN
< x-xss-protection: 1; mode=block
< x-content-type-options: nosniff
< content-security-policy: default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data: blob:
< content-type: text/html;charset=iso-8859-15
< date: Thu, 04 Aug 2022 09:20:26 GMT
< set-cookie: JSESSIONID=ACEBDD7D8756C933B620FF4D9AA54AB8; Path=/gericau; Secure; HttpOnly
< vary: Accept-Encoding
< x-robots-tag: noindex
< server: Apache
<
{ [42 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
* TLSv1.3 (IN), TLS app data, [no content] (0):
{ [1 bytes data]
100 29138 0 29138 0 0 296k 0 --:--:-- --:--:-- --:--:-- 296k
* Connection #0 to host prc37cti1.hm.dm.ad left intact
My command using the perl module (the proxy doesn't offer HTTP2, why the diff with curl command ?):
/usr/lib/centreon/plugins//centreon_protocol_http.pl --plugin=apps::protocols::http::plugin --mode=expected-content --hostname=rvrparad.devoteam.com --proto='https' --port='' --urlpath='/gericau/login-form.jsp' --expected-string='' --warning-time='3' --critical-time='4' --warning-content='' --critical-content='%{code} != 200 and %{code} != 401' --unknown-content='' --unknown-status='' --warning-size='' --critical-size='' --proxyurl='http://XXX:[email protected]:8080' --http-backend='curl' --insecure --debug
UNKNOWN: curl perform error : Transferred a partial file
== Info: Trying 10.0.0.1...
== Info: TCP_NODELAY set
== Info: Connected to proxy.hm.dm.ad (10.0.0.1) port 8080 (#0)
== Info: allocate connect buffer!
== Info: Establish HTTP proxy tunnel to rvrparad.devoteam.com:443
== Info: Proxy auth using Basic with user 'cs.supad'
=> Send header: CONNECT rvrparad.devoteam.com:443 HTTP/1.1
Host: rvrparad.devoteam.com:443
Proxy-Authorization: Basic Y3Muc
Proxy-Connection: Keep-Alive
=> Recv header: HTTP/1.0 200 Connection established
=> Recv header:
== Info: Proxy replied 200 to CONNECT request
== Info: CONNECT phase completed!
== Info: ALPN, offering http/1.1
== Info: successfully set certificate verify locations:
== Info: CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
== Info: TLSv1.3 (OUT), TLS handshake, Client hello (1):
== Info: CONNECT phase completed!
== Info: CONNECT phase completed!
== Info: TLSv1.3 (IN), TLS handshake, Server hello (2):
== Info: TLSv1.3 (IN), TLS handshake, [no content] (0):
== Info: TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
== Info: TLSv1.3 (IN), TLS handshake, [no content] (0):
== Info: TLSv1.3 (IN), TLS handshake, Certificate (11):
== Info: TLSv1.3 (IN), TLS handshake, [no content] (0):
== Info: TLSv1.3 (IN), TLS handshake, CERT verify (15):
== Info: TLSv1.3 (IN), TLS handshake, [no content] (0):
== Info: TLSv1.3 (IN), TLS handshake, Finished (20):
== Info: TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
== Info: TLSv1.3 (OUT), TLS handshake, [no content] (0):
== Info: TLSv1.3 (OUT), TLS handshake, Finished (20):
== Info: SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
== Info: ALPN, server accepted to use http/1.1
== Info: Server certificate:
== Info: subject: serialNumber=402 968 655 00165; jurisdictionC=FR; businessCategory=Private Organization; C=FR; ST=▒le-de-France; O=Devoteam; CN=rvrparad.devoteam.com
== Info: start date: Dec 16 00:00:00 2021 GMT
== Info: expire date: Jan 16 23:59:59 2023 GMT
== Info: issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Extended Validation Secure Server CA
== Info: SSL certificate verify ok.
== Info: TLSv1.3 (OUT), TLS app data, [no content] (0):
=> Send header: GET /gericau/login-form.jsp HTTP/1.1
Host: rvrparad.devoteam.com
Accept: */*
== Info: TLSv1.3 (IN), TLS handshake, [no content] (0):
== Info: TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
== Info: TLSv1.3 (IN), TLS handshake, [no content] (0):
== Info: TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
== Info: TLSv1.3 (IN), TLS app data, [no content] (0):
=> Recv header: HTTP/1.1 200
=> Recv header: Date: Thu, 04 Aug 2022 09:19:40 GMT
=> Recv header: Server: Apache
=> Recv header: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
=> Recv header: X-Frame-Options: SAMEORIGIN
=> Recv header: X-XSS-Protection: 1; mode=block
=> Recv header: X-Content-Type-Options: nosniff
=> Recv header: Content-Security-Policy: default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data: blob:
=> Recv header: Content-Type: text/html;charset=iso-8859-15
=> Recv header: Set-Cookie: JSESSIONID=DE4BDD19AA4C396C829D8B7EB8BD7200; Path=/gericau; Secure; HttpOnly
=> Recv header: Vary: Accept-Encoding
=> Recv header: X-Robots-Tag: noindex
=> Recv header: Transfer-Encoding: chunked
=> Recv header:
=> Recv data: 2a
== Info: TLSv1.3 (IN), TLS app data, [no content] (0):
=> Recv data: 5a
<html lang="fr">
<!-- Application du theme par defaut -->
<head>
<title>
== Info: TLSv1.3 (IN), TLS app data, [no content] (0):
=> Recv data: 20
Connexion
</title>
== Info: TLSv1.3 (IN), TLS alert, [no content] (0):
== Info: TLSv1.3 (IN), TLS alert, close notify (256):
== Info: transfer closed with outstanding read data remaining
== Info: Closing connection 0
== Info: TLSv1.3 (OUT), TLS alert, [no content] (0):
== Info: TLSv1.3 (OUT), TLS alert, close notify (256):
t/70-escape-unescape.t ..................... 1/24
# Failed test 'escape'
# at t/70-escape-unescape.t line 49.
# got: '~-_.'
# expected: '%7E%2D%5F%2E'
# Looks like you failed 1 test of 24.
t/70-escape-unescape.t ..................... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/24 subtests
Archlinux, x64, curl 7.49.1, perl 5.24
net-curl-compiling.txt
perl-v.txt
Could you provide (more explicit) details on how to install/build Net::Curl on Windows? ActiveState does not provide a compiled binary and installing via CPAN does not work out-of-the-box either. Both fail on the libcurl requirement. Installing libcurl on Linux is easy, but getting everything built and linked correctly on Windows is more of a hassle.
So it would be great if you could add the steps to setup libcurl as required by Net::Curl. Thanks!
Linux 4.11.8-2-default [openSUSE Tumbleweed 20170726]
This is perl 5, version 26, subversion 0 (v5.26.0) built for x86_64-linux-thread-multi-ld
LANG=en_US.UTF-8
libcurl4-7.54.1-1.2.x86_64
ok 2406 - LIBCURL_TIMESTAMP is defined
not ok 2407 - LIBCURL_TIMESTAMP is a string
# Failed test 'LIBCURL_TIMESTAMP is a string'
# at t/01-constants.t line 68.
# '2017-06-14'
# doesn't match '(?^i:[a-z])'
ok 2408 - LIBCURL_VERSION constant can be retrieved
FWIW tests PASS in
Linux 4.4.74-18.20-default [openSUSE Leap 42.2]
This is perl 5, version 26, subversion 0 (v5.26.0) built for x86_64-linux-thread-multi-ld
LANG=en_US.UTF-8
libcurl4-7.37.0-16.3.1.x86_64
Note that the LC_TIME has been modified (on both), as M/D/Y formats are unacceptable. Does that influence these tests? If so, I cannot explain the fail, as both boxes have the same fixed LC_TIME
$ locale -ck LC_TIME
LC_TIME
abday="Sun;Mon;Tue;Wed;Thu;Fri;Sat"
day="Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday"
abmon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"
mon="January;February;March;April;May;June;July;August;September;October;November;December"
am_pm="AM;PM"
d_t_fmt="%a %d %b %Y %R %Z"
d_fmt="%d-%m-%Y"
t_fmt="%R"
t_fmt_ampm="%H:%M:%S"
era=
era_year=""
era_d_fmt=""
alt_digits=
era_d_t_fmt=""
era_t_fmt=""
time-era-num-entries=0
time-era-entries="S"
week-ndays=7
week-1stday=19971130
week-1stweek=1
first_weekday=1
first_workday=2
cal_direction=1
timezone=""
date_fmt="%a %e %b %Y %H:%M:%S"
time-codeset="UTF-8"
$ locale -ck LC_TIME
LC_TIME
abday="Sun;Mon;Tue;Wed;Thu;Fri;Sat"
day="Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday"
abmon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"
mon="January;February;March;April;May;June;July;August;September;October;November;December"
am_pm="AM;PM"
d_t_fmt="%a %d %b %Y %R %Z"
d_fmt="%d-%m-%Y"
t_fmt="%R"
t_fmt_ampm="%H:%M:%S"
era=
era_year=""
era_d_fmt=""
alt_digits=
era_d_t_fmt=""
era_t_fmt=""
time-era-num-entries=0
time-era-entries="S"
week-ndays=7
week-1stday=19971130
week-1stweek=7
first_weekday=1
first_workday=2
cal_direction=1
timezone=""
date_fmt="%a %e %b %Y %H:%M:%S"
time-codeset="UTF-8"
Net::Curl sets it's version as 0.32 which is correct.
Net::Curl::Compat sets it's version to 4.15 which causes problems, as it's part of the Net::Curl module.
So in CPANPLUS (haven't tried CPAN) installing Net::Curl then shows Net::Curl::Compat has a more recent version available.
Installing Net::Curl::Compat then reduces Net::Curl to version 0.31 which starts the loop all over again. Unsure why this occurs and makes keeping this module up to date... a bit of work...
Since Net::Curl::Compat is part of Net::Curl maybe a solution is for Compat.pm to just inherit the version number from the parent package.
I'm trying to install the package via CPAN and I get the following output in the build.log
:
t/old-09times.t ............................ ok
# Failed test 'Reading redirected STDERR'
# at t/old-10errbuf.t line 45.
# '* Closing connection -1
# '
# doesn't match '(?^x:^\*\s+(?:
# Protocol \s badprotocol \s not \s supported \s or \s disabled \s in \s libcurl |
# Unsupported \s protocol: \s badprotocol |
# Rebuilt \s URL \s to: \s badprotocol://.+
# )$)'
# Looks like you failed 1 test of 13.
t/old-10errbuf.t ...........................
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/13 subtests
I'm no Perl expert, I just need to install this as a dependency for a web application. Should I install it with --force
so the tests will be skipped? I've read in the README sometimes tests fail with no good reason but My machine has an excellent internet connection and fast processor so there shouldn't be a problem because of this. Additionally, even if I try to run the tests again I get the failure at the same test file.
Thanks.
The latest release does not build against curl 7.87.0.
In file included from Curl.xs:455:
curl-Form-c.inc: In function 'perl_curl_form_delete':
curl-Form-c.inc:43:17: warning: 'curl_formfree' is deprecated: since 7.56.0. Use curl_mime_free() [-Wdeprecated-declarations]
43 | curl_formfree( form->post );
| ^~~~~~~~~~~~~
In file included from Curl.xs:20:
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2606:1: note: declared here
2606 | curl_formfree(struct curl_httppost *form);
| ^~~~~~~~~~~~~
In file included from Curl.xs:458:
Curl_Easy_setopt.c: In function 'perl_curl_easy_setopt_function':
Curl_Easy_setopt.c:46:17: warning: 'CURLOPT_PROGRESSFUNCTION' is deprecated: since 7.32.0. Use CURLOPT_XFERINFOFUNCTION [-Wdeprecated-declarations]
46 | case CURLOPT_PROGRESSFUNCTION:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1295:21: note: declared here
1295 | CURLOPTDEPRECATED(CURLOPT_PROGRESSFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 56,
| ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
Curl_Easy_setopt.c:65:17: warning: 'CURLOPT_IOCTLFUNCTION' is deprecated: since 7.18.0. Use CURLOPT_SEEKFUNCTION [-Wdeprecated-declarations]
65 | case CURLOPT_IOCTLFUNCTION:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1580:21: note: declared here
1580 | CURLOPTDEPRECATED(CURLOPT_IOCTLFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 130,
| ^~~~~~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
Curl_Easy_setopt.c:67:25: warning: 'CURLOPT_IOCTLDATA' is deprecated: since 7.18.0. Use CURLOPT_SEEKDATA [-Wdeprecated-declarations]
67 | dataopt = CURLOPT_IOCTLDATA;
| ^~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1582:21: note: declared here
1582 | CURLOPTDEPRECATED(CURLOPT_IOCTLDATA, CURLOPTTYPE_CBPOINT, 131,
| ^~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
Curl_Easy_setopt.c: In function 'perl_curl_easy_setopt_functiondata':
Curl_Easy_setopt.c:206:17: warning: 'CURLOPT_IOCTLDATA' is deprecated: since 7.18.0. Use CURLOPT_SEEKDATA [-Wdeprecated-declarations]
206 | case CURLOPT_IOCTLDATA:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1582:21: note: declared here
1582 | CURLOPTDEPRECATED(CURLOPT_IOCTLDATA, CURLOPTTYPE_CBPOINT, 131,
| ^~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
Curl_Easy_setopt.c: In function 'perl_curl_easy_setopt_object':
Curl_Easy_setopt.c:306:17: warning: 'CURLOPT_HTTPPOST' is deprecated: since 7.56.0. Use CURLOPT_MIMEPOST [-Wdeprecated-declarations]
306 | case CURLOPT_HTTPPOST:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1195:21: note: declared here
1195 | CURLOPTDEPRECATED(CURLOPT_HTTPPOST, CURLOPTTYPE_OBJECTPOINT, 24,
| ^~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./curl-Form-xs.inc: In function 'XS_Net__Curl__Form_add':
./curl-Form-xs.inc:166:33: warning: 'CURLFORM_PTRNAME' is deprecated: since 7.56.0. Use curl_mime_name() [-Wdeprecated-declarations]
166 | case CURLFORM_PTRNAME:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2496:3: note: declared here
2496 | CURLFORM_PTRNAME CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"),
| ^~~~~~~~~~~~~~~~
./curl-Form-xs.inc:167:41: warning: 'CURLFORM_COPYNAME' is deprecated: since 7.56.0. Use curl_mime_name() [-Wdeprecated-declarations]
167 | option = CURLFORM_COPYNAME;
| ^~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2495:3: note: declared here
2495 | CURLFORM_COPYNAME CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"),
| ^~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:168:33: warning: 'CURLFORM_COPYNAME' is deprecated: since 7.56.0. Use curl_mime_name() [-Wdeprecated-declarations]
168 | case CURLFORM_COPYNAME:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2495:3: note: declared here
2495 | CURLFORM_COPYNAME CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"),
| ^~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:169:41: warning: 'CURLFORM_NAMELENGTH' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
169 | option_len = CURLFORM_NAMELENGTH;
| ^~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2497:3: note: declared here
2497 | CURLFORM_NAMELENGTH CURL_DEPRECATED(7.56.0, ""),
| ^~~~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:173:33: warning: 'CURLFORM_PTRCONTENTS' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
173 | case CURLFORM_PTRCONTENTS:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2499:3: note: declared here
2499 | CURLFORM_PTRCONTENTS CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
| ^~~~~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:174:41: warning: 'CURLFORM_COPYCONTENTS' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
174 | option = CURLFORM_COPYCONTENTS;
| ^~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2498:3: note: declared here
2498 | CURLFORM_COPYCONTENTS CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
| ^~~~~~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:175:33: warning: 'CURLFORM_COPYCONTENTS' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
175 | case CURLFORM_COPYCONTENTS:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2498:3: note: declared here
2498 | CURLFORM_COPYCONTENTS CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
| ^~~~~~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:176:41: warning: 'CURLFORM_CONTENTSLENGTH' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
176 | option_len = CURLFORM_CONTENTSLENGTH;
| ^~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2500:3: note: declared here
2500 | CURLFORM_CONTENTSLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
| ^~~~~~~~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:180:33: warning: 'CURLFORM_BUFFERPTR' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
180 | case CURLFORM_BUFFERPTR:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2507:3: note: declared here
2507 | CURLFORM_BUFFERPTR CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
| ^~~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:181:41: warning: 'CURLFORM_BUFFERLENGTH' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
181 | option_len = CURLFORM_BUFFERLENGTH;
| ^~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2508:3: note: declared here
2508 | CURLFORM_BUFFERLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
| ^~~~~~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:200:33: warning: 'CURLFORM_NAMELENGTH' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
200 | case CURLFORM_NAMELENGTH:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2497:3: note: declared here
2497 | CURLFORM_NAMELENGTH CURL_DEPRECATED(7.56.0, ""),
| ^~~~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:201:33: warning: 'CURLFORM_CONTENTSLENGTH' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
201 | case CURLFORM_CONTENTSLENGTH:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2500:3: note: declared here
2500 | CURLFORM_CONTENTSLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
| ^~~~~~~~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:202:33: warning: 'CURLFORM_BUFFERLENGTH' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
202 | case CURLFORM_BUFFERLENGTH:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2508:3: note: declared here
2508 | CURLFORM_BUFFERLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
| ^~~~~~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:213:33: warning: 'CURLFORM_FILECONTENT' is deprecated: since 7.56.0. Use curl_mime_data_cb() [-Wdeprecated-declarations]
213 | case CURLFORM_FILECONTENT:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2501:3: note: declared here
2501 | CURLFORM_FILECONTENT CURL_DEPRECATED(7.56.0, "Use curl_mime_data_cb()"),
| ^~~~~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:214:33: warning: 'CURLFORM_FILE' is deprecated: since 7.56.0. Use curl_mime_filedata() [-Wdeprecated-declarations]
214 | case CURLFORM_FILE:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2504:3: note: declared here
2504 | CURLFORM_FILE CURL_DEPRECATED(7.56.0, "Use curl_mime_filedata()"),
| ^~~~~~~~~~~~~
./curl-Form-xs.inc:215:33: warning: 'CURLFORM_CONTENTTYPE' is deprecated: since 7.56.0. Use curl_mime_type() [-Wdeprecated-declarations]
215 | case CURLFORM_CONTENTTYPE:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2510:3: note: declared here
2510 | CURLFORM_CONTENTTYPE CURL_DEPRECATED(7.56.0, "Use curl_mime_type()"),
| ^~~~~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:216:33: warning: 'CURLFORM_FILENAME' is deprecated: since 7.56.0. Use curl_mime_filename() [-Wdeprecated-declarations]
216 | case CURLFORM_FILENAME:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2512:3: note: declared here
2512 | CURLFORM_FILENAME CURL_DEPRECATED(7.56.0, "Use curl_mime_filename()"),
| ^~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:217:33: warning: 'CURLFORM_BUFFER' is deprecated: since 7.56.0. Use curl_mime_filename() [-Wdeprecated-declarations]
217 | case CURLFORM_BUFFER:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2506:3: note: declared here
2506 | CURLFORM_BUFFER CURL_DEPRECATED(7.56.0, "Use curl_mime_filename()"),
| ^~~~~~~~~~~~~~~
./curl-Form-xs.inc:223:33: warning: 'CURLFORM_CONTENTHEADER' is deprecated: since 7.56.0. Use curl_mime_headers() [-Wdeprecated-declarations]
223 | case CURLFORM_CONTENTHEADER:
| ^~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2511:3: note: declared here
2511 | CURLFORM_CONTENTHEADER CURL_DEPRECATED(7.56.0, "Use curl_mime_headers()"),
| ^~~~~~~~~~~~~~~~~~~~~~
./curl-Form-xs.inc:243:17: warning: 'curl_formadd' is deprecated: since 7.56.0. Use curl_mime_init() [-Wdeprecated-declarations]
243 | ret = curl_formadd( &form->post, &form->last,
| ^~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2570:1: note: declared here
2570 | curl_formadd(struct curl_httppost **httppost,
| ^~~~~~~~~~~~
./curl-Form-xs.inc:244:25: warning: 'CURLFORM_ARRAY' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
244 | CURLFORM_ARRAY, farray, CURLFORM_END );
| ^~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2502:3: note: declared here
2502 | CURLFORM_ARRAY CURL_DEPRECATED(7.56.0, ""),
| ^~~~~~~~~~~~~~
./curl-Form-xs.inc:248:17: warning: 'CURL_FORMADD_OK' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
248 | if ( ret != CURL_FORMADD_OK )
| ^~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2546:3: note: declared here
2546 | CURL_FORMADD_OK CURL_DEPRECATED(7.56.0, ""), /* 1st, no error */
| ^~~~~~~~~~~~~~~
./curl-Form-xs.inc: In function 'XS_Net__Curl__Form_get':
./curl-Form-xs.inc:263:25: warning: 'curl_formget' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
263 | curl_formget( form->post, output, cb_form_get_sv );
| ^~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2596:1: note: declared here
2596 | curl_formget(struct curl_httppost *form, void *arg,
| ^~~~~~~~~~~~
./curl-Form-xs.inc:280:33: warning: 'curl_formget' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
280 | curl_formget( form->post, handle, cb_form_get_io );
| ^~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2596:1: note: declared here
2596 | curl_formget(struct curl_httppost *form, void *arg,
| ^~~~~~~~~~~~
./curl-Form-xs.inc:282:33: warning: 'curl_formget' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
282 | curl_formget( form->post, output, cb_form_get_sv );
| ^~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2596:1: note: declared here
2596 | curl_formget(struct curl_httppost *form, void *arg,
| ^~~~~~~~~~~~
./curl-Form-xs.inc:296:25: warning: 'curl_formget' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
296 | curl_formget( form->post, form, cb_form_get_code );
| ^~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2596:1: note: declared here
2596 | curl_formget(struct curl_httppost *form, void *arg,
| ^~~~~~~~~~~~
./curl-Easy-xs.inc: In function 'XS_Net__Curl__Easy_duphandle':
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:46:7: warning: 'CURLOPT_PROGRESSFUNCTION' is deprecated: since 7.32.0. Use CURLOPT_XFERINFOFUNCTION [-Wdeprecated-declarations]
46 | _Pragma("GCC diagnostic pop")
| ^~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:46:7: note: in definition of macro 'CURL_IGNORE_DEPRECATION'
46 | _Pragma("GCC diagnostic pop")
| ^~~~~~~
./curl-Easy-xs.inc:308:25: note: in expansion of macro 'curl_easy_setopt'
308 | curl_easy_setopt( clone->handle, CURLOPT_PROGRESSFUNCTION, cb_easy_progress );
| ^~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1295:21: note: declared here
1295 | CURLOPTDEPRECATED(CURLOPT_PROGRESSFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 56,
| ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:46:7: warning: 'CURLOPT_HTTPPOST' is deprecated: since 7.56.0. Use CURLOPT_MIMEPOST [-Wdeprecated-declarations]
46 | _Pragma("GCC diagnostic pop")
| ^~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:46:7: note: in definition of macro 'CURL_IGNORE_DEPRECATION'
46 | _Pragma("GCC diagnostic pop")
| ^~~~~~~
./curl-Easy-xs.inc:387:25: note: in expansion of macro 'curl_easy_setopt'
387 | curl_easy_setopt( clone->handle, CURLOPT_HTTPPOST, form->post );
| ^~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1195:21: note: declared here
1195 | CURLOPTDEPRECATED(CURLOPT_HTTPPOST, CURLOPTTYPE_OBJECTPOINT, 24,
| ^~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-form-xs.inc: In function 'boot_Net__Curl':
./const-form-xs.inc:6:25: warning: 'CURLFORM_ARRAY' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
6 | { "CURLFORM_ARRAY", 14, CURLFORM_ARRAY },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2502:3: note: declared here
2502 | CURLFORM_ARRAY CURL_DEPRECATED(7.56.0, ""),
| ^~~~~~~~~~~~~~
./const-form-xs.inc:7:25: warning: 'CURLFORM_BUFFER' is deprecated: since 7.56.0. Use curl_mime_filename() [-Wdeprecated-declarations]
7 | { "CURLFORM_BUFFER", 15, CURLFORM_BUFFER },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2506:3: note: declared here
2506 | CURLFORM_BUFFER CURL_DEPRECATED(7.56.0, "Use curl_mime_filename()"),
| ^~~~~~~~~~~~~~~
./const-form-xs.inc:8:25: warning: 'CURLFORM_BUFFERLENGTH' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
8 | { "CURLFORM_BUFFERLENGTH", 21, CURLFORM_BUFFERLENGTH },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2508:3: note: declared here
2508 | CURLFORM_BUFFERLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
| ^~~~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:9:25: warning: 'CURLFORM_BUFFERPTR' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
9 | { "CURLFORM_BUFFERPTR", 18, CURLFORM_BUFFERPTR },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2507:3: note: declared here
2507 | CURLFORM_BUFFERPTR CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
| ^~~~~~~~~~~~~~~~~~
./const-form-xs.inc:10:25: warning: 'CURLFORM_CONTENTHEADER' is deprecated: since 7.56.0. Use curl_mime_headers() [-Wdeprecated-declarations]
10 | { "CURLFORM_CONTENTHEADER", 22, CURLFORM_CONTENTHEADER },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2511:3: note: declared here
2511 | CURLFORM_CONTENTHEADER CURL_DEPRECATED(7.56.0, "Use curl_mime_headers()"),
| ^~~~~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:11:25: warning: 'CURLFORM_CONTENTLEN' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
11 | { "CURLFORM_CONTENTLEN", 19, CURLFORM_CONTENTLEN },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2517:3: note: declared here
2517 | CURLFORM_CONTENTLEN /* added in 7.46.0, provide a curl_off_t length */
| ^~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:12:25: warning: 'CURLFORM_CONTENTSLENGTH' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
12 | { "CURLFORM_CONTENTSLENGTH", 23, CURLFORM_CONTENTSLENGTH },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2500:3: note: declared here
2500 | CURLFORM_CONTENTSLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
| ^~~~~~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:13:25: warning: 'CURLFORM_CONTENTTYPE' is deprecated: since 7.56.0. Use curl_mime_type() [-Wdeprecated-declarations]
13 | { "CURLFORM_CONTENTTYPE", 20, CURLFORM_CONTENTTYPE },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2510:3: note: declared here
2510 | CURLFORM_CONTENTTYPE CURL_DEPRECATED(7.56.0, "Use curl_mime_type()"),
| ^~~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:14:25: warning: 'CURLFORM_COPYCONTENTS' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
14 | { "CURLFORM_COPYCONTENTS", 21, CURLFORM_COPYCONTENTS },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2498:3: note: declared here
2498 | CURLFORM_COPYCONTENTS CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
| ^~~~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:15:25: warning: 'CURLFORM_COPYNAME' is deprecated: since 7.56.0. Use curl_mime_name() [-Wdeprecated-declarations]
15 | { "CURLFORM_COPYNAME", 17, CURLFORM_COPYNAME },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2495:3: note: declared here
2495 | CURLFORM_COPYNAME CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"),
| ^~~~~~~~~~~~~~~~~
./const-form-xs.inc:17:25: warning: 'CURLFORM_FILE' is deprecated: since 7.56.0. Use curl_mime_filedata() [-Wdeprecated-declarations]
17 | { "CURLFORM_FILE", 13, CURLFORM_FILE },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2504:3: note: declared here
2504 | CURLFORM_FILE CURL_DEPRECATED(7.56.0, "Use curl_mime_filedata()"),
| ^~~~~~~~~~~~~
./const-form-xs.inc:18:25: warning: 'CURLFORM_FILECONTENT' is deprecated: since 7.56.0. Use curl_mime_data_cb() [-Wdeprecated-declarations]
18 | { "CURLFORM_FILECONTENT", 20, CURLFORM_FILECONTENT },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2501:3: note: declared here
2501 | CURLFORM_FILECONTENT CURL_DEPRECATED(7.56.0, "Use curl_mime_data_cb()"),
| ^~~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:19:25: warning: 'CURLFORM_FILENAME' is deprecated: since 7.56.0. Use curl_mime_filename() [-Wdeprecated-declarations]
19 | { "CURLFORM_FILENAME", 17, CURLFORM_FILENAME },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2512:3: note: declared here
2512 | CURLFORM_FILENAME CURL_DEPRECATED(7.56.0, "Use curl_mime_filename()"),
| ^~~~~~~~~~~~~~~~~
./const-form-xs.inc:20:25: warning: 'CURLFORM_NAMELENGTH' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
20 | { "CURLFORM_NAMELENGTH", 19, CURLFORM_NAMELENGTH },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2497:3: note: declared here
2497 | CURLFORM_NAMELENGTH CURL_DEPRECATED(7.56.0, ""),
| ^~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:21:25: warning: 'CURLFORM_NOTHING' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
21 | { "CURLFORM_NOTHING", 16, CURLFORM_NOTHING },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2494:3: note: declared here
2494 | CURLFORM_NOTHING CURL_DEPRECATED(7.56.0, ""),
| ^~~~~~~~~~~~~~~~
./const-form-xs.inc:22:25: warning: 'CURLFORM_PTRCONTENTS' is deprecated: since 7.56.0. Use curl_mime_data() [-Wdeprecated-declarations]
22 | { "CURLFORM_PTRCONTENTS", 20, CURLFORM_PTRCONTENTS },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2499:3: note: declared here
2499 | CURLFORM_PTRCONTENTS CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
| ^~~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:23:25: warning: 'CURLFORM_PTRNAME' is deprecated: since 7.56.0. Use curl_mime_name() [-Wdeprecated-declarations]
23 | { "CURLFORM_PTRNAME", 16, CURLFORM_PTRNAME },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2496:3: note: declared here
2496 | CURLFORM_PTRNAME CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"),
| ^~~~~~~~~~~~~~~~
./const-form-xs.inc:24:25: warning: 'CURLFORM_STREAM' is deprecated: since 7.56.0. Use curl_mime_data_cb() [-Wdeprecated-declarations]
24 | { "CURLFORM_STREAM", 15, CURLFORM_STREAM },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2516:3: note: declared here
2516 | CURLFORM_STREAM CURL_DEPRECATED(7.56.0, "Use curl_mime_data_cb()"),
| ^~~~~~~~~~~~~~~
./const-form-xs.inc:25:25: warning: 'CURL_FORMADD_DISABLED' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
25 | { "CURL_FORMADD_DISABLED", 21, CURL_FORMADD_DISABLED },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2555:3: note: declared here
2555 | CURL_FORMADD_DISABLED CURL_DEPRECATED(7.56.0, ""),
| ^~~~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:26:25: warning: 'CURL_FORMADD_ILLEGAL_ARRAY' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
26 | { "CURL_FORMADD_ILLEGAL_ARRAY", 26, CURL_FORMADD_ILLEGAL_ARRAY },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2553:3: note: declared here
2553 | CURL_FORMADD_ILLEGAL_ARRAY CURL_DEPRECATED(7.56.0, ""),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:27:25: warning: 'CURL_FORMADD_INCOMPLETE' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
27 | { "CURL_FORMADD_INCOMPLETE", 23, CURL_FORMADD_INCOMPLETE },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2552:3: note: declared here
2552 | CURL_FORMADD_INCOMPLETE CURL_DEPRECATED(7.56.0, ""),
| ^~~~~~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:28:25: warning: 'CURL_FORMADD_MEMORY' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
28 | { "CURL_FORMADD_MEMORY", 19, CURL_FORMADD_MEMORY },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2548:3: note: declared here
2548 | CURL_FORMADD_MEMORY CURL_DEPRECATED(7.56.0, ""),
| ^~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:29:25: warning: 'CURL_FORMADD_NULL' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
29 | { "CURL_FORMADD_NULL", 17, CURL_FORMADD_NULL },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2550:3: note: declared here
2550 | CURL_FORMADD_NULL CURL_DEPRECATED(7.56.0, ""),
| ^~~~~~~~~~~~~~~~~
./const-form-xs.inc:30:25: warning: 'CURL_FORMADD_OK' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
30 | { "CURL_FORMADD_OK", 15, CURL_FORMADD_OK },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2546:3: note: declared here
2546 | CURL_FORMADD_OK CURL_DEPRECATED(7.56.0, ""), /* 1st, no error */
| ^~~~~~~~~~~~~~~
./const-form-xs.inc:31:25: warning: 'CURL_FORMADD_OPTION_TWICE' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
31 | { "CURL_FORMADD_OPTION_TWICE", 25, CURL_FORMADD_OPTION_TWICE },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2549:3: note: declared here
2549 | CURL_FORMADD_OPTION_TWICE CURL_DEPRECATED(7.56.0, ""),
| ^~~~~~~~~~~~~~~~~~~~~~~~~
./const-form-xs.inc:32:25: warning: 'CURL_FORMADD_UNKNOWN_OPTION' is deprecated: since 7.56.0. [-Wdeprecated-declarations]
32 | { "CURL_FORMADD_UNKNOWN_OPTION", 27, CURL_FORMADD_UNKNOWN_OPTION },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2551:3: note: declared here
2551 | CURL_FORMADD_UNKNOWN_OPTION CURL_DEPRECATED(7.56.0, ""),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./const-easy-xs.inc:209:25: warning: 'CURLINFO_CONTENT_LENGTH_DOWNLOAD' is deprecated: since 7.55.0. Use CURLINFO_CONTENT_LENGTH_DOWNLOAD_T [-Wdeprecated-declarations]
209 | { "CURLINFO_CONTENT_LENGTH_DOWNLOAD", 32, CURLINFO_CONTENT_LENGTH_DOWNLOAD },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2853:3: note: declared here
2853 | CURLINFO_CONTENT_LENGTH_DOWNLOAD
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./const-easy-xs.inc:211:25: warning: 'CURLINFO_CONTENT_LENGTH_UPLOAD' is deprecated: since 7.55.0. Use CURLINFO_CONTENT_LENGTH_UPLOAD_T [-Wdeprecated-declarations]
211 | { "CURLINFO_CONTENT_LENGTH_UPLOAD", 30, CURLINFO_CONTENT_LENGTH_UPLOAD },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2858:3: note: declared here
2858 | CURLINFO_CONTENT_LENGTH_UPLOAD
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./const-easy-xs.inc:232:25: warning: 'CURLINFO_LASTSOCKET' is deprecated: since 7.45.0. Use CURLINFO_ACTIVESOCKET [-Wdeprecated-declarations]
232 | { "CURLINFO_LASTSOCKET", 19, CURLINFO_LASTSOCKET },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2875:3: note: declared here
2875 | CURLINFO_LASTSOCKET CURL_DEPRECATED(7.45.0, "Use CURLINFO_ACTIVESOCKET")
| ^~~~~~~~~~~~~~~~~~~
./const-easy-xs.inc:248:25: warning: 'CURLINFO_PROTOCOL' is deprecated: since 7.85.0. Use CURLINFO_SCHEME [-Wdeprecated-declarations]
248 | { "CURLINFO_PROTOCOL", 17, CURLINFO_PROTOCOL },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2896:3: note: declared here
2896 | CURLINFO_PROTOCOL CURL_DEPRECATED(7.85.0, "Use CURLINFO_SCHEME")
| ^~~~~~~~~~~~~~~~~
./const-easy-xs.inc:266:25: warning: 'CURLINFO_SIZE_DOWNLOAD' is deprecated: since 7.55.0. Use CURLINFO_SIZE_DOWNLOAD_T [-Wdeprecated-declarations]
266 | { "CURLINFO_SIZE_DOWNLOAD", 22, CURLINFO_SIZE_DOWNLOAD },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2836:3: note: declared here
2836 | CURLINFO_SIZE_DOWNLOAD
| ^~~~~~~~~~~~~~~~~~~~~~
./const-easy-xs.inc:268:25: warning: 'CURLINFO_SIZE_UPLOAD' is deprecated: since 7.55.0. Use CURLINFO_SIZE_UPLOAD_T [-Wdeprecated-declarations]
268 | { "CURLINFO_SIZE_UPLOAD", 20, CURLINFO_SIZE_UPLOAD },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2833:3: note: declared here
2833 | CURLINFO_SIZE_UPLOAD CURL_DEPRECATED(7.55.0, "Use CURLINFO_SIZE_UPLOAD_T")
| ^~~~~~~~~~~~~~~~~~~~
./const-easy-xs.inc:272:25: warning: 'CURLINFO_SPEED_DOWNLOAD' is deprecated: since 7.55.0. Use CURLINFO_SPEED_DOWNLOAD_T [-Wdeprecated-declarations]
272 | { "CURLINFO_SPEED_DOWNLOAD", 23, CURLINFO_SPEED_DOWNLOAD },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2840:3: note: declared here
2840 | CURLINFO_SPEED_DOWNLOAD
| ^~~~~~~~~~~~~~~~~~~~~~~
./const-easy-xs.inc:274:25: warning: 'CURLINFO_SPEED_UPLOAD' is deprecated: since 7.55.0. Use CURLINFO_SPEED_UPLOAD_T [-Wdeprecated-declarations]
274 | { "CURLINFO_SPEED_UPLOAD", 21, CURLINFO_SPEED_UPLOAD },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2844:3: note: declared here
2844 | CURLINFO_SPEED_UPLOAD
| ^~~~~~~~~~~~~~~~~~~~~
./const-easy-xs.inc:284:25: warning: 'CURLINFO_TLS_SESSION' is deprecated: since 7.48.0. Use CURLINFO_TLS_SSL_PTR [-Wdeprecated-declarations]
284 | { "CURLINFO_TLS_SESSION", 20, CURLINFO_TLS_SESSION },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:2890:3: note: declared here
2890 | CURLINFO_TLS_SESSION CURL_DEPRECATED(7.48.0, "Use CURLINFO_TLS_SSL_PTR")
| ^~~~~~~~~~~~~~~~~~~~
./const-easy-xs.inc:309:52: error: 'CURLOPTDEPRECATED' undeclared (first use in this function); did you mean 'CURLOPT_PRIVATE'?
309 | { "CURLOPTDEPRECATED", 17, CURLOPTDEPRECATED },
| ^~~~~~~~~~~~~~~~~
| CURLOPT_PRIVATE
./const-easy-xs.inc:309:52: note: each undeclared identifier is reported only once for each function it appears in
./const-easy-xs.inc:344:25: warning: 'CURLOPT_CONV_FROM_NETWORK_FUNCTION' is deprecated: since 7.82.0. Serves no purpose anymore [-Wdeprecated-declarations]
344 | { "CURLOPT_CONV_FROM_NETWORK_FUNCTION", 34, CURLOPT_CONV_FROM_NETWORK_FUNCTION },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1622:21: note: declared here
1622 | CURLOPTDEPRECATED(CURLOPT_CONV_FROM_NETWORK_FUNCTION,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:345:25: warning: 'CURLOPT_CONV_FROM_UTF8_FUNCTION' is deprecated: since 7.82.0. Serves no purpose anymore [-Wdeprecated-declarations]
345 | { "CURLOPT_CONV_FROM_UTF8_FUNCTION", 31, CURLOPT_CONV_FROM_UTF8_FUNCTION },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1635:21: note: declared here
1635 | CURLOPTDEPRECATED(CURLOPT_CONV_FROM_UTF8_FUNCTION,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:346:25: warning: 'CURLOPT_CONV_TO_NETWORK_FUNCTION' is deprecated: since 7.82.0. Serves no purpose anymore [-Wdeprecated-declarations]
346 | { "CURLOPT_CONV_TO_NETWORK_FUNCTION", 32, CURLOPT_CONV_TO_NETWORK_FUNCTION },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1628:21: note: declared here
1628 | CURLOPTDEPRECATED(CURLOPT_CONV_TO_NETWORK_FUNCTION,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:368:25: warning: 'CURLOPT_DNS_USE_GLOBAL_CACHE' is deprecated: since 7.11.1. Use CURLOPT_SHARE [-Wdeprecated-declarations]
368 | { "CURLOPT_DNS_USE_GLOBAL_CACHE", 28, CURLOPT_DNS_USE_GLOBAL_CACHE },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1424:21: note: declared here
1424 | CURLOPTDEPRECATED(CURLOPT_DNS_USE_GLOBAL_CACHE, CURLOPTTYPE_LONG, 91,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:373:25: warning: 'CURLOPT_EGDSOCKET' is deprecated: since 7.84.0. Serves no purpose anymore [-Wdeprecated-declarations]
373 | { "CURLOPT_EGDSOCKET", 17, CURLOPT_EGDSOCKET },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1368:21: note: declared here
1368 | CURLOPTDEPRECATED(CURLOPT_EGDSOCKET, CURLOPTTYPE_STRINGPOINT, 77,
| ^~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:418:25: warning: 'CURLOPT_HTTPPOST' is deprecated: since 7.56.0. Use CURLOPT_MIMEPOST [-Wdeprecated-declarations]
418 | { "CURLOPT_HTTPPOST", 16, CURLOPT_HTTPPOST },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1195:21: note: declared here
1195 | CURLOPTDEPRECATED(CURLOPT_HTTPPOST, CURLOPTTYPE_OBJECTPOINT, 24,
| ^~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:430:25: warning: 'CURLOPT_IOCTLDATA' is deprecated: since 7.18.0. Use CURLOPT_SEEKDATA [-Wdeprecated-declarations]
430 | { "CURLOPT_IOCTLDATA", 17, CURLOPT_IOCTLDATA },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1582:21: note: declared here
1582 | CURLOPTDEPRECATED(CURLOPT_IOCTLDATA, CURLOPTTYPE_CBPOINT, 131,
| ^~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:431:25: warning: 'CURLOPT_IOCTLFUNCTION' is deprecated: since 7.18.0. Use CURLOPT_SEEKFUNCTION [-Wdeprecated-declarations]
431 | { "CURLOPT_IOCTLFUNCTION", 21, CURLOPT_IOCTLFUNCTION },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1580:21: note: declared here
1580 | CURLOPTDEPRECATED(CURLOPT_IOCTLFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 130,
| ^~~~~~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:486:25: warning: 'CURLOPT_PROGRESSFUNCTION' is deprecated: since 7.32.0. Use CURLOPT_XFERINFOFUNCTION [-Wdeprecated-declarations]
486 | { "CURLOPT_PROGRESSFUNCTION", 24, CURLOPT_PROGRESSFUNCTION },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1295:21: note: declared here
1295 | CURLOPTDEPRECATED(CURLOPT_PROGRESSFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 56,
| ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:487:25: warning: 'CURLOPT_PROTOCOLS' is deprecated: since 7.85.0. Use CURLOPT_PROTOCOLS_STR [-Wdeprecated-declarations]
487 | { "CURLOPT_PROTOCOLS", 17, CURLOPT_PROTOCOLS },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1749:21: note: declared here
1749 | CURLOPTDEPRECATED(CURLOPT_PROTOCOLS, CURLOPTTYPE_LONG, 181,
| ^~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:522:25: warning: 'CURLOPT_PUT' is deprecated: since 7.12.1. Use CURLOPT_UPLOAD [-Wdeprecated-declarations]
522 | { "CURLOPT_PUT", 11, CURLOPT_PUT },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1286:21: note: declared here
1286 | CURLOPTDEPRECATED(CURLOPT_PUT, CURLOPTTYPE_LONG, 54,
| ^~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:525:25: warning: 'CURLOPT_RANDOM_FILE' is deprecated: since 7.84.0. Serves no purpose anymore [-Wdeprecated-declarations]
525 | { "CURLOPT_RANDOM_FILE", 19, CURLOPT_RANDOM_FILE },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1364:21: note: declared here
1364 | CURLOPTDEPRECATED(CURLOPT_RANDOM_FILE, CURLOPTTYPE_STRINGPOINT, 76,
| ^~~~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:529:25: warning: 'CURLOPT_REDIR_PROTOCOLS' is deprecated: since 7.85.0. Use CURLOPT_REDIR_PROTOCOLS_STR [-Wdeprecated-declarations]
529 | { "CURLOPT_REDIR_PROTOCOLS", 23, CURLOPT_REDIR_PROTOCOLS },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1755:21: note: declared here
1755 | CURLOPTDEPRECATED(CURLOPT_REDIR_PROTOCOLS, CURLOPTTYPE_LONG, 182,
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:556:25: warning: 'CURLOPT_SOCKS5_GSSAPI_SERVICE' is deprecated: since 7.49.0. Use CURLOPT_PROXY_SERVICE_NAME [-Wdeprecated-declarations]
556 | { "CURLOPT_SOCKS5_GSSAPI_SERVICE", 29, CURLOPT_SOCKS5_GSSAPI_SERVICE },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1738:21: note: declared here
1738 | CURLOPTDEPRECATED(CURLOPT_SOCKS5_GSSAPI_SERVICE,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:584:25: warning: 'CURLOPT_SSL_ENABLE_NPN' is deprecated: since 7.86.0. Has no function [-Wdeprecated-declarations]
584 | { "CURLOPT_SSL_ENABLE_NPN", 22, CURLOPT_SSL_ENABLE_NPN },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1901:21: note: declared here
1901 | CURLOPTDEPRECATED(CURLOPT_SSL_ENABLE_NPN, CURLOPTTYPE_LONG, 225,
| ^~~~~~~~~~~~~~~~~~~~~~
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:1081:40: note: in definition of macro 'CURLOPTDEPRECATED'
1081 | #define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
| ^~
./const-easy-xs.inc:744:25: warning: 'CURLSSLBACKEND_AXTLS' is deprecated: since 7.61.0. [-Wdeprecated-declarations]
744 | { "CURLSSLBACKEND_AXTLS", 20, CURLSSLBACKEND_AXTLS },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:168:3: note: declared here
168 | CURLSSLBACKEND_AXTLS CURL_DEPRECATED(7.61.0, "") = 10,
| ^~~~~~~~~~~~~~~~~~~~
./const-easy-xs.inc:757:25: warning: 'CURLSSLBACKEND_POLARSSL' is deprecated: since 7.69.0. [-Wdeprecated-declarations]
757 | { "CURLSSLBACKEND_POLARSSL", 23, CURLSSLBACKEND_POLARSSL },
| ^
/home/pbulk/build/www/p5-Net-Curl/work/.buildlink/include/curl/curl.h:164:3: note: declared here
164 | CURLSSLBACKEND_POLARSSL CURL_DEPRECATED(7.69.0, "") = 6,
| ^~~~~~~~~~~~~~~~~~~~~~~
./const-easy-xs.inc:825:50: error: 'CURL_DEPRECATED' undeclared (first use in this function)
825 | { "CURL_DEPRECATED", 15, CURL_DEPRECATED },
| ^~~~~~~~~~~~~~~
./const-easy-xs.inc:853:58: error: 'CURL_IGNORE_DEPRECATION' undeclared (first use in this function)
853 | { "CURL_IGNORE_DEPRECATION", 23, CURL_IGNORE_DEPRECATION },
| ^~~~~~~~~~~~~~~~~~~~~~~
*** [Curl.o] Error code 1
Build log from git version, CPAN version has same effect.
~/perl-Net-Curl $ perl Makefile.PL && make && perl -Iblib/lib -Iblib/arch t/00-info.t
Found libcurl version 7.22.0
Use of uninitialized value $curl{"prefix"} in concatenation (.) or string at Makefile.PL line 217.
Reading /usr/include/curl/curl.h (cc -E /usr/include/curl/curl.h)
Reading /usr/include/curl/multi.h (cc -E /usr/include/curl/multi.h)
-> found 647 constants (should be 647)
Writing const-defenums-h.inc
Writing const-curl-xs.inc
Writing const-easy-xs.inc
Writing const-form-xs.inc
Writing const-multi-xs.inc
Writing const-share-xs.inc
Writing curl-Easy-c.inc
Writing curl-Easy-xs.inc
Writing curl-Form-c.inc
Writing curl-Form-xs.inc
Writing curl-Multi-c.inc
Writing curl-Multi-xs.inc
Writing curl-Share-c.inc
Writing curl-Share-xs.inc
Writing lib/Net/Curl/examples.pod
<- examples/01-curl-transport.pl
<- examples/02-multi-simple.pl
<- examples/03-multi-event.pl
<- examples/04-share-threads.pl
<- examples/05-irssi-downloader.pl
Writing lib/Net/Curl/Compat.pm
Writing Makefile for Net::Curl
Wide character in print at /home/n4kz/perl5/lib/perl5/ExtUtils/MakeMaker.pm line 1027.
Wide character in print at /home/n4kz/perl5/lib/perl5/ExtUtils/MakeMaker.pm line 1027.
Wide character in print at /home/n4kz/perl5/lib/perl5/ExtUtils/MakeMaker.pm line 1027.
Wide character in print at /home/n4kz/perl5/lib/perl5/ExtUtils/MakeMaker.pm line 1027.
Writing MYMETA.yml and MYMETA.json
Skip blib/lib/Net/Curl/Compat.pm (unchanged)
Skip blib/lib/Net/Curl.pm (unchanged)
Skip blib/lib/Net/Curl/Share.pm (unchanged)
Skip blib/lib/Net/Curl/Form.pm (unchanged)
Skip blib/lib/Net/Curl/examples.pod (unchanged)
Skip blib/lib/Net/Curl/Multi.pm (unchanged)
Skip blib/lib/Net/Curl/Easy.pm (unchanged)
cc -c -Wall -O2 -g -DVERSION=\"0.29\" -DXS_VERSION=\"0.29\" -fPIC "-I/usr/lib/perl/5.14/CORE" Curl.c
Curl.xs: In function ‘perl_curl_constant_add’:
Curl.xs:387:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
Curl.xs:388:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
Curl.xs:390:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
In file included from Curl.xs:429:0:
In function ‘perl_curl_easy_setopt_object’,
inlined from ‘XS_Net__Curl__Easy_setopt’ at ./curl-Easy-xs.inc:379:32:
Curl_Easy_setopt.c:289:10: warning: call to ‘_curl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument for this option [enabled by default]
Curl_Easy_setopt.c:289:10: warning: call to ‘_curl_easy_setopt_err_conv_cb’ declared with attribute warning: curl_easy_setopt expects a curl_conv_callback argument for this option [enabled by default]
Curl_Easy_setopt.c:295:5: warning: call to ‘_curl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument for this option [enabled by default]
Curl_Easy_setopt.c:306:11: warning: call to ‘_curl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument for this option [enabled by default]
Curl_Easy_setopt.c:306:11: warning: call to ‘_curl_easy_setopt_err_conv_cb’ declared with attribute warning: curl_easy_setopt expects a curl_conv_callback argument for this option [enabled by default]
Curl_Easy_setopt.c:313:5: warning: call to ‘_curl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument for this option [enabled by default]
Curl_Easy_setopt.c:325:11: warning: call to ‘_curl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument for this option [enabled by default]
Running Mkbootstrap for Net::Curl ()
chmod 644 Curl.bs
rm -f blib/arch/auto/Net/Curl/Curl.so
LD_RUN_PATH="/usr/lib/i386-linux-gnu" cc -shared -O2 -g -L/usr/local/lib -fstack-protector Curl.o -o blib/arch/auto/Net/Curl/Curl.so \
-lcurl \
chmod 755 blib/arch/auto/Net/Curl/Curl.so
cp Curl.bs blib/arch/auto/Net/Curl/Curl.bs
chmod 644 blib/arch/auto/Net/Curl/Curl.bs
Manifying blib/man3/Net::Curl::Compat.3pm
Manifying blib/man3/Net::Curl.3pm
Manifying blib/man3/Net::Curl::Form.3pm
Manifying blib/man3/Net::Curl::Share.3pm
Manifying blib/man3/Net::Curl::Multi.3pm
Manifying blib/man3/Net::Curl::examples.3pm
Manifying blib/man3/Net::Curl::Easy.3pm
1..4
Segmentation fault (core dumped)
The links in the POD go to, e.g., http://man.he.net/man3/curl_multi_init, but these don’t work anymore.
What appears to be the authoritative libcurl reference is at, e.g.:
https://curl.haxx.se/libcurl/c/curl_multi_init.html
$ http_proxy= https_proxy= no_proxy= perl -Mblib t/compat-10errbuf.t
1..11
ok 1 - Curl session initialize returns something
ok 2 - Curl session looks like an object from the WWW::Curl::Easy module
ok 3 - Setting CURLOPT_NOPROGRESS
ok 4 - Setting CURLOPT_FOLLOWLOCATION
ok 5 - Setting CURLOPT_TIMEOUT
ok 6 - Setting CURLOPT_WRITEHEADER
ok 7 - Setting CURLOPT_FILE
ok 8 - Setting CURLOPT_URL
ok 9 - Setting CURLOPT_STDERR
ok 10 - Setting CURLOPT_URL succeeds, even with a bad protocol
ok 11 - Non-zero return code indicates the expected failure
$ perl -Mblib t/compat-10errbuf.t
1..11
ok 1 - Curl session initialize returns something
ok 2 - Curl session looks like an object from the WWW::Curl::Easy module
ok 3 - Setting CURLOPT_NOPROGRESS
ok 4 - Setting CURLOPT_FOLLOWLOCATION
ok 5 - Setting CURLOPT_TIMEOUT
ok 6 - Setting CURLOPT_WRITEHEADER
ok 7 - Setting CURLOPT_FILE
ok 8 - Setting CURLOPT_URL
ok 9 - Setting CURLOPT_STDERR
ok 10 - Setting CURLOPT_URL succeeds, even with a bad protocol
not ok 11 - Non-zero return code indicates the expected failure
# Failed test 'Non-zero return code indicates the expected failure'
# at t/compat-10errbuf.t line 50.
# Looks like you failed 1 test of 11.
$ perl -Mblib t/00-info.t
1..4
# libcurl
# version():
# libcurl/7.64.1 (SecureTransport) LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.39.2
# version_info():
# {age} = 4;
# {ares_num} = 0;
# {features} =
# | CURL_VERSION_IPV6 (1<<0)
# | CURL_VERSION_SSL (1<<2)
# | CURL_VERSION_LIBZ (1<<3)
# | CURL_VERSION_NTLM (1<<4)
# | CURL_VERSION_ASYNCHDNS (1<<7)
# | CURL_VERSION_SPNEGO (1<<8)
# | CURL_VERSION_LARGEFILE (1<<9)
# | CURL_VERSION_NTLM_WB (1<<15)
# | CURL_VERSION_HTTP2 (1<<16)
# | CURL_VERSION_GSSAPI (1<<17)
# | CURL_VERSION_KERBEROS5 (1<<18)
# | CURL_VERSION_UNIX_SOCKETS (1<<19)
# | CURL_VERSION_HTTPS_PROXY (1<<21)
# | CURL_VERSION_MULTI_SSL (1<<22);
# missing features =
# | CURL_VERSION_KERBEROS4 (1<<1)
# | CURL_VERSION_GSSNEGOTIATE (1<<5)
# | CURL_VERSION_DEBUG (1<<6)
# | CURL_VERSION_IDN (1<<10)
# | CURL_VERSION_SSPI (1<<11)
# | CURL_VERSION_CONV (1<<12)
# | CURL_VERSION_CURLDEBUG (1<<13)
# | CURL_VERSION_TLSAUTH_SRP (1<<14)
# | CURL_VERSION_PSL (1<<20)
# | CURL_VERSION_BROTLI (1<<23)
# | CURL_VERSION_ALTSVC (1<<24);
# {host} = 'x86_64-apple-darwin19.0';
# {iconv_ver_num} = 0;
# {libz_version} = '1.2.11';
# {protocols} = dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, smb, smbs, smtp, smtps, telnet, tftp;
# {ssl_version} = '(SecureTransport) LibreSSL/2.8.3';
# {ssl_version_num} = 0;
# {version} = '7.64.1';
# {version_num} = 0x074001;
# build version:
# LIBCURL_COPYRIGHT = '1996 - 2019 Daniel Stenberg, <[email protected]>.'
# LIBCURL_VERSION = '7.64.1'
# LIBCURL_VERSION_NUM = 0x074001
# LIBCURL_VERSION_MAJOR = 7
# LIBCURL_VERSION_MINOR = 64
# LIBCURL_VERSION_PATCH = 1
# LIBCURL_TIMESTAMP = '2019-03-27'
ok 1 - {age} >= Net::Curl::CURLVERSION_THIRD
ok 2 - {age} == Net::Curl::CURLVERSION_NOW
ok 3 - {version} eq Net::Curl::LIBCURL_VERSION
ok 4 - {version_num} == Net::Curl::LIBCURL_VERSION_NUM
Curl 8.2.0 was just released the morning of July 19: https://curl.se/changes.html#8_2_0
When I tried to build this perl module against it, the test suite of Net::Curl::Easy failed on the old/10errbuf.t test with this error:
# Failed test 'Reading redirected STDERR'
# at t/old-10errbuf.t line 45.
# '* processing: badprotocol://127.0.0.1:2
# '
# doesn't match '(?^ix:^\*\s+(?:
# Protocol \s "? badprotocol "? \s not \s supported \s or \s disabled \s in \s libcurl |
# Unsupported \s protocol: \s badprotocol |
# Rebuilt \s URL \s to: \s badprotocol://.+ |
# Closing \s connection \s -1 |
# Could \s not \s resolve \s host: \s badprotocol |
# Could \s not \s resolve: \s badprotocol \(Domain \s name \s not \s found\) |
# Expire \s in \s 0 \s ms \s for \s 6 \s \(transfer \s 0x[0-9a-f]+\) |
# Uses \s proxy \s env \s variable \s https?_proxy \s == \s '[^']+'
# )$)'
# Looks like you failed 1 test of 13.
t/old-10errbuf.t ...........................
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/13 subtests
This is because curl is now reporting the following on stderr for the error, with new line characters at the end of every line:
* processing: badprotocol://127.0.0.1:2
* Protocol "badprotocol" not supported or disabled in libcurl
Prior to version 8.2.0, curl was only reporting this on stderr:
* Protocol "badprotocol" not supported or disabled in libcurl
The following patch to the test allowed the build of the module with tests to pass using curl 8.2.0:
--- a/t/old-10errbuf.t
+++ b/t/old-10errbuf.t
@@ -42,6 +42,11 @@
seek $new_error, 0, 0;
my $line = <$new_error>;
+chomp $line;
+if ($line eq "* processing: badprotocol://127.0.0.1:2") {
+ $line = <$new_error>;
+ chomp $line;
+}
like( $line, qr/^\*\s+(?:
Protocol \s "? badprotocol "? \s not \s supported \s or \s disabled \s in \s libcurl |
Unsupported \s protocol: \s badprotocol |
On my freebsd 13 smoker t/cleanup.t fails:
# Failed test 'exception did not cause segfault'
# at t/cleanup.t line 14.
# got: '10'
# expected: '10752'
# Looks like you failed 1 test of 1.
t/cleanup.t ................................
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests
A full fail report:
http://www.cpantesters.org/cpan/report/1bfbc8a6-3daf-11ea-a4ca-ea331f24ea8f
There are no problems on my other freebsd systems (12, 11, 10, 9).
In rare situations t/old-10errbuf.t may fail like this:
# Failed test 'Non-zero return code indicates the expected failure'
# at t/old-10errbuf.t line 41.
# Failed test 'Reading redirected STDERR'
# at t/old-10errbuf.t line 50.
# '* Trying 12.34.56.78...'
# doesn't match '(?^ix:^\*\s+(?:
# Protocol \s "? badprotocol "? \s not \s supported \s or \s disabled \s in \s libcurl |
# Unsupported \s protocol: \s badprotocol |
# Rebuilt \s URL \s to: \s badprotocol://.+ |
# Closing \s connection \s -1 |
# Could \s not \s resolve \s host: \s badprotocol |
# Could \s not \s resolve: \s badprotocol \(Domain \s name \s not \s found\) |
# Expire \s in \s 0 \s ms \s for \s 6 \s \(transfer \s 0x[0-9a-f]+\) |
# Uses \s proxy \s env \s variable \s https?_proxy \s == \s '[^']+'
# )$)'
# Looks like you failed 2 tests of 13.
t/old-10errbuf.t ...........................
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/13 subtests
It seems that curl versions exist which interpret "badprotocol" as host name (for example 7.64.0, which can be found in debian:buster). This can be reproduced like this:
$ docker run -it debian:buster sh -c 'apt update -q && apt install curl -qy && curl badprotocol://127.0.0.1:2'
...
curl: (6) Could not resolve host: badprotocol
If the local DNS is able to resolve "badprotocol", either because such a host really exist, or because wildcard DNS records are active, and there's a webserver listening on such a host, then the curl call is successful and the test fails.
This explains at least three fail reports from my smokers (for example http://www.cpantesters.org/cpan/report/eac3cc1e-a670-11ee-a77b-9a3d6e8775ea )
Hello! I signed up for the 2015 CPAN pull request challenge and my first assignment is your project. I was wondering if you had any ideas for things for me to work on, otherwise I'll start poking at TODO items.
I have tried to compile Net-Curl against libcurl 7.69.0 (this is a very new release) but it has failed. Im using Net-Curl the latest 0.43 on Debian 7 amd64.
Here the results:
$ env PATH=${iprefix}/bin:$PATH ${iprefix}/perl/bin/perl Makefile.PL
pkgconfig failed:
Can't locate ExtUtils/PkgConfig.pm in @INC (you may need to install the ExtUtils::PkgConfig module) (@INC contains: /opt/kronometrix/perl/lib/site_perl/5.30.1/x86_64-linux /opt/kronometrix/perl/lib/site_perl/5.30.1 /opt/kronometrix/perl/lib/5.30.1/x86_64-linux /opt/kronometrix/perl/lib/5.30.1) at Makefile.PL line 39.
Using curl-config script.
Found libcurl version 7.69.0
Reading /opt/kronometrix/include/curl/curl.h (cc -E -I/opt/kronometrix/include /opt/kronometrix/include/curl/curl.h)
Skipping '#define CURLINC_CURL_H': does not define a symbol at Makefile.PL line 319, <H> line 2.
Skipping '#define CURL_STRICTER': does not define a symbol at Makefile.PL line 319, <H> line 34.
Skipping '#define CURL_WIN32': does not define a symbol at Makefile.PL line 319, <H> line 46.
Skipping '# define CURL_EXTERN': does not define a symbol at Makefile.PL line 319, <H> line 116.
Skipping '# define CURL_EXTERN': does not define a symbol at Makefile.PL line 319, <H> line 128.
Skipping '#define CURL_DID_MEMORY_FUNC_TYPEDEFS': does not define a symbol at Makefile.PL line 319, <H> line 452.
Reading /opt/kronometrix/include/curl/multi.h (cc -E -I/opt/kronometrix/include /opt/kronometrix/include/curl/multi.h)
Skipping '#define CURLINC_MULTI_H': does not define a symbol at Makefile.PL line 319, <H> line 2.
CURLOPT_MAIL_RCPT_ALLLOWFAILS unexpected
-> found 909 constants (should be 908)
Writing const-defenums-h.inc
Writing const-curl-xs.inc
Writing const-easy-xs.inc
Writing const-form-xs.inc
Writing const-multi-xs.inc
Writing const-share-xs.inc
Writing curl-Easy-c.inc
Writing curl-Easy-xs.inc
Writing curl-Form-c.inc
Writing curl-Form-xs.inc
Writing curl-Multi-c.inc
Writing curl-Multi-xs.inc
Writing curl-Share-c.inc
Writing curl-Share-xs.inc
Writing lib/Net/Curl/examples.pod
<- examples/01-curl-transport.pl
<- examples/02-multi-simple.pl
<- examples/03-multi-event.pl
<- examples/04-share-threads.pl
<- examples/05-irssi-downloader.pl
Writing lib/Net/Curl/Compat.pm
Generating a Unix-style Makefile
Writing Makefile for Net::Curl
Writing MYMETA.yml and MYMETA.json
and trying to make:
$ make
cp lib/Net/Curl/Form.pm blib/lib/Net/Curl/Form.pm
cp lib/Net/Curl/Multi.pm blib/lib/Net/Curl/Multi.pm
cp lib/Net/Curl/Easy.pm blib/lib/Net/Curl/Easy.pm
cp lib/Net/Curl/Compat.pm blib/lib/Net/Curl/Compat.pm
cp lib/Net/Curl.pm blib/lib/Net/Curl.pm
cp lib/Net/Curl/Share.pm blib/lib/Net/Curl/Share.pm
cp lib/Net/Curl/examples.pod blib/lib/Net/Curl/examples.pod
Running Mkbootstrap for Curl ()
chmod 644 "Curl.bs"
"/opt/kronometrix/perl/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Curl.bs blib/arch/auto/Net/Curl/Curl.bs 644
"/opt/kronometrix/perl/bin/perl" "/opt/kronometrix/perl/lib/5.30.1/ExtUtils/xsubpp" -typemap '/opt/kronometrix/perl/lib/5.30.1/ExtUtils/typemap' -typemap '/home/krmx/workspace/kronometrix/recording/lib/Net-Curl/Net-Curl-0.43/typemap' Curl.xs > Curl.xsc
mv Curl.xsc Curl.c
cc -c -Wall -Wno-unknown-pragmas -I/opt/kronometrix/include -O3 -DVERSION=\"0.43\" -DXS_VERSION=\"0.43\" -fPIC "-I/opt/kronometrix/perl/lib/5.30.1/x86_64-linux/CORE" Curl.c
./const-easy-xs.inc: In function ‘boot_Net__Curl’:
./const-easy-xs.inc:288:20: error: ‘CURLOPT’ undeclared (first use in this function)
./const-easy-xs.inc:288:20: note: each undeclared identifier is reported only once for each function it appears in
make: *** [Curl.o] Error 1
krmx@debian7:~/workspace/kronometrix/recording/lib/Net-Curl/Net-Curl-0.43$
Can you please have a look on Net-Curl-0.43 and check if it does build correct against the latest libcurl release ?
See subject. A sample fail report: http://www.cpantesters.org/cpan/report/6cb8dd74-62d5-11ea-a721-b27f1f24ea8f (more will follow). It seems that the test passes if ExtUtils::PkgConfig is not used and the curl-config fallback is used instead.
cpanm Net::Curl::Easy
fails with:
cc -c -Wall -O2 -DVERSION=\"0.37\" -DXS_VERSION=\"0.37\" -fPIC "-I/home/ferki/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/x86_64-linux/CORE" Curl.c
Curl.xs: In function ‘perl_curl_constant_add’:
Curl.xs:387:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
#pragma clang diagnostic push
^
Curl.xs:388:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
#pragma clang diagnostic ignored "-Wunused-value"
^
Curl.xs:390:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
#pragma clang diagnostic pop
^
In file included from Curl.xs:23:0:
./const-easy-xs.inc: In function ‘boot_Net__Curl’:
const-defenums-h.inc:2195:24: error: ‘CURL_STRICTER’ undeclared (first use in this function)
# define CURL_STRICTER CURL_STRICTER
^
./const-easy-xs.inc:654:27: note: in expansion of macro ‘CURL_STRICTER’
{ "CURL_STRICTER", 13, CURL_STRICTER },
^
const-defenums-h.inc:2195:24: note: each undeclared identifier is reported only once for each function it appears in
# define CURL_STRICTER CURL_STRICTER
^
./const-easy-xs.inc:654:27: note: in expansion of macro ‘CURL_STRICTER’
{ "CURL_STRICTER", 13, CURL_STRICTER },
^
Makefile:360: recipe for target 'Curl.o' failed
make: *** [Curl.o] Error 1
I have curl-7.50.3 installed and CURL_STRICTER
seems to have been removed added in 7.50.2.
ExtUtils::PkgConfig is used at configuration time, not run time.
So it should be moved from "runtime" dependency to "configure" dependency.
And considering that curl-config works just fine, this is not a strict dependency, so it should be in "suggests" or "recommends".
On some of my freebsd smokers the test suite fails:
# Failed test 'CURLALTSVC_ALTUSED constant can be retrieved'
# at t/01-constants.t line 51.
# got: 'Undefined subroutine &main::CURLALTSVC_ALTUSED called at (eval 931) line 1.
# '
# expected: ''
# Failed test 'CURLALTSVC_ALTUSED is defined'
# at t/01-constants.t line 52.
# Failed test 'CURLALTSVC_ALTUSED value is an integer'
# at t/01-constants.t line 53.
# undef
# doesn't match '(?^:^-?\d+$)'
# Looks like you failed 3 tests of 2701.
t/01-constants.t ...........................
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/2701 subtests
# LIBCURL_VERSION: 475648
...
# Failed test 'CURLALTSVC_ALTUSED is defined alright - Invalid argument'
# at t/compat-00constants.t line 63.
# Looks like you failed 1 test of 893.
t/compat-00constants.t .....................
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/893 subtests
This seem to happen with libcurl 7.66.0. Statistical analysis:
****************************************************************
Regression 'qr:LIBCURL_VERSION = '(.*)''
****************************************************************
Name Theta StdErr T-stat
[0='const'] 1.0000 0.0000 55596771609333392.00
[1='eq_7.26.0'] 0.0000 0.0000 2.77
[2='eq_7.29.0'] 0.0000 0.0000 5.49
[3='eq_7.38.0'] 0.0000 0.0000 4.01
[4='eq_7.42.1'] 0.0000 0.0000 4.23
[5='eq_7.47.0'] 0.0000 0.0000 3.80
[6='eq_7.52.1'] 0.0000 0.0000 5.24
[7='eq_7.54.0'] 0.0000 0.0000 0.80
[8='eq_7.58.0'] 0.0000 0.0000 2.99
[9='eq_7.59.0'] 0.0000 0.0000 2.90
[10='eq_7.64.0'] 0.0000 0.0000 6.24
[11='eq_7.65.1'] 0.0000 0.0000 4.36
[12='eq_7.66.0'] -1.0000 0.0000 -34778184766755496.00
R^2= 1.000, N= 130, K= 13
****************************************************************
This is perl 5, version 28, subversion 0 (v5.28.0) built for x86_64-linux-thread-multi-ld
config_args='-Duseshrplib -Duse64bitall -Dusethreads -Duseithreads -Duselongdouble -des'
important addition: this only fails on perls with debugging enabled (-DDEBUGGING)
t/60-multi-wait.t .......................... 1/? panic: XSUB Net::Curl::Multi::info_read (Curl.c) failed to extend arg stack: base=1b23a40, sp=1b23a58, hwm=1b23a50
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 3.
t/60-multi-wait.t .......................... Dubious, test returned 255 (wstat 65280, 0xff00)
t/compat-19multi.t ......................... 1/20
# Failed test 'fdset returns 3 references'
# at t/compat-19multi.t line 61.
Can't use an undefined value as an ARRAY reference at t/compat-19multi.t line 62.
# Looks like your test exited with 25 just after 7.
t/compat-19multi.t ......................... Dubious, test returned 25 (wstat 6400, 0x1900)
Failed 14/20 subtests
t/old-19multi.t ............................ 1/22 panic: XSUB Net::Curl::Multi::fdset (Curl.c) failed to extend arg stack: base=1241a40, sp=1241a58, hwm=1241a50
# Looks like your test exited with 25 just after 6.
t/old-19multi.t ............................ Dubious, test returned 25 (wstat 6400, 0x1900)
Failed 16/22 subtests
t/old-23socket-action.t .................... 1/14 panic: XSUB Net::Curl::Multi::info_read (Curl.c) failed to extend arg stack: base=1f4fa40, sp=1f4fa58, hwm=1f4fa50
# Looks like your test exited with 255 just after 1.
t/old-23socket-action.t .................... Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 13/14 subtests
t/old-24-multi-refcount.t .................. 1/5 panic: XSUB Net::Curl::Multi::fdset (Curl.c) failed to extend arg stack: base=2267a40, sp=2267a58, hwm=2267a50
# Looks like your test exited with 29 just after 2.
t/old-24-multi-refcount.t .................. Dubious, test returned 29 (wstat 7424, 0x1d00)
Failed 3/5 subtests
I am unable to install Net::Curl::Easy on MacOS Monterey 12.4
I'm using brew:
$ which perl
/usr/local/bin/perl
This is perl 5, version 34, subversion 0 (v5.34.0) built for darwin-thread-multi-2level
------------[snip]-------->8---
/usr/local/Cellar/perl/5.34.0/lib/perl5/5.34.0/darwin-thread-multi-2level/CORE/perl.h:738:21: note: expanded from macro 'STMT_END'
# define STMT_END )
^
./const-easy-xs.inc:824:35: error: use of undeclared identifier 'CURL_PREREQFUNC_ABORT'
{ "CURL_PREREQFUNC_ABORT", 21, CURL_PREREQFUNC_ABORT },
^
./const-defenums-h.inc:2735:32: note: expanded from macro 'CURL_PREREQFUNC_ABORT'
# define CURL_PREREQFUNC_ABORT CURL_PREREQFUNC_ABORT
^
./const-easy-xs.inc:825:32: error: use of undeclared identifier 'CURL_PREREQFUNC_OK'
{ "CURL_PREREQFUNC_OK", 18, CURL_PREREQFUNC_OK },
^
./const-defenums-h.inc:2738:29: note: expanded from macro 'CURL_PREREQFUNC_OK'
# define CURL_PREREQFUNC_OK CURL_PREREQFUNC_OK
^
478 warnings and 2 errors generated.
make: *** [Curl.o] Error 1
SYP/Net-Curl-0.51.tar.gz
/usr/bin/make -- NOT OK
Failed during this command:
SYP/Net-Curl-0.51.tar.gz : make NO
cpan[2]>
This has been working, but after upgrading to Monterey I can't install (other CPAN models seem ok)
Please let me know if you need the full log.
Kind regards,
Paul
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.