[Aptitude-devel] Bug#948341: Bug#948338: [libapt-pkg-dev] apt-pkg headers pollute preprocessor namespace
Julian Andres Klode
jak at debian.org
Tue Jan 7 15:18:54 GMT 2020
Control: tag -1 - wontfix
On Tue, Jan 07, 2020 at 03:56:08PM +0100, Julian Andres Klode wrote:
> Control: clone -1 -2
> Control: reassign -2 aptitude
> Control: tag -1 wontfix
>
> On Tue, Jan 07, 2020 at 03:16:18PM +0100, Giovanni Mascellani wrote:
> > Package: libapt-pkg-dev
> > Version: 1.8.4
> > Severity: normal
> >
> > Hi,
> >
> > apt-pkg headers pollute the preprocessor namespace, causing breakage in
> > unrelated libraries; for example, /usr/include/apt-pkg/error.h contains
> > the following line:
> >
> > #define _error _GetErrorObj()
>
> There's nothing we can do about that, sorry. _error is a vital part of
> the API.
I spoke too soon, we can turn the define into
static struct {
inline GlobalError* operator ->() { return _GetErrorObj(); }
} _error APT_UNUSED;
I guess. Adding this to the next 1.9 upload for experimental.
I mean, we could also make _error a GlobalError directly and add
the operator->() to that with the next ABI break. OK, I guess we'd
make it an GlobalError:instance then and add a using
_error = GlobalError:instance or something to avoid using
_error as a symbol name.
>
> > This will cause aptitude to FTBFS as soon as boost1.71 is made the
> > default Boost version, so please fix this as soon as possible.
>
> This is going to need a change in aptitude then.
Assuming this works well, the fixed version will hit unstable around
March. Obviously aptitude can still fix it themselves, by including
the apt headers last.
--
debian developer - deb.li/jak | jak-linux.org - free software dev
ubuntu core developer i speak de, en
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/aptitude-devel/attachments/20200107/ce42813b/attachment.sig>
More information about the Aptitude-devel
mailing list