Thursday, April 09, 2020

Re: libdbus-c++ missing symbols

On Thu, Apr 09, 2020 at 02:15:50PM +0200, Jeremie Courreges-Anglas wrote:
>
> This shows up in powerpc and sparc64 since a long time
>
> http://build-failures.rhaalovely.net/sparc64/2020-04-07/x11/libdbus-c++.log
>
> ld.bfd checks that symbols in libdbus-c++-1.so are resolvable, but
> ld.lld doesn't. On amd64:
>
> --8<--
> russell ~$ nm -g /usr/local/lib/libdbus-c++-1.so.0.0 | c++filt | grep -E 'DBus::operator(<<|>>)'
> U DBus::operator<<(DBus::MessageIter&, DBus::Variant const&)
> U DBus::operator>>(DBus::MessageIter&, DBus::Variant&)
> -->8--
>
> Upstream has a fix, though it looks like only the chromium developers
> understand what is going on in this C++ maze. (:
>
> https://github.com/andreas-volz/dbus-cplusplus/commit/a0b9ef3b469ca23c6a3229d8abb967cbbddcee38
>
> With this fix, the symbols are present in libdbus-c++.so and
> build succeeds on sparc64.
>
> --8<--
> /usr/local/lib/libdbus-c++-1.so.0.0 --> ../fake-amd64/usr/local/lib/libdbus-c++-1.so.0.0
> Dynamic export changes:
> added:
> DBus::operator<<(DBus::MessageIter&, DBus::Variant const&)
> DBus::operator>>(DBus::MessageIter&, DBus::Variant&)
>
> External reference changes:
> removed:
> DBus::operator<<(DBus::MessageIter&, DBus::Variant const&)
> DBus::operator>>(DBus::MessageIter&, DBus::Variant&)
>
> PLT added:
> DBus::operator<<(DBus::MessageIter&, DBus::Variant const&)
> DBus::operator>>(DBus::MessageIter&, DBus::Variant&)
>
> -->8--
>
> Shared lib bump needed for libdbus-c++-1.so only. ok?

ok stsp@

Thanks for taking care of this!

No comments:

Post a Comment