Thread: compiling the man-pages

compiling the man-pages

From
"Robert B. Easter"
Date:
When I was compiling the sgml man-pages, I got some messages like:

onsgmls  refentry.sgml ./ref/declare.sgml \
| sgmlspl /usr/local/share/sgml/docbook2X/docbook2man-spec.pl --lowercase
--section l
onsgmls:/usr/local/share/sgml/docbook/4.1/catalog:22:0:W: DTDDECL catalog
entries are not supported
onsgmls:./ref/declare.sgml:256:19:X: reference to non-existent ID "SQL-BEGIN"
onsgmls:./ref/declare.sgml:194:18:X: reference to non-existent ID "SQL-FETCH"
onsgmls:./ref/declare.sgml:257:40:X: reference to non-existent ID
"SQL-COMMIT-TITLE"
onsgmls:./ref/declare.sgml:259:42:X: reference to non-existent ID
"SQL-ROLLBACK-TITLE"
onsgmls:./ref/declare.sgml:257:19:X: reference to non-existent ID "SQL-COMMIT"
onsgmls:./ref/declare.sgml:259:19:X: reference to non-existent ID
"SQL-ROLLBACK"
onsgmls:./ref/declare.sgml:256:39:X: reference to non-existent ID
"SQL-BEGIN-TITLE"
onsgmls:./ref/declare.sgml:194:38:X: reference to non-existent ID
"SQL-FETCH-TITLE"

Are these messages normal or what did I miss?  I was in the doc/src/sgml
directory and I ran "make man".  The man-pages looked ok anyway.

--
-------- Robert B. Easter  reaster@comptechnews.com ---------
-- CompTechNews Message Board http://www.comptechnews.com/ --
-- CompTechServ Tech Services http://www.comptechserv.com/ --
---------- http://www.comptechnews.com/~reaster/ ------------

Re: compiling the man-pages

From
Peter Eisentraut
Date:
Robert B. Easter writes:

> When I was compiling the sgml man-pages, I got some messages like:
>
> onsgmls  refentry.sgml ./ref/declare.sgml \
> | sgmlspl /usr/local/share/sgml/docbook2X/docbook2man-spec.pl --lowercase
> --section l
> onsgmls:/usr/local/share/sgml/docbook/4.1/catalog:22:0:W: DTDDECL catalog
> entries are not supported
> onsgmls:./ref/declare.sgml:256:19:X: reference to non-existent ID "SQL-BEGIN"
> onsgmls:./ref/declare.sgml:194:18:X: reference to non-existent ID "SQL-FETCH"
> onsgmls:./ref/declare.sgml:257:40:X: reference to non-existent ID
> "SQL-COMMIT-TITLE"
> onsgmls:./ref/declare.sgml:259:42:X: reference to non-existent ID
> "SQL-ROLLBACK-TITLE"
> onsgmls:./ref/declare.sgml:257:19:X: reference to non-existent ID "SQL-COMMIT"
> onsgmls:./ref/declare.sgml:259:19:X: reference to non-existent ID
> "SQL-ROLLBACK"
> onsgmls:./ref/declare.sgml:256:39:X: reference to non-existent ID
> "SQL-BEGIN-TITLE"
> onsgmls:./ref/declare.sgml:194:38:X: reference to non-existent ID
> "SQL-FETCH-TITLE"
>
> Are these messages normal or what did I miss?  I was in the doc/src/sgml
> directory and I ran "make man".  The man-pages looked ok anyway.

If you look closely (not easy to do) then you will notice that the whole
compilation process is run twice.  The first time all the cross-references
will be undefined but the links are recorded in the file manpage.refs.
The second time whenever a cross-reference is encountered the correct link
will be inserted into the file.  (This is similar to how LaTeX operates.)

So yes, it is normal to see a lot of noise like this.  You will notice,
however, that even if you run this many times the warnings/errors will not
go away completely.  This is a missing feature in the docbook2man script,
but it can be patched.  The man pages will still look okay with the
exception that occasionally where you would like something like "see also
CREATE TABLE" you will get "see also [XRef to SQL-CREATE-TABLE]".

--
Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/


Re: compiling the man-pages

From
Peter Eisentraut
Date:
I wrote:

> If you look closely (not easy to do) then you will notice that the whole
> compilation process is run twice.  The first time all the cross-references
> will be undefined but the links are recorded in the file manpage.refs.
> The second time whenever a cross-reference is encountered the correct link
> will be inserted into the file.  (This is similar to how LaTeX operates.)
>
> So yes, it is normal to see a lot of noise like this.  You will notice,
> however, that even if you run this many times the warnings/errors will not
> go away completely.  This is a missing feature in the docbook2man script,
> but it can be patched.  The man pages will still look okay with the
> exception that occasionally where you would like something like "see also
> CREATE TABLE" you will get "see also [XRef to SQL-CREATE-TABLE]".

Scrap this explanation.  It's accurate, but it doesn't explain what you
are seeing.  The reason for the messages you get is that nsgmls is run on
each file separately, so when it sees an xref that's in a different file
it complains.  Since nsgmls doesn't do any formatting, just parsing, this
is not a fatal condition, and indeed docbook2man copes with it (via the
manpages.refs file).

I've been working with different makefile rules recently that don't
produce these messages anymore and run a lot faster.  I'll commit them
sometime this weekend.

--
Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/