I was following these instructions (DocBook-utils 0.6.14), and now I get the following failure when running make:

SGML_CATALOG_FILES=/etc/sgml/catalog \
SGML_SEARCH_PATH=../../doc:.. \
    nsgmls ../../doc/docbook-utils.sgml | \
    sgmlspl ../../helpers/docbook2man-spec.pl
nsgmls:../../doc/docbook-utils.sgml:1:55:W: cannot generate system identifier for public text "-//OASIS//DTD DocBook V3.1//EN"
nsgmls:../../doc/docbook-utils.sgml:9:0:E: reference to entity "BOOK" for which no system identifier could be generated
nsgmls:../../doc/docbook-utils.sgml:1:0: entity was defined here
nsgmls:../../doc/docbook-utils.sgml:9:0:E: DTD did not contain element declaration for document type name
nsgmls:../../doc/docbook-utils.sgml:11:11:E: there is no attribute "LANG"
nsgmls:../../doc/docbook-utils.sgml:11:19:E: there is no attribute "ID"
nsgmls:../../doc/docbook-utils.sgml:11:34:E: element "BOOK" undefined

This goes on for several more lines.

  • This is likely related to this other one.
    – tshepang
    Commented Apr 21, 2011 at 19:57
  • 1
    If you find a source for support for DocBoook on LFS, please add that info here. I have tried creating docBook too, and I still need some help. (I haven't had time to look at it lately). You might do better with this on StackOverflow as there are many questions on xml, xslt there. (tag this as xml too?). Good Luck!
    – shellter
    Commented Apr 21, 2011 at 23:21
  • I'd try unpacking Debian sources on this machine, and mimicking the rules file. You could also do a build run on a Debian machine and copy over the transcript. Also the build depends listed for Debian are (excluding debhelper) docbook-dsssl, jade, perl, sgmlspl, sp. Do you have those installed? Commented Apr 22, 2011 at 16:25

1 Answer 1


This means that it didn't find the DocBook DTD of the required version. Tracing the instructions you link to the installation of the DocBook DTD, they set up a catalog entry for DTD version 3.0, whereas they are installing version 3.1. So those instructions are wrong. You need a line like this instead:

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

By the way, these DocBook versions are really ancient (1997/1999), so if LFS still recommends installing them, I would tread cautiously around the instructions they give.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .