Summary: | dev-perl/WWW-Curl-4.170.0 : curlopt-constants.c:128:49: error: ‘CURL_STRICTER’ undeclared (first use in this function) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | Gentoo Perl team <perl> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | axiator, bruce, jaak, kentnl, slyfox |
Priority: | Normal | Keywords: | PATCH |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://rt.cpan.org/Ticket/Display.html?id=117793 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
dev-perl:WWW-Curl-4.170.0:20160909-114229.log
emerge-history.txt environment WWW-Curl-4.150.0-curl-7.50.2.patch |
Description
Toralf Förster
2016-09-09 11:56:28 UTC
Created attachment 445300 [details]
dev-perl:WWW-Curl-4.170.0:20160909-114229.log
Created attachment 445302 [details]
emerge-history.txt
Created attachment 445304 [details]
environment
Confirm on amd64. I am also seeing the same build error with stable dev-perl/WWW-Curl-4.150.0-r1. This appears to be a problem with interop vs latest net-misc/curl You can probably get around this by temporarily downgrading net-misc/curl yeah, downgrading curl helps. sad though. Latest working: net-misc/curl-7.50.2 First non-working: net-misc/curl-7.50.3 (In reply to Sergei Trofimovich from comment #8) > Latest working: net-misc/curl-7.50.2 > First non-working: net-misc/curl-7.50.3 Sorry, that was a lie. Latest working: net-misc/curl-7.50.1 First non-working: net-misc/curl-7.50.2 Created attachment 446190 [details, diff]
WWW-Curl-4.150.0-curl-7.50.2.patch
WWW-Curl-4.150.0-curl-7.50.2.patch fixes the problem for me.
How it (does not work):
curl-7.50.2 introduced a #define without integer value:
#ifdef CURL_NO_OLDIES
#define CURL_STRICTER
#endif
Heuristics in 'Makefile.PL' assumes all defines in form of
#define CURL_<something> <an-expression>
and generates a symbol lookup table in 'curlopt-constants.c'
as:
static int
constant(const char *name)
{
errno = 0;
if (strncmp(name, "CURL_", 5) == 0) {
name += 5;
switch (*name) {
...
case 'S':
if (strEQ(name, "STRICTER")) return CURL_STRICTER;
Which is not valid C:
curlopt-constants.c:128:49: error: ‘CURL_STRICTER’ undeclared (first use in this function)
if (strEQ(name, "STRICTER")) return CURL_STRICTER;
^~~~~~~~~~~~~
(In reply to Sergei Trofimovich from comment #10) > Created attachment 446190 [details, diff] [details, diff] > WWW-Curl-4.150.0-curl-7.50.2.patch > > WWW-Curl-4.150.0-curl-7.50.2.patch fixes the problem for me. I can confirm this fixes compile of dev-perl/WWW-Curl-4.150.0 against net-misc/curl-7.50.3 as well. |