[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



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.

Other packages found are listed here, although I assume they can be left
unchanged, or maybe just binNMUed:

  aria2 1.18.5-1
  bisonc++ 4.09.01-1
  cbmc 4.5-2
  clementine 1.2.0+dfsg-2
  fakeroot-ng 0.18-4
  fastx-toolkit 0.0.14-1
  chromium-browser -
  filezilla 3.8.0-1
  flexc++ 2.01.00-1
  grap 1.44-1
  imagevis3d 3.1.0-2
  jmtpfs 0.5-2
  kcov 11.1
  kdevelop-pg-qt 1.0.0-3
  mira 4.0.2-1
  mkvtoolnix 7.0.0-1
  natlog 1.01.0-2
  octave-image 2.2.1-1
  pingus 0.7.6-1.1
  python-casmoothing 0.1-2
  qtcreator 3.0.1-0
  ruby-passenger 4.0.37-3
  spring 96.0+dfsg-2
  sysdig 0.1.83-1
  tcpflow 1.4.4+repack1-2
  yrmcds 1.0.4-2


Proposing to make GCC 4.9 the default on the remaining non-release
architectures, then bumping the required g++ dependency in build-essential, then
file bug reports for the eleven packages mentioned in the first set, and then
transitioning these packages.


Reply to: