After checking that you have the necessary
prerequisites, unpack the tarball, then run ./configure, and then make, make
install, as usual.
You may also want to run make
check to do some checks that the package is working
properly. Typing make -W docbook2X.xml man
texi in the doc/ directory will
rebuild docbook2X’s own documentation, and can serve as an
additional check.
You need GNU make to build docbook2X properly.
If you are using the CVS version, you will also need the
autoconf and automake tools, and must run ./autogen.sh first. But see also the note
below about the CVS version.
If you want to (re-)build HTML documentation (after having
installed Norman Walsh’s DocBook XSL stylesheets), pass
--with-html-xsl to ./configure. You do not really need this,
since docbook2X releases already contain pre-built HTML
documentation.
Some other packages also call their conversion programs
docbook2man and docbook2texi; you can use the --program-transform-name parameter to ./configure if you do not want docbook2X
to clobber over your existing docbook2man or docbook2texi.
If you are using a Java-based XSLT processor, you need to use
pass --with-xslt-processor=saxon for SAXON,
or --with-xslt-processor=xalan-j for
Xalan-Java. (The default is for libxslt.) In addition, since the
automatic check for the installed JARs is not very intelligent, you
will probably need to pass some options to ./configure to tell it where the JARs are.
See ./configure --help for
details.
The docbook2X package supports VPATH builds (building in a
location other than the source directory), but any newly generated
documentation will not end up in the right place for installation
and redistribution. Cross compilation is not supported at all.
- Q: Where is
XML::Handler::SGMLSpl?
- Q: db2x_xsltproc tells me that
one input document is required when building docbook2X.
- Q: When docbook2X attempts to
build its documentation, I get errors about “attempting to
load network entity”, etc.
- Q: I cannot build from
CVS.
Q: |
Where is XML::Handler::SGMLSpl?
|
A: |
It’s included in the docbook2X package. If Perl says it
cannot find it, something went wrong with the install, or you tried
to run the docbook2X Perl scripts in some other directory without
installing. If you want to do the latter, you have to set
PERLLIB manually to point to where-you-put-docbook2X/perl/XML.
|
Q: |
db2x_xsltproc tells me that
“one input document is
required” when building docbook2X.
|
A: |
Use GNU make to build docbook2X (as opposed to BSD make).
I could fix this incompatibility in the docbook2X make files,
but some of the default automake rules have the same problem, so I
didn’t bother.
|
Q: |
When docbook2X attempts to build its documentation, I get errors
about “attempting to load network entity”, etc.
|
A: |
You will need to set up the XML catalogs for the DocBook XML
DTDs correctly. This tells the XSLT processor where to find the
DocBook DTDs on your system. Recent Linux distributions should
already have this done for you.
This error (or rather, warning) is harmless in the case of
docbook2X documentation — it does not actually require the
DTD to build. But your other DocBook documents might (mainly
because they use the ISO entities).
libxml also understands SGML catalogs, but last time I tried it
there was some bug that stopped it from working. Your Mileage May
Vary.
|
Q: |
I cannot build from CVS.
|
A: |
If the problem is related to HTML files, then you must pass
--with-html-xsl to configure. The problem is that the HTML files
are automatically generated from the XML source and are not in CVS,
but the Makefile still tries to install them. (This issue does not
appear when building from release tarballs.)
|
For other docbook2X problems, please also look at its main
documentation.