Bug#985986: marked as done (deprecating/replacing symbols files for C++ libraries)
"Debian Bug Tracking System" <[email protected]> Sun, 07 Jun 2026 02:59:02 +0000
| Newsgroups | gmane.linux.debian.devel.dpkg.bugs |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format... ------------=_1780801142-1244177-0 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your message dated Sun, 7 Jun 2026 04:56:34 +0200 with message-id <[email protected]> and subject line Re: Bug#985986: deprecating/replacing symbols files for C+= + libraries has caused the Debian Bug report #985986, regarding deprecating/replacing symbols files for C++ libraries to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) --=20 985986: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D985986 Debian Bug Tracking System Contact [email protected] with problems ------------=_1780801142-1244177-0 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by bugs.debian.org; 27 Mar 2021 13:33:02 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.2-bugs.debian.org_2005_01_02 (2018-09-13) on buxtehude.debian.org X-Spam-Level: X-Spam-Status: No, score=-20.2 required=4.0 tests=BAYES_00,FROMDEVELOPER, HAS_PACKAGE,MURPHY_DRUGS_REL8,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.2-bugs.debian.org_2005_01_02 X-Spam-Bayes: score:0.0000 Tokens: new, 36; hammy, 150; neutral, 75; spammy, 0. spammytokens: hammytokens:0.000-+--H*F:U*doko, 0.000-+--H*RU:sk:einhorn, 0.000-+--H*r:sk:einhorn, 0.000-+--H*r:[email protected], 0.000-+--Hx-spam-relays-external:sk:einhorn Return-path: <[email protected]> Received: from einhorn-mail-out.in-berlin.de ([217.197.80.21]:51935) by buxtehude.debian.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <[email protected]>) id 1lQ93l-0001uu-R8 for [email protected]; Sat, 27 Mar 2021 13:33:02 +0000 X-Envelope-From: [email protected] X-Envelope-To: <[email protected]> Received: from authenticated.user (localhost [127.0.0.1]) by einhorn.in-berlin.de with ESMTPSA id 12RDWwv2023824 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for <[email protected]>; Sat, 27 Mar 2021 14:32:58 +0100 To: Debian Bug Tracking System <[email protected]> From: Matthias Klose <[email protected]> Subject: deprecating/replacing symbols files for C++ libraries Message-ID: <[email protected]> Date: Sat, 27 Mar 2021 14:32:58 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Delivered-To: [email protected] Package: dpkg,debhelper [ Starting this as a discussion, I have no proposal or even patches yet ] The current practice of checking for ABI compatibility of C++ shared libraries is a bit cumbersome, and it's often not clear for package maintainers, which symbols make an ABI, and belong into the symbols file (references to destructors, vtables, instantiated symbols). We have work-arounds of marking such symbols as optional, but these are all marked on an ad-hoc basis when these are not found for a failing build. Symbols also may disappear when building libraries with a different baseline, or with different optimization options (e.g. with -O3, or with -flto). I haven't checked if symbols also differ with the use of different compilers. There are at least two other tools which seem to be better suited for such checks: - abi-compliance-checker, dh-acc, maintained by Google, last release 2018 - libabigail, maintained by Red Hat, last release 2021 I might be biased with libabigail, maintaining the package in Debian, and adding the .deb support upstream in addition to the existing rpm support. The idea would be to have a libfooN.symbols.{acc,abigail} file and then use that information to generate a symbols file, and automagically adding all "other" symbols that exist and marking these as optional. Another scenario could be the use of a libfooN.abigail to directly base the generation of dependencies on the provided ABI information, and using these ABI descriptions as a replacement for a symbols file. A check unrelated to the build time of a package could be a britney check to run abipkgdiff(1) on package versions from the testing and unstable sources (assuming that the dbg packages are also available). ------------=_1780801142-1244177-0 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 985986-done) by bugs.debian.org; 7 Jun 2026 02:56:37 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02 (2024-03-25) on buxtehude.debian.org X-Spam-Level: X-Spam-Status: No, score=-110.5 required=4.0 tests=ALL_TRUSTED,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FROMDEVELOPER, HAS_BUG_NUMBER,SPF_HELO_NONE,SPF_NONE,USER_IN_DKIM_WELCOMELIST autolearn=ham autolearn_force=no version=4.0.1-bugs.debian.org_2005_01_02 X-Spam-Bayes: score:0.0000 Tokens: new, 34; hammy, 150; neutral, 133; spammy, 0. spammytokens: hammytokens:0.000-+--Hx-spam-relays-external:36ff, 0.000-+--H*r:36ff, 0.000-+--H*RT:sk:master., 0.000-+--H*RT:36ff, 0.000-+--H*RT:216 Return-path: <[email protected]> Received: from master.debian.org ([2001:41b8:202:deb:216:36ff:fe40:4001]:50924) by buxtehude.debian.org with esmtps (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.96) (envelope-from <[email protected]>) id 1wW3gj-005DFb-0K for [email protected]; Sun, 07 Jun 2026 02:56:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debian.org; s=smtpauto.master; h=In-Reply-To:Content-Type:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Cc:Content-Transfer-Encoding: Content-ID:Content-Description; bh=weMxQ9lZsirHbFELpkYSr+iqoNzZ/l+bnSCHPir0pGk=; b=gYzxOkj5JMZIOFtC3LKYR+U8eN UVHNQ7dnMM/ndg50kfhhWK3JyhvmiLbNEwtvNDCzcqwKS8LiiDuMvTlkrwwykJG+uho10bDCsIsUY /dUDWiYGjOwdpN32ITmO21iZbeBg9JKWFZjZPxANhDp0dz4oJ7oEqJRji6V+2YEz2A7ma9Z5vcxZz FnH+dISTE2/lc9l5gr1MOaVjy1Ogmqx9hCqO7pzPbLuuUVrekxQbSNWM0u/sexYEsL50ENHGliYAr VzdYizsU7ZynNyZAuxZ9v+Ho3HWA8IOUklQxu877b2D+5eZOQpGSVY0ANmU1oRSoc+PmJZVMYLkNo roXQi1KA==; Received: from guillem by master.debian.org with local (Exim 4.96) (envelope-from <[email protected]>) id 1wW3gh-00CXmb-1H; Sun, 07 Jun 2026 02:56:35 +0000 Date: Sun, 7 Jun 2026 04:56:34 +0200 From: Guillem Jover <[email protected]> To: Matthias Klose <[email protected]>, [email protected] Subject: Re: Bug#985986: deprecating/replacing symbols files for C++ libraries Message-ID: <[email protected]> References: <[email protected]> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <[email protected]> Hi! On Sat, 2021-03-27 at 14:32:58 +0100, Matthias Klose wrote: > [ Starting this as a discussion, I have no proposal or even patches yet ] > > The current practice of checking for ABI compatibility of C++ shared libraries > is a bit cumbersome, and it's often not clear for package maintainers, which > symbols make an ABI, and belong into the symbols file (references to > destructors, vtables, instantiated symbols). We have work-arounds of marking > such symbols as optional, but these are all marked on an ad-hoc basis when these > are not found for a failing build. Symbols also may disappear when building > libraries with a different baseline, or with different optimization options > (e.g. with -O3, or with -flto). I haven't checked if symbols also differ with > the use of different compilers. > > There are at least two other tools which seem to be better suited for such checks: > > - abi-compliance-checker, dh-acc, maintained by Google, > last release 2018 > > - libabigail, maintained by Red Hat, last release 2021 > > I might be biased with libabigail, maintaining the package in Debian, and adding > the .deb support upstream in addition to the existing rpm support. > > The idea would be to have a libfooN.symbols.{acc,abigail} file and then use that > information to generate a symbols file, and automagically adding all "other" > symbols that exist and marking these as optional. > > Another scenario could be the use of a libfooN.abigail to directly base the > generation of dependencies on the provided ABI information, and using these ABI > descriptions as a replacement for a symbols file. > > > A check unrelated to the build time of a package could be a britney check to run > abipkgdiff(1) on package versions from the testing and unstable sources > (assuming that the dbg packages are also available). When I looked into this for a thread on debian-devel, it didn't seem like abigail would be a great candidate for this, see <https://lists.debian.org/debian-devel/2025/09/msg00203.html> and further replies. I think something that might help would be to try to integrate properly several of the modifications done by the KDE team back into dpkg, but some of those require generalizing and better toolchain integration, etc. As it is, I'm not seeing much path forward for this proposal, so I'm going to close it for now. If a better plan comes up, please feel free to reopen or file a new report. Thanks, Guillem ------------=_1780801142-1244177-0--