Slackware 11 Docbook Fix

Posted by: Andrew Smith
Poster contact info: andrew-smith at mail ru
Author: same as 'Posted by'
Software: Slackware 11

Well, Slackware 11.0 came out and the docbook parser broke. I wrote a small tutrial in docbook in Slackware 10.2 and it would refuse to compile on Slackware 11. The command db2html tutorial.sgml would produce a bunch of errors like these:
$ db2html tutorial.sgml
Using catalogs: /etc/sgml/sgml-docbook-3.0-1.0-30.cat
Using stylesheet: /usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl#html
Working on: /home/user/doc/tutorial.sgml
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:1:73:W: cannot
 generate system identifier for public text
"-//James Clark//DTD DSSSL Style Sheet//EN"
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:11:0:E: reference 
to entity "STYLE-SHEET" for which no system identifier could be generated
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:1:0: entity was
 defined here
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:11:0:E: DTD did 
not contain element declaration for document type name
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:5:0:E: notation
 "DSSSL" for entity "docbook.dsl" 
undefinedjade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:
36:12:E: element "STYLE-SHEET" undefined
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:39:24:E: there is 
no attribute "ID"
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:39:36:E: there is 
no attribute "USE"
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:39:45:E: element 
"STYLE-SPECIFICATION" undefined
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:40:25:E: element 
"STYLE-SPECIFICATION-BODY" undefined
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:508:44:E: element 
"STYLE-SPECIFICATION" undefined
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:509:25:E: element 
"STYLE-SPECIFICATION-BODY" undefined
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:1059:27:E: there 
is no attribute "ID"
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:1059:46:E: there 
is no attribute "DOCUMENT"
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:1059:59:E: element 
"EXTERNAL-SPECIFICATION" undefined
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:1061:13:E: end 
tag for "EXTERNAL-SPECIFICATION" omitted, but OMITTAG NO was specified
jade:/usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl:1059:0: start 
tag was here
jade:E: specification document does not have the DSSSL architecture as a 
base architecture
jade:E: no style-specification or external-specification with ID "HTML"

After many hours of looking for the problem on the internet all I found was that these errors have something to do with style sheets. I failed to find a solution but Carlos E R Diogenes at the Linux Questions forums figured it out.

It does have something to do with stylesheets, the solution is rather simple. As root, edit /usr/bin/jw with your favourite editor, and change the line SGML_EXTRA_CATALOGS="" to SGML_EXTRA_CATALOGS=":/etc/sgml/catalog"

Simple solution to a nasty problem. Now you compile your docbook in peace.

Andrew