Date: Wed, 16 Jun 1999 10:46:16 -0400 (EDT) From: Spidey <beaupran@jsp.umontreal.ca> To: Nik Clayton <nclayton@lehman.com> Cc: freebsd-doc@freebsd.org Subject: Re: Problems making the handbook in stable Message-ID: <14183.47288.83543.419499@freed.dyn.ez-ip.net> References: <199906152359.AAA10668@lonmailhost.lehman.com> <19990616104716.U15628@lehman.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Ok.. here we go again... :)
--- Big Brother told Nik Clayton to write, at 10:47 of June 16:
> On Tue, Jun 15, 1999 at 06:30:59PM -0400, Spidey wrote:
[...]
> > /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.
lrwxr-xr-x 1 root wheel 43 Jun 15 17:31 /usr/local/share/sgml/docbook/catalog -> /usr/local/share/sgml/docbook/2.4.1/catalog
The file wasn't there before I made the symlink... I tried doing a
symlink to the 2.4.1 _and_ to the 3.0 directory..
> > /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.
if you say so...
> 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).
ok. Hum.. There is no /usr/share/doc/sgml directory. Oups.
> 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.
Same problem as above.
> 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).
Well that is the one used on the 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.
Ah... There is the problem.. My catalog file is simply a symlink to
_one_ catalog (2.4.1 for now). How can I restore the file? What does
it look like? And how come I didn't have it on my system???
It should have been installed with the ports... hum... Which port of
the meta-port dependencies?
> If you look in /usr/local/share/sgml/docbook/3.1/catalog you should see
> a line that looks something like
I have no /usr/local/share/sgml/docbook/3.1 directory.
But in the 3.0 dir, the catalog file looks like this:
-- Catalog file for Docbook 3.0 --
-- DTDDECL "-//Davenport//DTD DocBook V3.0//EN" "docbook.dcl" --
PUBLIC "-//Davenport//DTD DocBook V3.0//EN" "docbook.dtd"
PUBLIC "-//USA-DOD//DTD Table Model 951010//EN" "cals-tbl.dtd"
PUBLIC "-//Davenport//ELEMENTS DocBook Information Pool V3.0//EN" "dbpool.mod"
PUBLIC "-//Davenport//ELEMENTS DocBook Document Hierarchy V3.0//EN" "dbhier.mod"
PUBLIC "-//Davenport//ENTITIES DocBook Additional General Entities V3.0//EN" "dbgenent.mod"
CATALOG "/usr/local/share/sgml/iso8879/catalog"
> PUBLIC "-//OASIS//DTD DocBook V3.1//EN" docbook.dtd
>
> which is what does the mapping between the FPI and the file name (system
> identifier).
ok.
> This file is created when you install the docbook meta-port.
Hum.. Seems not. I reinstalled the port yesterday, and updated all the
ports I could to the latest version. There is something wrong here. In
which (non-meta) port is this file supposed to be?
> > /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.
Indeed! The directory isn't even there!!!
> > /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.
ok.. I think I got it...
> > /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.
200 indeed.
> > Has _anyone_ built this darn handbook???
>
> Yep :-) hub.freebsd.org successfully rebuilds it at 0400 every morning as
> well.
That's what I thought. But since I installed FBSD 3.0R, I've never
been able to clear this matter. Even if I follow stable now.
> > 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,
Ok.. the docbook port...
> # cd /usr/ports/textproc/docbook
> # make deinstall
> # make install
I just did this. But I'll do it again. This time with no symlink!
> 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.
Nah. Make deinstall uses 'pkg_delete -f', which forces the deletion
even if there are dependencies.
> Then verify the /usr/local/share/sgml/docbook/catalog file has been created.
Ok.
> > Sorry if this is out of context for the list,
>
> It's not, don't worry.
Great! I see that I have more info and I feel I'll get through it this
time...
> > I use a 3.2-stable system,
>
> So do I, so that shouldn't be a factor at all.
ok. Here I go with the ports stuff:
# first, I'll remove my stupid symlink...
root@freed [10:34am] spidey# rm /usr/local/share/sgml/docbook/catalog
root@freed [10:34am] spidey# cd /usr/ports/textproc/docbook
docbook docbook-241 docbook-300 docbook-310 docbook-xml
# ah? there's more than one docbook? hum..
root@freed [10:34am] spidey# cd /usr/ports/textproc/docbook
root@freed [10:34am] docbook# make deinstall
===> Deinstalling for docbook-1.0
pkg_delete: no such package 'docbook-1.0' installed
*** Error code 1
Stop.
# wouah... Oups. That is rather strange. I made the install in the
# meta-port!!!
# How come it's not installed?? I must have confused when updating the
# ports..
# which docbook do I have installed:
root@freed [10:34am] docbook# pkg_find docbook
docbook-3.0
dsssl-docbook-modular-1.40
root@freed [10:34am] docbook# make install clean
===> Extracting for docbook-1.0
[... here we go again...]
===> Generating temporary packing list
echo 'CATALOG "2.4.1/catalog"' > /usr/local/share/sgml/docbook/catalog
echo 'CATALOG "3.0/catalog"' >> /usr/local/share/sgml/docbook/catalog
echo 'CATALOG "3.1/catalog"' >> /usr/local/share/sgml/docbook/catalog
[... that should do it ...]
===> Registering installation for docbook-1.0
[...]
root@freed [10:37am] docbook#
Ok! It should work fine now!!!
Check if the meta port is OK:
root@freed [10:38am] docproj# make JADETEX=no install
root@freed [10:39am] docproj# cd /usr/doc
[let's do it!]
root@freed [10:39am] doc# make DOC_LANG=en
===> FAQ
===> en
===> en/handbook
root@freed [10:39am] doc# make DOC_LANG=en install
[wweeeeeepeeee!]
===> FAQ
install -c -o root -g wheel -m 444 FAQ*.html /usr/share/doc/FAQ
if [ -f /usr/doc/FAQ/FAQ.ln ]; then (cd /usr/share/doc/FAQ; sh /usr/doc/FAQ/FAQ.ln); fi
install -c -o root -g wheel -m 444 FAQ.latin1 /usr/share/doc/FAQ
install -c -o root -g wheel -m 444 FAQ.ascii /usr/share/doc/FAQ
===> en
===> en/handbook
install -c -o root -g wheel -m 444 `xargs < HTML.manifest` /usr/share/doc/handbook; if [ -f /usr/doc/en/handbook/handbook.ln ]; then (cd /usr/share/doc/handbook; sh /usr/doc/en/handbook/handbook.ln); fi
root@freed [10:39am] doc#
It's working dam'it! I just can't believe it! I even thought that your
whole cvs tree was wrong... stupid me.
Well.. hum... there's something though...
root@freed [10:42am] doc# cd /usr/share/doc/handbook/
root@freed [10:42am] handbook# ls
development.html history.html introduction.html
goals.html index.html p33.html
root@freed [10:42am] handbook# wc -l *
184 development.html
170 goals.html
261 history.html
250 index.html
597 introduction.html
147 p33.html
1609 total
root@freed [10:42am] handbook#
isn't there something missing????? There's only _ONE_ section to the
handbook, and it's "getting started".
What did I do wrong again... At least I don't get thousands of errors
from jade!!!
> Let me know how you get on.
Well that's about it... that's the most I can do for now...
thanks a lot for the prompt answer!
ants.
--
Stop the bombings.
Stop the murders.
Anti-war.
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?14183.47288.83543.419499>
