Dear maintainer(s),
shadowsocks-libev fails to build from source with glibc 2.43, currently
in experimental. From the build log:
| acl.c: In function ‘parse_addr_cidr’:
| acl.c:62:9: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
| 62 | pch = strchr(str, '/');
| | ^
| netutils.c: In function ‘validate_hostname’:
| netutils.c:278:28: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
| 278 | char *next_dot = strchr(label, '.');
| | ^~~~~~
| netutils.c: In function ‘validate_hostname’:
| netutils.c:278:28: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
| 278 | char *next_dot = strchr(label, '.');
| | ^~~~~~
...
| netutils.c: In function ‘validate_hostname’:
| netutils.c:278:28: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
| 278 | char *next_dot = strchr(label, '.');
| | ^~~~~~
...
| netutils.c: In function ‘validate_hostname’:
| netutils.c:278:28: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
| 278 | char *next_dot = strchr(label, '.');
| | ^~~~~~
| acl.c: In function ‘parse_addr_cidr’:
| acl.c:62:9: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
| 62 | pch = strchr(str, '/');
| | ^
| netutils.c: In function ‘validate_hostname’:
| netutils.c:278:28: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
| 278 | char *next_dot = strchr(label, '.');
| | ^~~~~~
| acl.c: In function 'parse_addr_cidr':
| acl.c:62:9: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
| 62 | pch = strchr(str, '/');
| | ^
| cc1: all warnings being treated as errors
| make[3]: *** [Makefile:1202: ss_local-acl.o] Error 1
| make[3]: *** Waiting for unfinished jobs....
| cc1: all warnings being treated as errors
| make[3]: *** [Makefile:1076: ss_local-netutils.o] Error 1
| netutils.c: In function 'validate_hostname':
| netutils.c:278:28: error: initialization discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
| 278 | char *next_dot = strchr(label, '.');
| | ^~~~~~
| cc1: all warnings being treated as errors
| make[3]: *** [Makefile:1734: ss_tunnel-netutils.o] Error 1
| cc1: all warnings being treated as errors
| cc1: all warnings being treated as errors
| make[3]: *** [Makefile:1244: ss_manager-netutils.o] Error 1
| make[3]: *** [Makefile:1300: ss_redir-netutils.o] Error 1
| cc1: all warnings being treated as errors
| cc1: all warnings being treated as errors
| make[3]: *** [Makefile:1524: ss_server-netutils.o] Error 1
| make[3]: *** [Makefile:1650: ss_server-acl.o] Error 1
| cc1: all warnings being treated as errors
| make[3]: *** [Makefile:999: libshadowsocks_libev_la-acl.lo] Error 1
| cc1: all warnings being treated as errors
| make[3]: *** [Makefile:936: libshadowsocks_libev_la-netutils.lo] Error 1
| make[3]: Leaving directory '/build/reproducible-path/shadowsocks-libev-3.3.5+ds/src'
| make[2]: *** [Makefile:501: all-recursive] Error 1
| make[2]: Leaving directory '/build/reproducible-path/shadowsocks-libev-3.3.5+ds'
| make[1]: *** [Makefile:404: all] Error 2
| make[1]: Leaving directory '/build/reproducible-path/shadowsocks-libev-3.3.5+ds'
| dh_auto_build: error: make -j128 returned exit code 2
| make: *** [debian/rules:43: binary] Error 25
| dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
The full build log is available here [1].
The issue is due to ISO C23 declaration of bsearch, memchr, strchr,
strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr,
which now returns a pointer to a const-qualified type when the input
argument is a pointer to a const-qualified type [2].
I would like to thanks Emanuele Rocca for doing the archive rebuild on
a fast arm64 server.
Regards
Aurelien
[1] https://people.debian.org/~ema/glibc-2.43-rebuilds/output-1/shadowsocks-libev_arm64.build
[2] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=e271fb2e4d76903c77a302aaec1ca22ce31027d0;hb=f762ccf84f122d1354f103a151cba8bde797d521#l19