Bug#941915: FTBFS: expected '{' before 'void' in 'struct void *curlm; '
Damyan Ivanov
dmn at debian.org
Mon Oct 7 15:49:45 BST 2019
Package: libwww-curl-perl
Version: 4.17-5
Severity: serious
Tags: upstream patch ftbfs
Justification: fails to build from source (but built successfully in the past)
As seen on [1], libwww-curl-perl fails to build in current unstable. Currently
this impedes the perl transition to 5.30.
x86_64-linux-gnu-gcc -c -I/usr/include/x86_64-linux-gnu -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"4.17\" -DXS_VERSION=\"4.17\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.30/CORE" Curl.c
Curl.xs:76:12: error: expected ‘{’ before ‘void’
76 | struct void *curlm;
| ^~~~
The reasons seems to be that 'CURL' is defined as 'void' and 'struct CURL' is
no longer a valid type.
The patch below seems to fix the build.
I won't be able to upload a fixed package until tomorrow, so if somebody else
from the group has the time - please go ahead.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/Curl.xs
+++ b/Curl.xs
@@ -47,7 +47,7 @@ typedef enum {
typedef struct {
/* The main curl handle */
- struct CURL *curl;
+ CURL *curl;
I32 *y;
/* Lists that can be set via curl_easy_setopt() */
struct curl_slist *slist[SLIST_LAST];
@@ -73,7 +73,7 @@ typedef struct {
#ifdef __CURL_MULTI_H
struct CURLM *curlm;
#else
- struct void *curlm;
+ void *curlm;
#endif
} perl_curl_multi;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[1] https://buildd.debian.org/status/fetch.php?pkg=libwww-curl-perl&arch=amd64&ver=4.17-5%2Bb1&stamp=1570325845&raw=0
-- System Information:
Debian Release: bullseye/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'oldoldstable'), (500, 'unstable'), (500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.2.0-3-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=bg_BG.UTF-8, LC_CTYPE=bg_BG.UTF-8 (charmap=UTF-8), LANGUAGE=bg_BG.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages libwww-curl-perl depends on:
ii libc6 2.29-2
ii libcurl3-gnutls 7.66.0-1
ii perl 5.30.0-5
ii perl-base [perlapi-5.30.0] 5.30.0-5
libwww-curl-perl recommends no packages.
Versions of packages libwww-curl-perl suggests:
pn libcurl4-gnutls-dev <none>
-- debconf-show failed
More information about the pkg-perl-maintainers
mailing list