On 21 September 2015 at 08:38, Simon McVittie wrote:
| Source: quantlib
| Version: 1.6.2-1
| Severity: serious
| Justification: ABI break since stable for libquantlib0
| Tags: sid stretch
| User: debian-...@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,
| 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.
| 
| In the case of quantlib, <ql/currency.hpp> is one example of public API
| changing its ABI in this way, so a transition does appear to
| be needed. The transition normally consists of renaming the affected library
| packages, adding a v5 suffix (libquantlib0v5). The SONAME should not be
| changed when doing this.
| 
| If an upgrade to a new upstream SONAME is already planned, and that
| SONAME has never been available in Debian compiled with g++-4, then an
| alternative way to carry out the transition would be to bump the
| SONAME. However, the libstdc++ transition has been going on for nearly
| 2 months already, and anything that makes it take longer is bad for Debian,
| so introducing new upstream code is not recommended at this stage.
| 
| These follow-up transitions for libstdc++ are not going through exactly
| the normal transition procedure, because many entangled transitions are
| going on at the same time, and the usual ordered transition procedure
| does not scale that far. When all the C++ libraries on which this library
| depends have started their transitions in unstable if required, this
| library should do the same, closing this bug; the release team will deal
| with binNMUs as needed.
| 
| Looking at the build-dependencies of quantlib, boost has already had
| its transition, so I believe quantlib is now ready to be renamed.

I was thinking I could get away with _not_ renaming. If you'd rather that I
renamed, I can do that today.
| 
| quantlib does appear to have had an upload built with g++-5 already.

Correct.

As do the _two_ depedent packages both of which I maintain:
- quantlib-python  (same upstream, SWIG bindings)
- r-cran-rquantlib (I am upstream)

So they are all compiled with g++-5.4, I just didn't switch to

   libquantlib0v5
   libquantlib1      (alternate, as I never renamed ...)

So you say I should?

Dirk

| Please note that this rebuild is *not* sufficient to prevent broken
| upgrades: for example, during an upgrade from jessie to stretch, if a
| user upgrades quantlib to the stretch version while keeping jessie's
| quantlib-swig or rquantlib, then quantlib-swig or rquantlib will
| fail to link at runtime with undefined symbols. Preventing broken
| situations like that is why the renames are necessary.
| 
| The package might be NMU'd if there is no maintainer response. The
| release team have declared a 2 day NMU delay[2] for packages involved
| in the libstdc++ transition, in order to get unstable back to a usable
| state in a finite time.
| 
| Regards,
|     S
| 
| [1] https://wiki.debian.org/GCC5#libstdc.2B-.2B-_ABI_transition
| [2] https://lists.debian.org/debian-devel-announce/2015/08/msg00000.html

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org

Reply via email to