Bug#791165: libsdl-sge: library transition may be needed when GCC 5 is the default

Manuel A. Fernandez Montecelo manuel.montezelo at gmail.com
Thu Jul 9 14:22:44 UTC 2015


(sorry for the empty message....)

2015-07-09 15:08 GMT+01:00 Manuel A. Fernandez Montecelo
<manuel.montezelo at gmail.com>:
> 2015-07-03 14:12 GMT+01:00 Matthias Klose <doko at debian.org>:
>> Package: src:libsdl-sge
>> Version: 030809dfsg-4
>> Severity: important
>> Tags: sid stretch
>> User: debian-gcc at 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,
>> 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.

If I read this correctly, the only symbols changing are these:

http://sources.debian.net/src/libsdl-sge/030809dfsg-4/sge_textpp.h/

     //Returns text as latin1 or unicode with or without the cursor char
    std::string get_string(bool wCursor=true);

    //Change the text
    void clear_text(void);
    void change_text(const std::string s);


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

They are...  but there are 3 rev-depends (src:ruby-sdl, src:infon and
src:supertransball2) and they don't call these functions, so I believe
that they will not be affected by this change in ABI.


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

The popcon is only 0.33% for the library package and 0.05% for -dev,
with a steep fall since last stable in absolute numbers and since 2006
in relative numbers.

Upstream was last updated in 2003, although the core functionality is
probably intact, it is not a critical package that many people use, so
I guess that very very few people will be potentially affected, if at
all.


For all of the above, I believe that the best course of action is the
easiest, to just do nothing.  The second best option in my opinion is
to rebuild against GCC-5 when ready, and bin-NMU the 3 rev-depds.


Cheers.
-- 
Manuel A. Fernandez Montecelo <manuel.montezelo at gmail.com>



More information about the Pkg-sdl-maintainers mailing list