[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: many packages automremoval due to GCC 8



On Mon, Jul 23, 2018 at 02:10:32PM +0200, Olivier Sallou wrote:
> 
> 
> On 07/23/2018 11:57 AM, Mattia Rizzolo wrote:
> > On Mon, Jul 23, 2018 at 09:10:02AM +0200, Olivier Sallou wrote:
> >> with a quick look, it seems that several packages are impacted by
> >> new/removed symbols with gcc8
> > Please provide some examples.
> I refer for example to this bug [0]. I do not maintain the package, but
> as many debianmed packages seems to be broken by gcc-8 , I wanted to see
> what is the reason.
> 
> [0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897780

Looking at that bug, the 7 new symbols that appeared are of that
category I was talking about (looking at the unmangled naming that
c++filt reports they are things like:

+ std::_Rb_tree_iterator<std::pair<int const, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > std::_Rb_tree<int, std::pair<int const, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::_Select1st<std::pair<int const, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >, std::greater<int>, std::allocator<std::pair<int const, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<int&&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<int const, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >, std::piecewise_construct_t const&, std::tuple<int&&>&&, std::tuple<>&&)@Base 2.4.0-3

which is ... not something people should usually care about…), and if
added they should have the '(optional)' tag (incidentally, it feels to me
that also all the surrounding symbols should).  However, that's not the
error, dpkg-gensymbols wouldn't fail for new symbols by default, but
only if some disappear: you should check the ones that disappeared.

Also, I noticed the rules file is doing some funky renaming to have the
symbols file apply only on amd64.  I recommend you go read
dpkg-gensymbols(1) and discover architecture-specific symbols file.

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-

Attachment: signature.asc
Description: PGP signature


Reply to: