[Pkg-ime-devel] Bug#791178: Bug#791178: libucimf: library transition may be needed when GCC 5 is the default
ChangZhuo Chen (=?UTF-8?Q?=E9=99=B3=E6=98=8C=E5=80=AC?=)
czchen at gmail.com
Fri Jul 3 16:55:00 UTC 2015
On Fri, Jul 03, 2015 at 01:12:25PM +0000, Matthias Klose wrote:
> Package: src:libucimf
> Version: 2.3.8-6
> Severity: important
> Tags: sid stretch
> User: debian-gcc at lists.debian.org
> Usertags: libstdc++-cxx11
>
> Background [1]: libstdc++6 introduces a new ABI to conform to the
> C++11 standard, but keeps the old ABI to not break existing binaries.
> Packages which are built with g++-5 from experimental (not the one
> from testing/unstable) are using the new ABI. Libraries built from
> this source package export some of the new __cxx11 or B5cxx11 symbols,
> and dropping other symbols. If these symbols are part of the API of
> the library, then this rebuild with g++-5 will trigger a transition
> for the library.
>
> What is needed:
>
> - Rebuild the library using g++/g++-5 from experimental. Note that
> most likely all C++ libraries within the build dependencies need
> a rebuild too. You can find the log for a rebuild in
> https://people.debian.org/~doko/logs/gcc5-20150701/
> Search for "BEGIN GCC CXX11" in the log.
I use the following command to find problemic symbols.
objdump -T usr/lib/x86_64-linux-gnu/libucimf.so.0.0.0|egrep '__cxx11|B5cxx11'|grep -v '*UND*'|c++filt
The following is result:
000000000000afd0 g DF .text 0000000000000080 Base ustring::ustring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
000000000000afd0 g DF .text 0000000000000080 Base ustring::ustring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
000000000000aca0 g DF .text 0000000000000154 Base ustring::out[abi:cxx11](char const*) const
000000000000a9b0 w DF .text 000000000000005a Base std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*)
000000000000aa10 w DF .text 0000000000000290 Base std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_insert_unique(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)
Since the depends fbterm-ucimf does not use these symbols, libucimf
matches the following scenario.
> - If there are no reverse dependencies, it should be the package
> maintainers decision if a transition is needed. However this might
> break software which is not in the Debian archive, and built
> against these packages.
So we do not necessary to do the transition, right?
--
ChangZhuo Chen (陳昌倬) <czchen at gmail.com>
http://czchen.info/
Key fingerprint = EC9F 905D 866D BE46 A896 C827 BE0C 9242 03F4 552D
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-ime-devel/attachments/20150704/8b275fa4/attachment.sig>
More information about the Pkg-ime-devel
mailing list