Bug#1067562: FTBFS: missing symbols on 32-bit architectures
Am Sat, 23 Mar 2024 21:59:54 +0500
schrieb Andrey Rakhmatullin <wrar@debian.org>:
> Source: mpg123
> Version: 1.32.5-1
> Severity: serious
> Tags: ftbfs
>
> https://buildd.debian.org/status/fetch.php?pkg=mpg123&arch=armel&ver=1.32.5-1%2Bb1&stamp=1711185338&raw=0
This is being discussued in
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063140
The build log shows this:
largefile sensitive ..... no
default offsets ......... 64
The new 64 bit time_t setup also fixes off_t to be 64 bits and so the
mpg123 build figures that you don't need 32 bit offset symbols. Also
the non-suffixed functions now work with 64 bit offsets, where they
formerly worked with 32 bit off_t arguments. This could be considered
ABI breakage, too.
We should figure out what the desired state is here. Should the ABI
stay the same as before? Then the _FILE_OFFSET_BITS=64 needs to be ignored
for the libmpg123 build.
Also, I notice this: Why do you have --with-cpu=generic_fpu there? You
really should either use one of
arm_fpu Pack neon and generic[[_dither]] decoders, for ARM processors with FPU and/or NEON
arm_nofpu Use code optimized for ARM processors with fixed point arithmetic
for 32 bit ARM and
aarch64 Pack neon64 and generic[[_dither]] decoders, for 64bit ARM processors
for 64 bit ARM.
http://mpg123.org/benchmark/mpg123-1.23.8_arm_fpu_BananaPi_Allwinner_H3@1200MHz_bananian-jessie.txt
#mpg123 benchmark (user CPU time in seconds for decoding)
#decoder t_s16/s t_f32/s
NEON 18.06 21.54
generic 35.10 32.39
generic_dither 35.98 33.30
http://mpg123.org/benchmark/mpg123-1.23.8_arm_nofpu_BananaPi_Allwinner_H3@1200MHz_bananian-jessie.txt
#mpg123 benchmark (user CPU time in seconds for decoding)
#decoder t_s16/s t_f32/s
ARM 36.02 34.32
With NEON, you got a factor of two for 16 bit output. Hm. Generic
with FPU doesn't look that bad compared to the plain ARM assembly. But when we
are talking about ARMs with NEON, one really should use that. Hm I also have
http://mpg123.org/benchmark/mpg123-r3525_Raspberry-Pi_raspian.txt
#mpg123 benchmark (user CPU time in seconds for decoding)
#decoder t_s16/s t_f32/s
ARM 86.26 90.66
generic 102.80 100.06
generic_dither 121.10 100.84
So this nofpu build still shows some benefit from the plain ARM
assembly, too.
Is there a special reason why Debian avoids using the optimized decoders on ARM?
Alrighty then,
Thomas
Reply to: