Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Jun 1999 10:47:16 +0100
From:      Nik Clayton <nclayton@lehman.com>
To:        beaupran@jsp.umontreal.ca, freebsd-doc@freebsd.org
Subject:   Re: Problems making the handbook in stable
Message-ID:  <19990616104716.U15628@lehman.com>
In-Reply-To: <199906152359.AAA10668@lonmailhost.lehman.com>; from Spidey on Tue, Jun 15, 1999 at 06:30:59PM -0400
References:  <199906152359.AAA10668@lonmailhost.lehman.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jun 15, 1999 at 06:30:59PM -0400, Spidey wrote:
> I already talked about this with Nik Clayton, but I'm still stuck.

Hi again. . .

> here is my supfile:
> 
> --
> *default host=cvsup.FreeBSD.org
> *default base=/usr
> *default prefix=/usr
> *default release=cvs tag=.
> *default delete use-rel-suffix
> *default compress
> doc-all
> --

Looks fine.

> /usr/local/bin/jade -V html-manifest -ioutput.html  -c /usr/doc/share/sgml/catalog -c /usr/local/share/sgml/docbook/dsssl/modular/catalog -c /usr/local/share/sgml/docbook/catalog -c /usr/local/share/sgml/jade/catalog  -d /usr/doc/share/sgml/freebsd.dsl -t sgml handbook.sgml

Verify that all the file names in that command line exist.  In particular,
/usr/local/share/sgml/docbook/catalog.

> /usr/local/bin/jade:/usr/doc/share/sgml/freebsd.dtd:54:63:W: cannot generate system identifier for public text "-//OASIS//DTD DocBook V3.1//EN"

This is the root of the problem.  

The handbook starts:

   <!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
   ...
   ]>

Jade has successfully converted that FPI in to the filename 
/usr/share/doc/sgml/freebsd.dtd (by reading in /usr/share/doc/sgml/catalog).

If you look at freebsd.dtd you will see that it is a customisation layer
around the DocBook DTD.  So it needs to include the entirety of the DocBook
DTD within it.

In freebsd.dtd you will see the lines

   <!-- Pull in the original DTD -->
   <!ENTITY % orig-docbook PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
   %orig-docbook;

As before, Jade will need to convert "-//OASIS//DTD DocBook V3.1//EN" 
in to the name of a file on your system.  Jade's term for a filename in this
context is a "system identifier", and it looks these up using a catalog
file in the same way that it used doc/share/sgml/catalog for the freebsd.dtd
file.

In this case, the catalog file that Jade should be using is 
/usr/local/share/sgml/docbook/catalog (it's one of the "-c" options to 
Jade in the original command line).

If you look in this file, it should contain just three entries, all starting
with "CATALOG", and pointing at catalog files in the three subdirectories
that correspond with the 3 different versions of the DocBook DTD you should
have installed (2.4.1, 3.0, and 3.1).  This is legal, catalog files are 
allowed to point to other catalog files like this.

If you look in /usr/local/share/sgml/docbook/3.1/catalog you should see
a line that looks something like

    PUBLIC "-//OASIS//DTD DocBook V3.1//EN" docbook.dtd

which is what does the mapping between the FPI and the file name (system
identifier).

This file is created when you install the docbook meta-port.

> /usr/local/bin/jade:/usr/doc/share/sgml/freebsd.dtd:55:13:E: reference to entity "orig-docbook" for which no system identifier could be generated

This error message means that something in the above chain of steps has
gone wrong.  Jade has failed to find the DocBook 3.1 DTD -- this means
that most of the element and entity definitions are missing, and Jade is
about to get *very* confused.

> /usr/local/bin/jade:/usr/doc/share/sgml/freebsd.dtd:62:24:E: parameter entity "cptr.char.mix" not defined

Here, for example -- this entity is defined in DocBook 3.1, Jade can't find
it, hence the error.

> /usr/local/bin/jade:introduction/chapter.sgml:392:6:E: element "TERM" undefined

Likewise -- no DTD found, no elements defined.  Jade will print about 200
or so errors before giving up.

> Has _anyone_ built this darn handbook???

Yep :-)  hub.freebsd.org successfully rebuilds it at 0400 every morning as
well.

> How. Why. 

Work through the description above, and see if you can see what's missing.
Try de-installing and re-installing the docbook meta-port,

    # cd /usr/ports/textproc/docbook
    # make deinstall
    # make install

You might need to add a command line option to "make deinstall" to get it
to remove itself completely, because it might complain that other ports
depend on it.  If so, show no mercy, blow it away completely and reinstall
it.

Then verify the /usr/local/share/sgml/docbook/catalog file has been created.

> Sorry if this is out of context for the list, 

It's not, don't worry.

> I use a 3.2-stable system, 

So do I, so that shouldn't be a factor at all.

Let me know how you get on.

N
-- 
--+==[ Systems Administrator, Year 2000 Test Lab, Lehman Brothers, Inc. ]==+--
--+==[      1 Broadgate, London, EC2M 7HA     0171-601-0011 x5514       ]==+--
--+==[              Year 2000 Testing: It's about time. . .             ]==+--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-doc" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990616104716.U15628>