Bug#1075528: sox: ftbfs with GCC-14
Package: src:sox
Version: 14.4.2+git20190427-4
Severity: important
Tags: sid trixie
User: debian-gcc@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/sox_14.4.2+git20190427-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
[...]
wav.c:1277:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
1277 | lsx_ima_init_table();
| ^~~~~~~~~~~~~~~~~~~~
wav.c:1279:9: note: here
1279 | case WAVE_FORMAT_ADPCM:
| ^~~~
In file included from util.h:32,
from sox_i.h:27,
from xa.c:23:
xa.c: In function ‘startread’:
xmalloc.h:29:30: warning: ‘*’ in boolean context, suggest ‘&&’ instead [-Wint-in-bool-context]
29 | #define lsx_calloc(n,s) (((n)*(s))? memset(lsx_malloc((n)*(s)),0,(n)*(s)) : NULL)
| ~~~~^~~~~
xa.c:181:15: note: in expansion of macro ‘lsx_calloc’
181 | xa->buf = lsx_calloc(1, (size_t)xa->blockSize);
| ^~~~~~~~~~
xmalloc.h:29:30: warning: ‘*’ in boolean context, suggest ‘&&’ instead [-Wint-in-bool-context]
29 | #define lsx_calloc(n,s) (((n)*(s))? memset(lsx_malloc((n)*(s)),0,(n)*(s)) : NULL)
| ~~~~^~~~~
xa.c:184:17: note: in expansion of macro ‘lsx_calloc’
184 | xa->state = lsx_calloc(sizeof(xa_state_t), ft->signal.channels);
| ^~~~~~~~~~
/bin/bash ../libtool --silent --tag=CC --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -DLADSPA_PATH="\"/usr/lib/x86_64-linux-gnu/ladspa\"" -DPKGLIBDIR="\"/usr/lib/x86_64-linux-gnu/sox\"" -DDISTRO="\"Debian\"" -Wdate-time -D_FORTIFY_SOURCE=2 -Wtraditional-conversion -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fstack-protector -Wall -W -Wmissing-prototypes -Wstrict-prototypes -pedantic -fopenmp -c -o libsox_la-f8-fmt.lo `test -f 'f8-fmt.c' || echo './'`f8-fmt.c
/bin/bash ../libtool --silent --tag=CC --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -DLADSPA_PATH="\"/usr/lib/x86_64-linux-gnu/ladspa\"" -DPKGLIBDIR="\"/usr/lib/x86_64-linux-gnu/sox\"" -DDISTRO="\"Debian\"" -Wdate-time -D_FORTIFY_SOURCE=2 -Wtraditional-conversion -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fstack-protector -Wall -W -Wmissing-prototypes -Wstrict-prototypes -pedantic -fopenmp -c -o libsox_la-gsrt.lo `test -f 'gsrt.c' || echo './'`gsrt.c
gcc -DHAVE_CONFIG_H -I. -DLADSPA_PATH="\"/usr/lib/x86_64-linux-gnu/ladspa\"" -DPKGLIBDIR="\"/usr/lib/x86_64-linux-gnu/sox\"" -DDISTRO="\"Debian\"" -Wdate-time -D_FORTIFY_SOURCE=2 -Wtraditional-conversion -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fstack-protector -Wall -W -Wmissing-prototypes -Wstrict-prototypes -pedantic -fopenmp -c -o sox_sample_test.o sox_sample_test.c
gcc -DHAVE_CONFIG_H -I. -DLADSPA_PATH="\"/usr/lib/x86_64-linux-gnu/ladspa\"" -DPKGLIBDIR="\"/usr/lib/x86_64-linux-gnu/sox\"" -DDISTRO="\"Debian\"" -Wdate-time -D_FORTIFY_SOURCE=2 -Wtraditional-conversion -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fstack-protector -Wall -W -Wmissing-prototypes -Wstrict-prototypes -pedantic -fopenmp -c -o example0.o example0.c
In file included from sox_sample_test.h:21,
from sox_sample_test.c:18:
sox_sample_test.h: In function ‘main’:
sox_sample_test.h:39:37: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
39 | assert(sample * SOX_INT_MAX(bits) == SOX_UNSIGNED_TO_SAMPLE(bits,1)); \
| ^~
sox_sample_test.h:39:37: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
39 | assert(sample * SOX_INT_MAX(bits) == SOX_UNSIGNED_TO_SAMPLE(bits,1)); \
| ^~
sox_sample_test.h:39:37: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
39 | assert(sample * SOX_INT_MAX(bits) == SOX_UNSIGNED_TO_SAMPLE(bits,1)); \
| ^~
sox_sample_test.h:96:37: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
96 | assert(sample * SOX_INT_MAX(bits) == SOX_SIGNED_TO_SAMPLE(bits,SOX_INT_MIN(bits)+1)); \
| ^~
sox_sample_test.h:96:37: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
96 | assert(sample * SOX_INT_MAX(bits) == SOX_SIGNED_TO_SAMPLE(bits,SOX_INT_MIN(bits)+1)); \
| ^~
sox_sample_test.h:96:37: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
96 | assert(sample * SOX_INT_MAX(bits) == SOX_SIGNED_TO_SAMPLE(bits,SOX_INT_MIN(bits)+1)); \
| ^~
sox_sample_test.h:190:3: error: implicit declaration of function ‘fabs’ [-Wimplicit-function-declaration]
190 | assert(fabs(d - 1) < 1e-9 && clips == 0);
| ^~~~~~
sox_sample_test.h:23:1: note: include ‘<math.h>’ or provide a declaration of ‘fabs’
22 | #include "sox.h"
+++ |+#include <math.h>
23 |
In file included from example0.c:27:
example0.c: In function ‘main’:
example0.c:46:10: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
46 | assert(in = sox_open_read(argv[1], NULL, NULL, NULL));
| ^~
example0.c:51:10: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
51 | assert(out = sox_open_write(argv[2], &in->signal, NULL, NULL, NULL, NULL));
| ^~~
make[2]: *** [Makefile:1790: sox_sample_test.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[1]: *** [Makefile:658: all-recursive] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:15: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: