Bug#794935: llvm-toolchain-3.6: library transition is needed when GCC 5 is the default

Matthias Klose doko at debian.org
Sat Aug 8 09:48:40 UTC 2015


Package: src:llvm-toolchain-3.5
Version: 1:3.5.2-1
Severity: serious
Tags: sid stretch patch confirmed
User: debian-gcc at lists.debian.org
Usertags: libstdc++-cxx11

confirmed, patch at
http://launchpadlibrarian.net/213914737/llvm-toolchain-3.5_1%3A3.5.2-0ubuntu1_1%3A3.5.2-0ubuntu2.diff.gz

(sorry, the clean target doesn't clean very well).

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.

 - Decide if the symbols matching __cxx11 or B5cxx11 are part of the
   library API, and are used by the reverse dependencies of the
   library.

 - If there are no symbols matching __cxx11 or B5cxx11 in the symbols
   forming the library API, you should close this issue with a short
   explanation.

 - 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.

 - If a library transition is needed, please prepare for the change.
   Rename the library package, append "v5" to the name of the package
   (e.g. libfoo2 -> libfoo2v5). Such a change can be avoided, if you
   have a soversion bump and you upload this version instead of the
   renamed package.  Prepare a patch and attach it to this issue (mark
   this issue with patch), so that it is possible to NMU such a
   package. We'll probably have more than hundred transitions
   triggered. Then reassign the issue to release.debian.org and
   properly tag it as a transition issue, by sending an email to
   control at bugs.debian.org:

     user release.debian.org at packages.debian.org
     usertag <this issue> + transition
     block <this issue> by 790756
     reassign <this issue> release.debian.org

 - If unsure if a transition is needed, please tag the issue with help
   to ask for feedback from other Debian developers.

The libstdc++6 transition will be a large one, and it will come with a
lot of pain.  Please help it by preparing the follow-up transitions.

[1] https://wiki.debian.org/GCC5#libstdc.2B-.2B-_ABI_transition



More information about the Pkg-llvm-team mailing list