[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#751780: transition: libstdc++6 unordered_{map,set} ABI changes between GCC 4.8/4.9 in c++11 mode



On 16/06/14 17:02, Matthias Klose wrote:
Package: release.debian.org
Severity: important
Tags: sid jessie

This change mentioned in the GCC 4.9 news:

   Improved support for C++11, including:
     The associative containers in <map> and <set> and the
     unordered associative containers in <unordered_map> and
     <unordered_set> meet the allocator-aware container
     requirements

is an ABI incompatible change in the unordered_{map,set} classes built in c++11
mode.  The libstdc++6 library itself is not affected, so instead of having a
libstdc++6 transition, all packages providing a library built in c++11 mode and
using the unordered_{map,set} classes should be transitioned (changing the name
of the library package).

A grep of all sources for #include *<unordered_{map,set}>, and then searching in
the log files for usage of -std=c++{0x,11} did show the following packages
building library packages (for packages not having verbose build logs I had to
look into the source package):

   bobcat 3.22.00-1
   c++-annotations 9.9.1-2
   capnproto 0.4.0-1
   condor 8.0.6~dfsg.1-1
   liblo 0.28-3
   mrpt 1:1.0.2-1
   qtbase-opensource-src-gles 5.2.1+dfsg-1
   rapicorn 13.07.0~ds0-1
   shogun 3.2.0-2
   tesseract 3.03.03-1
   zeroc-ice 3.5.1-6

For those transitions should be considered.

I'm not aware of any breakage because of this. Do you know if there's anything that actually broke because of that ABI break?

Regards,
Emilio


Reply to: