From owner-freebsd-doc Wed Jun 16 7:46:19 1999 Delivered-To: freebsd-doc@freebsd.org Received: from freed.dyn.ez-ip.net (derby.JSP.UMontreal.CA [132.204.45.26]) by hub.freebsd.org (Postfix) with ESMTP id 286691523D for ; Wed, 16 Jun 1999 07:46:10 -0700 (PDT) (envelope-from spidey@freed.dyn.ez-ip.net) Received: (from spidey@localhost) by freed.dyn.ez-ip.net (8.9.3/8.9.3) id KAA57822; Wed, 16 Jun 1999 10:46:18 -0400 (EDT) (envelope-from spidey) From: Spidey MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14183.47288.83543.419499@freed.dyn.ez-ip.net> Date: Wed, 16 Jun 1999 10:46:16 -0400 (EDT) To: Nik Clayton Cc: freebsd-doc@freebsd.org Subject: Re: Problems making the handbook in stable References: <199906152359.AAA10668@lonmailhost.lehman.com> <19990616104716.U15628@lehman.com> X-Mailer: VM 6.71 under 21.1 "20 Minutes to Nikko" XEmacs Lucid (patch 2) Reply-To: Spidey Sender: owner-freebsd-doc@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org 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: > > ... > ]> > > 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 > > > > %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