[Pkg-mpd-maintainers] Bug#795014: mpd fails to start because of a symbol mismatch with libadplug-2.2.1.so.0
Helmut Grohne
helmut at subdivi.de
Mon Aug 10 14:10:08 UTC 2015
Control: reassign -1 libadplug-2.2.1-0
Control: found -1 libadplug-2.2.1-0/2.2.1+dfsg3-0.2+b1
Control: retitle -1 libadplug-2.2.1-0 broke ABI in binNMU due to libstdc++6 transition
Control: affects -1 + mpd opencubicplayer
On Sun, Aug 09, 2015 at 04:36:51PM +0200, Xavier Guerrin wrote:
> After dist-upgrade, mpd does not start anymore in unstable; indeed, running
> /usr/bin/mpd yields:
> /usr/bin/mpd: symbol lookup error: /usr/bin/mpd: undefined symbol:
> _ZN7CAdPlug7factoryERKSsP4CoplRK8CPlayersRK13CFileProvider
>
> All DSOs required by mpd are present on the system:
> $ LANG=C ldd /usr/bin/mpd | grep 'found'
> $
>
> After a short investigation, it appears the missing symbol is supposed to be
> found in /usr/lib/libadplug-2.2.1.so.0; alas, there is a symbol name mismatch:
> * mpd requires _ZN7CAdPlug7factoryERKSsP4CoplRK8CPlayersRK13CFileProvider
> * libadplug-2.2.1.so.0 provides
> _ZN7CAdPlug7factoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP4CoplRK8CPlayersRK13CFileProvider
>
> The latter statement can be checked using readelf:
> $ readelf --wide --symbols /usr/lib/libadplug-2.2.1.so.0 | grep
> _ZN7CAdPlug7factory
> 358: 00000000000247d0 692 FUNC GLOBAL DEFAULT 11
> _ZN7CAdPlug7factoryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP4CoplRK8CPlayersRK13CFileProvider
>
> This behaviour was observed with packages:
> * mpd: 0.19.10-1+b2
> * libadplug-2.2.1-0: 2.2.1+dfsg3-0.2+b1
>
> I am unsure whether the fix should occur in mpd or libadplug, so I reported
> this bug for mpd, as it is rendered unusable by the issue.
The bug is in libadplug. Example symbol differences:
-CAdPlugDatabase::load(std::string)
+CAdPlugDatabase::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
libadplug-2.2.1-0 needs to be renamed and have its own transition.
Helmut
More information about the Pkg-mpd-maintainers
mailing list