9.5 make world failing due to sgml tools missing

Started by Keith Fiskeover 10 years ago10 messages
#1Keith Fiske
keith@omniti.com
1 attachment(s)

The current HEAD of postgres in the git repo is not building when using
"make world". It's been like this for about a month or so that I've been
aware of. I didn't really need the world build so been making due without
it. At PGCon now, though, so asked Bruce and he said this error was due to
my not having the sgml tools installed, which should not be a requirement.

Brief part of the compile output is below with the error at the end. Full
output is attached.

[...]
sgml2xml:xml2.sgml:379:8:W: reference to internal SDATA entity "gt" not
allowed in XML
sgml2xml:oid2name.sgml:157:42:W: reference to internal SDATA entity "mdash"
not allowed in XML
sgml2xml:docguide.sgml:1053:0:W: reference to internal SDATA entity "lt"
not allowed in XML
sgml2xml:docguide.sgml:1053:61:W: reference to internal SDATA entity "gt"
not allowed in XML
'/usr/bin/perl' -p -e
's/\[(aacute|acirc|aelig|agrave|amp|aring|atilde|auml|bull|copy|eacute|egrave|gt|iacute|lt|mdash|nbsp|ntilde|oacute|ocirc|oslash|ouml|pi|quot|scaron|uuml)
*\]/\&\1;/gi;' \
-e '$_ .= qq{<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook
XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd&quot;&gt;\n}
if $. == 1;' \
<postgres.xmltmp > postgres.xml
rm postgres.xmltmp
/bin/sh ../../../config/missing xmllint --noout --valid postgres.xml
***
ERROR: `xmllint' is missing on your system.
***
make[3]: *** [man-stamp] Error 1
make[3]: Leaving directory `/home/keith/Repos/postgres/doc/src/sgml'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/keith/Repos/postgres/doc/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/keith/Repos/postgres/doc'
make: *** [world-doc-recurse] Error 2
--
Keith Fiske
Database Administrator
OmniTI Computer Consulting, Inc.
http://www.keithf4.com

Attachments:

xmllint_error.txttext/plain; charset=US-ASCII; name=xmllint_error.txtDownload
#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Keith Fiske (#1)
Re: 9.5 make world failing due to sgml tools missing

Keith Fiske <keith@omniti.com> writes:

The current HEAD of postgres in the git repo is not building when using
"make world". It's been like this for about a month or so that I've been
aware of. I didn't really need the world build so been making due without
it. At PGCon now, though, so asked Bruce and he said this error was due to
my not having the sgml tools installed, which should not be a requirement.

Dunno about "about a month"; this seems to have come in with commit
5d93ce2d0c619ba1 from last October. But yes, that commit moved the
goalposts in terms of what is required to build the documentation.
You now must have xmllint which is something supplied by libxml2.

