Hi Aron,

On Wed, 29 May 2024 14:16:47 +0800 Aron Xu <a...@debian.org> wrote:
> They all seem to fail with:
>
> Warning: program compiled against libxml 212 using older 209
>
> and this comes from libxml:
>
> 
https://sources.debian.org/src/libxml2/2.12.7+dfsg-2/parserInternals.c/?hl=79#L79
>
>     if ((myversion / 100) < (version / 100)) {
>         xmlGenericError(xmlGenericErrorContext,
>                 "Warning: program compiled against libxml %d using older 
%d\n",
>                 (version / 100), (myversion / 100));
>     }
>
>
> Not sure if this is should be fixed in libxml2 or if we should add an
> artifical dependency on a newer libxml2 (to avoid testing against the
> version in testing). The former sounds more logic to me.
>

Although it looks trivial to remove the warning from libxml2, I'm
reluctant since this piece of code existed for a very long time, a
random check shows that version 2.2.3 (in 2000) has the logic:
https://gitlab.gnome.org/GNOME/libxml2/-/blob/04698d9e1c56467007fcbb9472e5db67cf5938f5/parserInternals.c#L66
It seems wrong to me for a library in a distribution like Debian to warn on version mismatch. I know we're having the discussion about SONAME bumps in libxml2 for a reason, but if a library breaks its ABI, it must bump its SONAME. If it doesn't break its ABI, the warning is useless (in a distribution like Debian). To me the presence of the warning in the upstream code is in line with the impression that libxml2 upstream doesn't understand how distributions handle libraries.

Paul

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to