libxml2 is dropping xml2-config

Started by Christoph Bergalmost 6 years ago6 messages
#1Christoph Berg
myon@debian.org

Debian reports that libxml2 is dropping the xml2-config binary:

Date: Mon, 20 Jan 2020 20:42:47 +0100
From: Mattia Rizzolo <mattia@debian.org>
Reply-To: Mattia Rizzolo <mattia@debian.org>, 949428@bugs.debian.org
Subject: Bug#949428: postgresql-12: FTBFS with libxml2 2.9.10 (uses xml2-config)

Source: postgresql-12
Version: 12.1-2
Severity: important
Tags: ftbfs
User: libxml2@packages.debian.org
Usertags: ftbfs-2.9.10 xml2-config

Dear maintainer,

your package is using `xml2-config` to detect and use libxml2. I'm
removing that script, so please update your build system to use
pkg-config instead.

The libxml2 package in experimental already doesn't ship the xml2-config
script.

Attached is the full build log, hopefully relevant excerpt follows:

checking for xml2-config... no
...
configure: error: header file <libxml/parser.h> is required for XML support

[...]
----- End forwarded message -----

Luckily the ./configure script is compatible enough so that this hack
works: (tested on master)

./configure --with-libxml XML2_CONFIG='pkg-config libxml-2.0'
[...]
checking for XML2_CONFIG... pkg-config libxml-2.0
[...]
checking for xmlSaveToBuffer in -lxml2... yes
[...]
checking libxml/parser.h usability... yes
checking libxml/parser.h presence... yes
checking for libxml/parser.h... yes

We should teach configure.in to recognize that natively as well, I
guess.

Christoph

#2Christoph Berg
myon@debian.org
In reply to: Christoph Berg (#1)
Re: libxml2 is dropping xml2-config

Re: To PostgreSQL Hackers 2020-01-20 <20200120204715.GA73984@msg.df7cb.de>

Debian reports that libxml2 is dropping the xml2-config binary:

Please disregard that, I had assumed this was a change made by libxml2
upstream. I'm in contact with the libxml2 Debian maintainer to get
that change off the table.

We should teach configure.in to recognize that natively as well, I
guess.

(Putting in support for pkg-config still makes sense, though.)

Christoph

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Christoph Berg (#2)
Re: libxml2 is dropping xml2-config

Christoph Berg <myon@debian.org> writes:

Re: To PostgreSQL Hackers 2020-01-20 <20200120204715.GA73984@msg.df7cb.de>

Debian reports that libxml2 is dropping the xml2-config binary:

Please disregard that, I had assumed this was a change made by libxml2
upstream. I'm in contact with the libxml2 Debian maintainer to get
that change off the table.

I was wondering about that --- I had thought libxml2 upstream was
not terribly active anymore.

(Putting in support for pkg-config still makes sense, though.)

Perhaps. Are there any platforms where libxml2 doesn't install a
pkg-config file? What are we supposed to do if there's no pkg-config?
(The workaround we have for that with ICU is sufficiently bletcherous
that I'm not eager to replicate it for libxml2...)

regards, tom lane

#4David Steele
david@pgmasters.net
In reply to: Tom Lane (#3)
Re: libxml2 is dropping xml2-config

On 1/20/20 5:51 PM, Tom Lane wrote:

Christoph Berg <myon@debian.org> writes:

Re: To PostgreSQL Hackers 2020-01-20 <20200120204715.GA73984@msg.df7cb.de>

Debian reports that libxml2 is dropping the xml2-config binary:

Perhaps. Are there any platforms where libxml2 doesn't install a
pkg-config file? What are we supposed to do if there's no pkg-config?
(The workaround we have for that with ICU is sufficiently bletcherous
that I'm not eager to replicate it for libxml2...)

Yes -- at least Ubuntu < 18.04 does not install pkg-config for libxml2.
I have not checked Debian yet, but I imagine < 8 will have the same issue.

RHEL/CentOS 6/7 look OK and I'm betting 8 is OK as well.

So, based on my limited testing thus far it is not universally
supported, even on non-EOL distros.

Christoph, are you saying we perhaps won't need to make this change?

Regards,
--
-David
david@pgmasters.net

#5Christoph Berg
myon@debian.org
In reply to: David Steele (#4)
Re: libxml2 is dropping xml2-config

Re: Tom Lane 2020-01-21 <6994.1579567876@sss.pgh.pa.us>

(Putting in support for pkg-config still makes sense, though.)

Perhaps. Are there any platforms where libxml2 doesn't install a
pkg-config file? What are we supposed to do if there's no pkg-config?

I can't comment on the libxml2 part, but making pkg-config a hard
requirement to build PG would probably be a safe bet nowadays. (I'm
still not arguing that we should.)

Re: David Steele 2020-01-21 <95349047-31dd-c7dc-df17-b488c2d3441f@pgmasters.net>

Yes -- at least Ubuntu < 18.04 does not install pkg-config for libxml2. I
have not checked Debian yet, but I imagine < 8 will have the same issue.

That is not true, I just verified that both 16.04 and 14.04 (already
EOL) have a working `pkg-config libxml-2.0 --libs`.

Christoph, are you saying we perhaps won't need to make this change?

I'm saying that the Debian libxml2 maintainer shouldn't try to make
this change unilaterally without libxml2 upstream.

Christoph

#6David Steele
david@pgmasters.net
In reply to: Christoph Berg (#5)
Re: libxml2 is dropping xml2-config

On 1/23/20 7:09 AM, Christoph Berg wrote:

Re: David Steele 2020-01-21

<95349047-31dd-c7dc-df17-b488c2d3441f@pgmasters.net>

Yes -- at least Ubuntu < 18.04 does not install pkg-config for

libxml2. I

have not checked Debian yet, but I imagine < 8 will have the same issue.

That is not true, I just verified that both 16.04 and 14.04 (already
EOL) have a working `pkg-config libxml-2.0 --libs`.

You are correct. My build script was not explicitly installing
pkg-config on <= 16.04. 12.04 also seems to work fine.

Regards,
--
-David
david@pgmasters.net