Skip site navigation (1)Skip section navigation (2)
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>