Re: MacOS: xsltproc fails with "warning: failed to load external entity"

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Aleksander Alekseev <aleksander(at)timescale(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
Subject: Re: MacOS: xsltproc fails with "warning: failed to load external entity"
Date: 2023-01-31 23:54:31
Message-ID: 1275436.1675209271@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I wrote:
> It's worse than that: I find that
> export XML_CATALOG_FILES=/dev/null
> breaks the docs build on RHEL8 and Fedora 37 (latest) too, with the
> same "failed to load external entity" symptom. I conclude from this
> that there is no version of xsltproc anywhere that can still download
> the required files automatically. So we need to take out the advice
> that says you can rely on auto-download for everybody, not just macOS.

> If this is indeed the case, perhaps we ought to start inserting --nonet
> into the invocations. There's not much use in allowing these tools to
> perform internet access when the best-case scenario is that they fail.

Concretely, I'm thinking something like the attached. Notes:

1. I have not tested the meson changes.

2. As this is written, you can't override the --nonet options very
easily in the Makefile build (you could do so at runtime by setting
XSLTPROC, but not at configure time); and you can't override them at
all in the meson build. Given the lack of evidence that it's still
useful to allow net access, I'm untroubled by that. I did intentionally
skip using "override" in the Makefile, though, to allow that case.

3. For consistency with the directions for other platforms, I made
the package lists for macOS just mention libxslt. That should
be enough to pull in libxml2 as well.

4. Use of --nonet changes the error message you get if xsltproc
can't find the DTDs. I copied the error I get from MacPorts'
version of xsltproc, but can you confirm it's the same on Homebrew?

regards, tom lane

Attachment Content-Type Size
force-use-of-nonet-for-docs-build-1.patch text/x-diff 4.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jacob Champion 2023-02-01 00:00:42 Re: [PoC] Let libpq reject unexpected authentication requests
Previous Message Jeff Davis 2023-01-31 23:33:10 Re: Rework of collation code, extensibility