我正在关注这些说明(DocBook-utils 0.6.14),现在运行时出现以下失败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
...
这又持续了几行。
答案1
这意味着它没有找到所需版本的 DocBook DTD。跟踪您链接到的说明DocBook DTD 的安装,他们为 DTD 3.0 版设置了一个目录条目,而他们正在安装 3.1 版。所以这些指示是错误的。你需要这样的一行:
PUBLIC "-//OASIS//DTD DocBook V3.1//EN" "docbook.dtd"
顺便说一句,这些 DocBook 版本确实很古老(1997/1999),因此如果 LFS 仍然建议安装它们,我会谨慎对待它们给出的说明。