Subject: [Boost-users] [units] Problem building HTML documentation from QuickBook sources
From: Torsten Mähne <[email-masked]>
To: [email-masked]
Date: Thu, 06 Dec 2007 19:32:03 +0100
List-Id: Boost Users mailing list <boost-users.lists.boost.org>

Hello,

I'm very interested in the Boost.Units library. I've been therefore
trying to use the version, which is available from the Boost Sandbox SVN
repository (Revision 41778):

svn co http://svn.boost.org/svn/boost/sandbox/units boost_units

I've no problems using the header-only Boost.Units library in my own
small test programs, but I'm struggling to build the reference
documentation located in libs/units/doc/. Therefore, I'm currently
forced to use the outdated HTML documentation from the
mcs_units_v0.7.2.zip archive available from the Boost file vault or read
directly the units.qbk source.

I'm using Boost.Units together with boost-1.34.1, which is unpacked in a
parallel directory:

$ ls
boost-1.34.1
boost_units

on my laptop running Debian Etch:

$ uname -a
Linux babylon5 2.6.18-5-686 #1 SMP Wed Oct 3 00:12:50 UTC 2007 i686
GNU/Linux
$ g++ --version
g++ (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)

After defining the environment variable:

BOOST_BUILD_PATH=<absolute_path_to_boost-1.34.1>/tools/build/v2

and creating the following user-config.jam in $BOOST_BUILD_PATH, I was
able to build the boost libraries itself, and the HTML and PDF
documentation from their Boost.Book and Quickbook sources:

#### Begin user-config.jam ####
using gcc : 4.1 : g++-4.1 ;

using xsltproc : "/usr/bin/xsltproc" ;

using boostbook
         : "/usr/share/xml/docbook/stylesheet/nwalsh/"
         : "/usr/share/xml/docbook/schema/dtd/4.2"
         ;

using doxygen : "/usr/bin/doxygen" ;

using fop : "/usr/bin/fop"
          : "/usr/lib/jvm/java-6-sun-1.6.0.00"
          ;
##### End user-config.jam #####

I have to admit that I don't fully understand yet the boost.build
system, but I achieved to create the necessary Jamroot file in
boost_units/ (my working copy of the units library). It contains only

#### Begin of Jamroot ####
use-project boost
  : ../boost-1.34.1 ;
##### End of Jamroot #####

Then I was able to build the tests in libs/units/test and
libs/units/test_headers. All tests in tests in libs/units/test and only
the test for non_si_units.hpp fails in libs/units/test_headers. Judging
from the #define error in this header, it seems to be expected. But
running bjam in the libs/units/doc directory fails after outputting
several times:

runtime error: file
/home/maehne/build/boost-1.34.1/tools/boostbook/xsl/docbook.xsl line 338
element element
xsl:element: The QName 'xi:include' has no namespace binding in scope in
the stylesheet; this is an error, since the namespace was not s
pecified by the instruction itself.

There are also a lot of warnings like:

warning: cannot find header `boost/units/operators.hpp'
warning: cannot find header `boost/units/systems/trig.hpp'
Cannot find class named 'boost::units::unit'
Cannot find class named 'boost::units::quantity'

I've seen on the Boost developers mailing list, that there were
previously problems with Boost.Book discussed as in the thread from
"[units] Boost.Book problems" from August 2007
<http://listarchives.boost.org/Archives/boost/2007/08/126004.php>.

I also tried to use boost-trunk from the SVN repository (revision
41797). But then I seem to run into the same error, which was posted by
John Maddock <http://listarchives.boost.org/Archives/boost/2007/08/126031.php>
in the above mentioned thread:

Generate XML output for dir /home/torsten/build/boost-units/boost/
Generate XML output for dir
/home/torsten/build/boost-units/boost/units/systems/physical_dimensions/
Generate XML output for dir
/home/torsten/build/boost-units/boost/units/systems/
Generate XML output for dir /home/torsten/build/boost-units/boost/units/
[1]+  Done                    rm -f
"bin/gcc-4.2.2/debug/dimensions_reference-xml/*.xml"
xslt-xsltproc bin/gcc-4.2.2/debug/dimensions_reference-xml.doxygen
xslt-xsltproc bin/gcc-4.2.2/debug/dimensions_reference-xml.boostbook
warning: failed to load external entity "Reference"
cannot parse Reference

  XML_CATALOG_FILES=../../../../boost-trunk/bin.v2/boostbook_catalog.xml
export XML_CATALOG_FILES
 "/usr/bin/xsltproc" --stringparam boost.doxygen.reftitle ""Dimensions
Reference"" --xinclude -o
"bin/gcc-4.2.2/debug/dimensions_reference-xml.boostbook"
"/home/torsten/build/boost-trunk/tools/boostbook/xsl/doxygen/doxygen2boostbook.xsl"
"bin/gcc-4.2.2/debug/dimensions_reference-xml.doxygen"

...failed xslt-xsltproc
bin/gcc-4.2.2/debug/dimensions_reference-xml.boostbook...
...skipped <p.>dimensions_reference.xml for lack of
<pbin/gcc-4.2.2/debug>dimensions_reference-xml.boostbook...
...skipped <pbin/gcc-4.2.2/debug>units.docbook for lack of
<p.>trig_reference.xml...
...skipped <phtml>standalone_HTML.manifest for lack of
<pbin/gcc-4.2.2/debug>units.docbook...
...failed updating 7 targets...
...skipped 10 targets...
...updated 64 targets...
Exit 1

Am I doing something wrong or am I facing a bug in the Boost.Units,
Boost.Book or QuickBook? Could maybe someone, who succeeded to build the
Boost.Units documentation, send it to me in HTML or PDF format?

Best regards,

Torsten Mähne

_______________________________________________
Boost-users mailing list
[email-masked]
http://listarchives.boost.org/mailman/listinfo.cgi/boost-users

-- 
No virus found in this incoming message.
Checked by AVG Free Edition. 
Version: 7.5.503 / Virus Database: 269.16.15/1173 - Release Date: 05/12/2007 21:29