On 2025-12-03 01:15, Chris Hofstaedtler wrote:
Control: reassign -1 libadplug-dev
Control: found -1 libadplug-dev/2.3.3+dfsg-2
Control: severity -1 serious
Control: affects -1 src:mpd
On Wed, Dec 03, 2025 at 01:08:19AM +0530, Trupti wrote:
mpd currently fails to build from source on ppc64el due to a linker
error
ninja: build stopped: subcommand failed.
dh_auto_build: error: cd obj-powerpc64le-linux-gnu && LC_ALL=C.UTF-8
ninja
-j8 -v returned exit code 1
make: *** [debian/rules:123: binary-arch] Error 25
/usr/bin/ld: /usr/lib/powerpc64le-linux-gnu/libadplug.so: undefined
reference to `binostream::writeFloat(__float128, binio::FType)'
c.
Yes this is the root cause of failure:
FAILED: [code=1] test/playlist/TestPlaylistPlugins
/usr/bin/ld: /usr/lib/powerpc64le-linux-gnu/libadplug.so: undefined
reference to `binostream::writeFloat(__float128, binio::FType)'
collect2: error: ld returned 1 exit status
The ABI mismatch can be verified using ELF attributes:
root@sbuild:/build/reproducible-path# readelf --arch-specific
/usr/lib/powerpc64le-linux-gnu/libbinio.so | grep Tag_GNU_Power_ABI_FP
Tag_GNU_Power_ABI_FP: hard float,
128-bit IEEE long double
root@sbuild:/build/reproducible-path# readelf --arch-specific
/usr/lib/powerpc64le-linux-gnu/libadplug.so | grep Tag_GNU_Power_ABI_FP
Tag_GNU_Power_ABI_FP: hard float,
128-bit IBM long double
So:
libbinio is built with IEEE long double ABI and libadplug is built with
IBM long double ABI
These ABIs are binary incompatible, so reverse dependencies cannot link
both libraries together.
A rebuild of libadplug on ppc64el should resolve the issue.
Thanks and Regards,
Trupti.