Package: src:snappy Version: 1.1.3-1 Severity: serious Tags: sid stretch patch User: debian-...@lists.debian.org Usertags: libstdc++-cxx11
Control: block 794931 with -1 The short note. 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. It seems Matthias missed this C++ library transition. Maybe due to the old style packaging and that this package doesn't provide a symbols file. But please see the attached symbols change when built with gcc-4.9 and gcc-5.2 , thus __cxx11 symbols show up. At the moment it breaks building of mongodb, but may break other packages as well. I propose the attached NMU if you don't have time for now - or I can help update and maintain the packaging as co-maintainer if you want. Regards, Laszlo/GCS [1] https://wiki.debian.org/GCC5#libstdc.2B-.2B-_ABI_transition
--- debian/libsnappy1.symbols 2015-08-08 23:54:52.415075073 +0000 +++ debian/libsnappy1/DEBIAN/symbols 2015-08-08 23:59:25.046660564 +0000 @@ -1,5 +1,5 @@ libsnappy.so.1 libsnappy1 #MINVER# - _ZN6snappy10UncompressEPKcmPSs@Base 1.1.3 + _ZN6snappy10UncompressEPKcmPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.3 _ZN6snappy10UncompressEPNS_6SourceEPNS_4SinkE@Base 1.1.3 _ZN6snappy11RawCompressEPKcmPcPm@Base 1.1.3 _ZN6snappy13RawUncompressEPKcmPc@Base 1.1.3 @@ -38,8 +38,8 @@ _ZN6snappy6SourceD0Ev@Base 1.1.3 _ZN6snappy6SourceD1Ev@Base 1.1.3 _ZN6snappy6SourceD2Ev@Base 1.1.3 - _ZN6snappy6Varint8Append32EPSsj@Base 1.1.3 - _ZN6snappy8CompressEPKcmPSs@Base 1.1.3 + _ZN6snappy6Varint8Append32EPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@Base 1.1.3 + _ZN6snappy8CompressEPKcmPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.1.3 _ZN6snappy8CompressEPNS_6SourceEPNS_4SinkE@Base 1.1.3 _ZN6snappy8internal13WorkingMemory12GetHashTableEmPi@Base 1.1.3 _ZN6snappy8internal16CompressFragmentEPKcmPcPti@Base 1.1.3
diff -u snappy-1.1.3/debian/changelog snappy-1.1.3/debian/changelog --- snappy-1.1.3/debian/changelog +++ snappy-1.1.3/debian/changelog @@ -1,3 +1,10 @@ +snappy (1.1.3-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Rename library to libsnappy1v5 for GCC 5 transition. + + -- Laszlo Boszormenyi (GCS) <g...@debian.org> Sun, 09 Aug 2015 07:28:37 +0200 + snappy (1.1.3-1) unstable; urgency=medium * New upstream release. diff -u snappy-1.1.3/debian/control snappy-1.1.3/debian/control --- snappy-1.1.3/debian/control +++ snappy-1.1.3/debian/control @@ -10,7 +10,7 @@ Section: libdevel Architecture: any Multi-Arch: same -Depends: libsnappy1 (= ${binary:Version}), ${misc:Depends} +Depends: libsnappy1v5 (= ${binary:Version}), ${misc:Depends} Description: fast compression/decompression library (development files) Snappy is a compression/decompression library. It does not aim for maximum compression, or compatibility with any other compression @@ -26,12 +26,14 @@ This package contains the development files required to build programs against Snappy. -Package: libsnappy1 +Package: libsnappy1v5 Section: libs Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: libsnappy1 +Replaces: libsnappy1 Description: fast compression/decompression library Snappy is a compression/decompression library. It does not aim for maximum compression, or compatibility with any other compression reverted: --- snappy-1.1.3/debian/libsnappy1.dirs +++ snappy-1.1.3.orig/debian/libsnappy1.dirs @@ -1 +0,0 @@ -usr/lib reverted: --- snappy-1.1.3/debian/libsnappy1.install +++ snappy-1.1.3.orig/debian/libsnappy1.install @@ -1 +0,0 @@ -usr/lib/*/lib*.so.* only in patch2: unchanged: --- snappy-1.1.3.orig/debian/libsnappy1v5.dirs +++ snappy-1.1.3/debian/libsnappy1v5.dirs @@ -0,0 +1 @@ +usr/lib only in patch2: unchanged: --- snappy-1.1.3.orig/debian/libsnappy1v5.install +++ snappy-1.1.3/debian/libsnappy1v5.install @@ -0,0 +1 @@ +usr/lib/*/lib*.so.*