Hi,
On ubuntu and freebsd, when building perl from source, the initial compilations all include the -std=c99 switch.
It's not immediately apparent to me where the inclusion of that switch comes from.
Nor could I come up with a Configure option that removes it.
On Windows, I've been removing that switch from my builds ever since it was introduced to them - with no adverse affects, afaik.
In fact, if I don't remove it from Windows, then -std=c99 ends up in ccflags which is probably unintended, and has caused one unwanted issue that I know of.
Anyway ... I'm just curious to see how/if my linux builds are affected by this.
If someone here has a suggestion on how to remove that -std=c99 switch, then please share.
Cheers, Rob
|
Greetings again, monks (and nuns). I am attempting to build Net-Curl-0.58 to a Debian Linux system; there are multiple hanging tests.
I have to ^C to terminate the processes each time we hit one of these. I don't
know whether these failures are happening because of libcurl or because of Perl code
in the module or tests.
The hanging tests all appear to be related, based on their names:
* t/60-multi-wait.t
* t/compat-19multi.t
* t/old-19multi.t
* t/old-24-multi-refcount.t
(and possibly others)
Here is the info dumped by the first test to run, which handily specifies the version of libcurl:
t/00-info.t ................................ # libcurl
# version():
# libcurl/8.21.0-rc3 OpenSSL/3.0.20 zlib/1.2.13 brotli/1.0.9 zst
+d/1.5.4 libpsl/0.21.2
# version_info():
# {age} = 11;
# {ares_num} = 0;
# {features} =
# | CURL_VERSION_IPV6 (1<<0)
# | CURL_VERSION_SSL (1<<2)
# | CURL_VERSION_LIBZ (1<<3)
# | CURL_VERSION_ASYNCHDNS (1<<7)
# | CURL_VERSION_LARGEFILE (1<<9)
# | CURL_VERSION_TLSAUTH_SRP (1<<14)
# | CURL_VERSION_UNIX_SOCKETS (1<<19)
# | CURL_VERSION_PSL (1<<20)
# | CURL_VERSION_HTTPS_PROXY (1<<21)
# | CURL_VERSION_BROTLI (1<<23)
# | CURL_VERSION_ALTSVC (1<<24)
# | CURL_VERSION_ZSTD (1<<26)
# | CURL_VERSION_HSTS (1<<28)
# | CURL_VERSION_THREADSAFE (1<<30);
# missing features =
# | CURL_VERSION_KERBEROS4 (1<<1)
# | CURL_VERSION_NTLM (1<<4)
# | CURL_VERSION_GSSNEGOTIATE (1<<5)
# | CURL_VERSION_DEBUG (1<<6)
# | CURL_VERSION_SPNEGO (1<<8)
# | CURL_VERSION_IDN (1<<10)
# | CURL_VERSION_SSPI (1<<11)
# | CURL_VERSION_CONV (1<<12)
# | CURL_VERSION_CURLDEBUG (1<<13)
# | CURL_VERSION_NTLM_WB (1<<15)
# | CURL_VERSION_HTTP2 (1<<16)
# | CURL_VERSION_GSSAPI (1<<17)
# | CURL_VERSION_KERBEROS5 (1<<18)
# | CURL_VERSION_MULTI_SSL (1<<22)
# | CURL_VERSION_HTTP3 (1<<25)
# | CURL_VERSION_UNICODE (1<<27)
# | CURL_VERSION_GSASL (1<<29);
# {host} = 'i686-pc-linux-gnu';
# {iconv_ver_num} = 0;
# {libz_version} = '1.2.13';
# {protocols} = dict, file, ftp, ftps, gopher, gophers, http, ht
+tps, imap, imaps, mqtt, mqtts, pop3, pop3s, rtsp, smtp, smtps, telnet
+, tftp, ws, wss;
# {ssl_version} = 'OpenSSL/3.0.20';
# {ssl_version_num} = 0;
# {version} = '8.21.0-rc3';
# {version_num} = 0x081500;
# build version:
# LIBCURL_COPYRIGHT = 'Daniel Stenberg, <daniel@haxx.se>.'
# LIBCURL_VERSION = '8.21.0-rc3'
# LIBCURL_VERSION_NUM = 0x081500
# LIBCURL_VERSION_MAJOR = 8
# LIBCURL_VERSION_MINOR = 21
# LIBCURL_VERSION_PATCH = 0
# LIBCURL_TIMESTAMP = '2026-06-17'
t/00-info.t ................................ ok
Those monks with sharp eyes will notice that I am linking to a testing version of
libcurl, 8.21.0-rc3.
This could certainly be the reason for the failed tests / hanging tests. That would
surprise me, however;
I'd think a few tests might fail but not this entire group.
I had to change perl code in the Makefile.PL in order to get this to build. The
author was comparing
v-strings and "8.21.0-rc3" doesn't comprise a valid v-string, as I found out by
doing a little
online research.
I took what the author did, this:
(my $ver_to_cmp = $curl{version}) =~ s/[^\d]*$//;
and changed it to this:
(my $ver_to_cmp = $curl{version}) =~ s/[^.\d]\w+$//;
I know - bad monkey, bad! ;-)
Jun 25, 2026 at 18:14 UTC
A just machine to make big decisions
Programmed by fellows (and gals) with compassion and vision
We'll be clean when their work is done
We'll be eternally free yes, and eternally young
Donald Fagen —> I.G.Y.
(Slightly modified for inclusiveness)
|