I am not sure this is a good thing, especially since xmllint is only
doing checking, which is of little use to consumers of the documentation.
Maybe if xmllint is not found, we should just skip the checking steps
rather than hard failing?

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#3Joshua D. Drake
jd@commandprompt.com
In reply to: Tom Lane (#2)
Re: 9.5 make world failing due to sgml tools missing

On 06/17/2015 01:07 PM, Tom Lane wrote:

Keith Fiske <keith@omniti.com> writes:

The current HEAD of postgres in the git repo is not building when using
"make world". It's been like this for about a month or so that I've been
aware of. I didn't really need the world build so been making due without
it. At PGCon now, though, so asked Bruce and he said this error was due to
my not having the sgml tools installed, which should not be a requirement.

Dunno about "about a month"; this seems to have come in with commit
5d93ce2d0c619ba1 from last October. But yes, that commit moved the
goalposts in terms of what is required to build the documentation.
You now must have xmllint which is something supplied by libxml2.

I am not sure this is a good thing, especially since xmllint is only
doing checking, which is of little use to consumers of the documentation.
Maybe if xmllint is not found, we should just skip the checking steps
rather than hard failing?

If they are building from source, this does not seem to be an
unrealistic package to require.

JD

regards, tom lane

--
Command Prompt, Inc. - http://www.commandprompt.com/ 503-667-4564
PostgreSQL Centered full stack support, consulting and development.
Announcing "I'm offended" is basically telling the world you can't
control your own emotions, so everyone else should do it for you.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#4Peter Eisentraut
peter_e@gmx.net
In reply to: Keith Fiske (#1)
Re: 9.5 make world failing due to sgml tools missing

On 6/17/15 3:35 PM, Keith Fiske wrote:

The current HEAD of postgres in the git repo is not building when using
"make world". It's been like this for about a month or so that I've been
aware of. I didn't really need the world build so been making due
without it. At PGCon now, though, so asked Bruce and he said this error
was due to my not having the sgml tools installed, which should not be a
requirement.

make world has always required documentation build tools.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#5Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Peter Eisentraut (#4)
Re: 9.5 make world failing due to sgml tools missing

Peter Eisentraut wrote:

On 6/17/15 3:35 PM, Keith Fiske wrote:

The current HEAD of postgres in the git repo is not building when using
"make world". It's been like this for about a month or so that I've been
aware of. I didn't really need the world build so been making due
without it. At PGCon now, though, so asked Bruce and he said this error
was due to my not having the sgml tools installed, which should not be a
requirement.

make world has always required documentation build tools.

Also,
/messages/by-id/1399429219.5361.10.camel@vanquo.pezone.net

I'm of two minds about this. I wonder if there's a sensible way to have
things not fail when xmllint is not installed but the documentation
hasn't been patched. Maybe $(missing) wasn't the right thing to use in
all these targets -- perhaps we could spare the hard error for some
users.

What "make world" does is call "make all" in doc/src/sgml, and that in
turn depends on html and man. As far as I can see, only man-stamp fails
if xmllint is not present. Can we just skip the xmllint step if xmllint
not present in that rule, and that rule only?

To replace that, we could have "make check" in docs do the xmllint run
(that's where we have the check-tabs rule also).

--
�lvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#6Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#4)
Re: 9.5 make world failing due to sgml tools missing

Peter Eisentraut <peter_e@gmx.net> writes:

On 6/17/15 3:35 PM, Keith Fiske wrote:

The current HEAD of postgres in the git repo is not building when using
"make world". It's been like this for about a month or so that I've been
aware of. I didn't really need the world build so been making due
without it. At PGCon now, though, so asked Bruce and he said this error
was due to my not having the sgml tools installed, which should not be a
requirement.

make world has always required documentation build tools.

Sure; the point is that libxml2 has suddenly been reclassified as a
documentation build tool, which is at least a surprising categorization.

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#7Peter Eisentraut
peter_e@gmx.net
In reply to: Tom Lane (#6)
Re: 9.5 make world failing due to sgml tools missing

On 6/18/15 8:54 AM, Tom Lane wrote:

Sure; the point is that libxml2 has suddenly been reclassified as a
documentation build tool, which is at least a surprising categorization.

libxml2 has been a required documentation build tool since PostgreSQL
9.0. The only thing that's new is that xmllint is in a different
subpackage on some systems. So just install that and you're all set for
the foreseeable future.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#8Keith Fiske
keith@omniti.com
In reply to: Peter Eisentraut (#7)
Re: 9.5 make world failing due to sgml tools missing

<http://www.keithf4.com&gt;

On Sun, Jun 21, 2015 at 10:56 AM, Peter Eisentraut <peter_e@gmx.net> wrote:

On 6/18/15 8:54 AM, Tom Lane wrote:

Sure; the point is that libxml2 has suddenly been reclassified as a
documentation build tool, which is at least a surprising categorization.

libxml2 has been a required documentation build tool since PostgreSQL
9.0. The only thing that's new is that xmllint is in a different
subpackage on some systems. So just install that and you're all set for
the foreseeable future.

Well, something is different in 9.5. On this same system (Linux Mint 17.1)
I can build all previous versions with "make world" and I do not get this
error.

#9Fabien COELHO
coelho@cri.ensmp.fr
In reply to: Keith Fiske (#8)
Re: 9.5 make world failing due to sgml tools missing

libxml2 has been a required documentation build tool since PostgreSQL
9.0. The only thing that's new is that xmllint is in a different
subpackage on some systems. So just install that and you're all set for
the foreseeable future.

Well, something is different in 9.5. On this same system (Linux Mint 17.1)
I can build all previous versions with "make world" and I do not get this
error.

Maybe the error on the missing tool was previously ignored (that is it
failed without saying so), and it is now reported?

It might be related to:

commit 5d93ce2d0c619ba1b408eb749715e7223e23f6ae
Author: Peter Eisentraut <peter_e@gmx.net>
Date: Tue Oct 21 14:46:38 2014 -0400

doc: Check DocBook XML validity during the build

Building the documentation with XSLT does not check the DTD, like a
DSSSL build would. One can often get away with having invalid XML, but
the stylesheets might then create incorrect output, as they are not
designed to handle that. Therefore, check the validity of the XML
against the DTD, using xmllint, during the build.

Add xmllint detection to configure, and add some documentation.

xmllint comes with libxml2, which is already in use, but it might be
in a separate package, such as libxml2-utils on Debian.

Reviewed-by: Fabien COELHO <coelho@cri.ensmp.fr>

--
Fabien.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#10Peter Eisentraut
peter_e@gmx.net
In reply to: Keith Fiske (#8)
Re: 9.5 make world failing due to sgml tools missing

On 6/23/15 1:06 AM, Keith Fiske wrote:

<http://www.keithf4.com&gt;

On Sun, Jun 21, 2015 at 10:56 AM, Peter Eisentraut <peter_e@gmx.net
<mailto:peter_e@gmx.net>> wrote:

On 6/18/15 8:54 AM, Tom Lane wrote:

Sure; the point is that libxml2 has suddenly been reclassified as a
documentation build tool, which is at least a surprising categorization.

libxml2 has been a required documentation build tool since PostgreSQL
9.0. The only thing that's new is that xmllint is in a different
subpackage on some systems. So just install that and you're all set for
the foreseeable future.

Well, something is different in 9.5. On this same system (Linux Mint
17.1) I can build all previous versions with "make world" and I do not
get this error.

Hence the use of the phrase "The only thing that's new ...". ;-)

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers