Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.56: build failure against curl-8.11.0 #78

Open
0-wiz-0 opened this issue Nov 9, 2024 · 2 comments
Open

0.56: build failure against curl-8.11.0 #78

0-wiz-0 opened this issue Nov 9, 2024 · 2 comments

Comments

@0-wiz-0
Copy link

0-wiz-0 commented Nov 9, 2024

When compiling the latest release, 0.56, against curl-8.11.0, there are many deprecation warnings, but also some errors that break the build:

In file included from Curl.xs:34:
const-defenums-h.inc:3056:24: error: 'CURL_STRICTER' undeclared (first use in this function)
 3056 | # define CURL_STRICTER CURL_STRICTER
      |                        ^~~~~~~~~~~~~
const-defenums-h.inc:3056:24: note: in definition of macro 'CURL_STRICTER'
 3056 | # define CURL_STRICTER CURL_STRICTER
      |                        ^~~~~~~~~~~~~
const-defenums-h.inc:3056:24: note: each undeclared identifier is reported only once for each function it appears in
 3056 | # define CURL_STRICTER CURL_STRICTER
      |                        ^~~~~~~~~~~~~
const-defenums-h.inc:3056:24: note: in definition of macro 'CURL_STRICTER'
 3056 | # define CURL_STRICTER CURL_STRICTER
      |                        ^~~~~~~~~~~~~
@mauke
Copy link

mauke commented Nov 18, 2024

I think it is because of

#define CURL_STRICTER /* not used since 8.11.0 */

in curl.h. It used to work with

#define CURL_STRICTER

I think Net::Curl's Makefile.PL can't handle the comment.

@0-wiz-0
Copy link
Author

0-wiz-0 commented Nov 19, 2024

Good idea, thanks, @mauke .
With:

--- Makefile.PL.orig    2024-11-19 06:39:18.392593627 +0000
+++ Makefile.PL
@@ -328,7 +328,7 @@ sub get_constants_headers
                while(<H>) {
                        # Skip defines without values like:
                        #       #define CURL_STRICTER
-                       if (m{^#\s*define\s+(CURL\w*)\s*$}) {
+                       if (m{^#\s*define\s+(CURL\w*)\s*(/\*.*\*/)?$}) {
                                chomp;
                                warn "Skipping '$_': does not define a symbol";
                                next;

I get it to compile, there are still lots of deprecation warnings, and then the self tests hang for me after writing

t/compat-19multi.t ......................... 1/20 callback function is not set

freebsd-git pushed a commit to freebsd/freebsd-ports that referenced this issue Dec 12, 2024
* Fails to build with curl 8.11.0 and newer
* Outdated, upstream is at 0.56 released in April 2024 while current
  version in tree was released in 2022
* Set expiration date to 2025-02-28 unless someone provides a patch

Reference:
sparky/perl-Net-Curl#78

Reported by:	pkg-fallout
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants