Bug#1075185: libmemcached-libmemcached-perl: ftbfs with GCC-14
Matthias Klose
doko at debian.org
Wed Jul 3 13:33:45 BST 2024
Package: src:libmemcached-libmemcached-perl
Version: 1.001801+dfsg-4
Severity: important
Tags: sid trixie
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-14
[This bug is targeted to the upcoming trixie release]
Please keep this issue open in the bug tracker for the package it
was filed for. If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.
The package fails to build in a test rebuild on at least amd64 with
gcc-14/g++-14, but succeeds to build with gcc-13/g++-13. The
severity of this report will be raised before the trixie release.
The full build log can be found at:
http://qa-logs.debian.net/2024/07/01/libmemcached-libmemcached-perl_1.001801+dfsg-4_unstable_gccexp.log
The last lines of the build log are at the end of this report.
To build with GCC 14, either set CC=gcc-14 CXX=g++-14 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
Common build failures are new warnings resulting in build failures with
-Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-14/porting_to.html
[...]
libmemcached.c:3013:35: warning: cast from function call of type ‘NV’ {aka ‘double’} to non-matching type ‘long unsigned int’ [-Wbad-function-cast]
3013 | uint64_t initial = (uint64_t)SvNV(ST(4));
| ^
libmemcached.c:3048:21: warning: cast from function call of type ‘NV’ {aka ‘double’} to non-matching type ‘long unsigned int’ [-Wbad-function-cast]
3048 | value = (uint64_t)SvNV(ST(6));
| ^
libmemcached.c: In function ‘XS_Memcached__libmemcached_memcached_decrement_with_initial_by_key’:
libmemcached.c:3100:35: warning: cast from function call of type ‘NV’ {aka ‘double’} to non-matching type ‘long unsigned int’ [-Wbad-function-cast]
3100 | uint64_t initial = (uint64_t)SvNV(ST(4));
| ^
libmemcached.c:3135:21: warning: cast from function call of type ‘NV’ {aka ‘double’} to non-matching type ‘long unsigned int’ [-Wbad-function-cast]
3135 | value = (uint64_t)SvNV(ST(6));
| ^
libmemcached.c: In function ‘XS_Memcached__libmemcached_memcached_get’:
libmemcached.c:3217:33: warning: cast from function call of type ‘IV’ {aka ‘long int’} to non-matching type ‘enum memcached_return_t’ [-Wbad-function-cast]
3217 | error = (SvOK(ST(3))) ? (memcached_return)SvIV(ST(3)) : 0;
| ^
libmemcached.c: In function ‘XS_Memcached__libmemcached_memcached_get_by_key’:
libmemcached.c:3314:33: warning: cast from function call of type ‘IV’ {aka ‘long int’} to non-matching type ‘enum memcached_return_t’ [-Wbad-function-cast]
3314 | error = (SvOK(ST(4))) ? (memcached_return)SvIV(ST(4)) : 0;
| ^
libmemcached.c: In function ‘XS_Memcached__libmemcached_memcached_fetch’:
libmemcached.c:3538:33: warning: cast from function call of type ‘IV’ {aka ‘long int’} to non-matching type ‘enum memcached_return_t’ [-Wbad-function-cast]
3538 | error = (SvOK(ST(3))) ? (memcached_return)SvIV(ST(3)) : 0;
| ^
libmemcached.c: In function ‘XS_Memcached__libmemcached_memcached_strerror’:
libmemcached.c:3922:30: warning: cast from function call of type ‘IV’ {aka ‘long int’} to non-matching type ‘enum memcached_return_t’ [-Wbad-function-cast]
3922 | rc = (SvOK(ST(1))) ? (memcached_return)SvIV(ST(1)) : 0;
| ^
libmemcached.c: In function ‘XS_Memcached__libmemcached_trace_level’:
/usr/lib/x86_64-linux-gnu/perl/5.38/CORE/handy.h:155:23: warning: cast from function call of type ‘long int’ to non-matching type ‘_Bool’ [-Wbad-function-cast]
155 | #define cBOOL(cbool) ((bool) (cbool))
| ^
/usr/lib/x86_64-linux-gnu/perl/5.38/CORE/perl.h:4231:62: note: in definition of macro ‘EXPECT’
4231 | # define EXPECT(expr,val) __builtin_expect(expr,val)
| ^~~~
/usr/lib/x86_64-linux-gnu/perl/5.38/CORE/perl.h:4251:52: note: in expansion of macro ‘cBOOL’
4251 | #define LIKELY(cond) EXPECT(cBOOL(cond),TRUE)
| ^~~~~
/usr/lib/x86_64-linux-gnu/perl/5.38/CORE/pp.h:429:13: note: in expansion of macro ‘LIKELY’
429 | if (LIKELY( \
| ^~~~~~
/usr/lib/x86_64-linux-gnu/perl/5.38/CORE/perl.h:996:34: note: in expansion of macro ‘cBOOL’
996 | # define TAINT_get (cBOOL(UNLIKELY(PL_tainted))) /* Is something tainted? */
| ^~~~~
/usr/lib/x86_64-linux-gnu/perl/5.38/CORE/pp.h:431:28: note: in expansion of macro ‘TAINT_get’
431 | & (do_taint ? !TAINT_get : 1))) \
| ^~~~~~~~~
/usr/lib/x86_64-linux-gnu/perl/5.38/CORE/pp.h:495:38: note: in expansion of macro ‘TARGi’
495 | #define PUSHi(i) STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
| ^~~~~
libmemcached.c:4001:20: note: in expansion of macro ‘PUSHi’
4001 | XSprePUSH; PUSHi((IV)RETVAL);
| ^~~~~
libmemcached.c: In function ‘XS_Memcached__libmemcached_mget_into_hashref’:
libmemcached.c:4230:46: warning: comparison of constant ‘12’ with boolean expression is always false [-Wbool-compare]
4230 | if (!SvROK(ST(2)) || !SvTYPE(SvRV(ST(2)))==SVt_PVHV)
| ^~
libmemcached.c:4230:46: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
libmemcached.c:4230:26: note: add parentheses around left hand side expression to silence this warning
4230 | if (!SvROK(ST(2)) || !SvTYPE(SvRV(ST(2)))==SVt_PVHV)
libmemcached.c: In function ‘boot_Memcached__libmemcached’:
libmemcached.c:4613:23: error: assignment to ‘I32’ {aka ‘int’} from ‘char *’ makes integer from pointer without a cast [-Wint-conversion]
4613 | XSANY.any_i32 = MEMCACHED_DEFAULT_PORT_STRING ;
| ^
make[1]: *** [Makefile:393: libmemcached.o] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:13: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
More information about the pkg-perl-maintainers
mailing list