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

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Aleksander Alekseev <aleksander@timescale.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2023-01-31T07:43:56Z
Lists: pgsql-hackers
On 30.01.23 20:04, Aleksander Alekseev wrote:
> I would appreciate it if you could help figuring out how to do this
> for MacPorts, since I'm not a MacPorts user. I'll figure out how to do
> this for Homebrew.

I'm on macOS Monterey and Homebrew.  I'm sure I have gone through many 
variations of this setup, but checking what I happen to be using right 
now, Makefile.global says

XMLLINT         = /usr/bin/xmllint
XSLTPROC        = /usr/bin/xsltproc

and in the environment there is

XML_CATALOG_FILES=/usr/local/etc/xml/catalog

Just testing this right now, you can avoid having to set this 
environment variable by making the default catalog file /etc/xml/catalog 
include /usr/local/etc/xml/catalog.

It also works for me to use the Homebrew-provided versions of these tools:

XMLLINT         = /usr/local/opt/libxml2/bin/xmllint
XSLTPROC        = /usr/local/opt/libxslt/bin/xsltproc

But I can't determine right now what catalog file they look at by 
default.  It appears that it's neither /etc/xml/catalog nor 
/usr/local/etc/xml/catalog.  So in this case, setting XML_CATALOG_FILES 
is necessary.

For either sets of tools, the automatic download option doesn't appear 
to work anymore.  This probably has to do with either the https or the 
redirects that have been mentioned.




Commits

  1. docs: meson: Change what 'docs' target builds

  2. doc: Fix XML_CATALOG_FILES env var for Apple Silicon machines

  3. doc: fix Apple Silicon Homebrew prefix change documentation

  4. doc: Fix XML_CATALOG_FILES env var for Apple M1 machines

  5. Stop recommending auto-download of DTD files, and indeed disable it.