Boost C++ Libraries: Ticket #2232: Documentation build needs to detect missing prerequisites https://svn.boost.org/trac10/ticket/2232 <p> Building documentation requires a lengthy tool chain to work correctly. </p> <p> The following tools have to be installed: </p> <blockquote> <p> libxml2, libxslt, doxygen, docbook-xml42, docbook-xsl, tetex (?), ghostscript </p> </blockquote> <p> user-config.jam needs to supply usings for: </p> <blockquote> <p> xsltproc, boostbook with docbook-xsl and docbook/4.2, doxygen, quickbook </p> </blockquote> <p> Experience has shown that (1) even very experienced Boost developers can have missing tool chain items, and (2) missing tool chain items are very difficult to diagnose and repair because the current bjam setup does not issue meaningful error messages, produces partial documentation, and gives the appearance of working. </p> <p> The requested fix is twofold: </p> <ul><li> Specific error messages should be issued if the tool chain is not complete. The messages should distinguish between tools not being installed and user-config.jam not having all the required entires. The error messages should name the specific missing tool or missing user-config.jam entry. </li></ul><ul><li> If one of the above errors is detected, the process should stop at that point. Currently partial documentation is built, and that can be very misleading and time-consuming. If the tool chain is wrong, nothing at all should be built. </li></ul> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2232 Trac 1.4.3 John Maddock Wed, 20 Aug 2008 11:47:17 GMT cc set https://svn.boost.org/trac10/ticket/2232#comment:1 https://svn.boost.org/trac10/ticket/2232#comment:1 <ul> <li><strong>cc</strong> <span class="trac-author">john@…</span> added </li> </ul> <p> Some random thoughts: </p> <p> 1) Aren't libxml2 and libxslt prerequisites for xsltproc anyway? So maybe a quick verification that xsltproc is present and working would be enough? </p> <p> 2) <a class="missing wiki">TaTex</a> is just a Windows port/distribution of <a class="missing wiki">Tex/LaTex</a>, we should check that <a class="missing wiki">LaTex</a> is in the path. Checking for ghostscript is harder because the command line (ie name of the executable to check for) differs between Windows and Linux OS's :-( </p> <p> 3) Checks for Doxygen / Latex / Ghostscript should occur only when those tools are used: they're not necessary for those of us who use straight <a class="missing wiki">Quickbook/DocBook</a>. </p> <p> Cheers, John. </p> Ticket Daniel James Wed, 20 Aug 2008 12:11:35 GMT cc changed https://svn.boost.org/trac10/ticket/2232#comment:2 https://svn.boost.org/trac10/ticket/2232#comment:2 <ul> <li><strong>cc</strong> <span class="trac-author">daniel@…</span> added </li> </ul> <p> Latex and ghostscript aren't directly supported by boost build. They just get called by doxygen when the accumulators documentation is built. So at the moment, the check for those two should probably be in the accumulators jamfile. It would be nice if they were better integrated with boost build, but that isn't urgent. </p> <p> A bit off topic: tetex is an obsolete unix distribution, but seems to be the best thing available for cygwin. There are <a class="ext-link" href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=TeXsystems"><span class="icon">​</span>several distributions</a>. I'm currently using MikTeX on windows. But TeX Live looks quite promising, as it supports several platforms (including windows). </p> Ticket Daniel James Sun, 12 Apr 2009 11:32:45 GMT milestone changed https://svn.boost.org/trac10/ticket/2232#comment:3 https://svn.boost.org/trac10/ticket/2232#comment:3 <ul> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.36.0</span> → <span class="trac-field-new">Boost 1.39.0</span> </li> </ul> <p> John, is this fixed? </p> Ticket anonymous Sun, 12 Apr 2009 16:05:40 GMT <link>https://svn.boost.org/trac10/ticket/2232#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2232#comment:4</guid> <description> <p> Not really no, I've fixed up the accumulators Jamfiles so they check for latex etc, but I don't think we have meaningful checks (and error messages) for the tools that are configured in user-config.jam still? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Daniel James</dc:creator> <pubDate>Mon, 13 Apr 2009 09:15:57 GMT</pubDate> <title>milestone changed https://svn.boost.org/trac10/ticket/2232#comment:5 https://svn.boost.org/trac10/ticket/2232#comment:5 <ul> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.39.0</span> → <span class="trac-field-new">To Be Determined</span> </li> </ul> <p> Thanks, I mainly wanted to know for the release notes. </p> Ticket Marshall Clow Sun, 06 Jun 2010 15:31:51 GMT component changed; owner set https://svn.boost.org/trac10/ticket/2232#comment:6 https://svn.boost.org/trac10/ticket/2232#comment:6 <ul> <li><strong>owner</strong> set to <span class="trac-author">Matias Capeletto</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">Documentation</span> </li> </ul> Ticket Matias Capeletto Thu, 08 Nov 2012 11:20:06 GMT owner changed https://svn.boost.org/trac10/ticket/2232#comment:7 https://svn.boost.org/trac10/ticket/2232#comment:7 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Matias Capeletto</span> to <span class="trac-author">No-Maintainer</span> </li> </ul> Ticket Daniel James Sun, 28 Apr 2013 14:11:49 GMT <link>https://svn.boost.org/trac10/ticket/2232#comment:8 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2232#comment:8</guid> <description> <p> I still don't know how to do this in Boost.Build, but my documentation build script does check for executables before running the build. It's available at: <a class="ext-link" href="https://github.com/danieljames/boost-build-docs"><span class="icon">​</span>https://github.com/danieljames/boost-build-docs</a> </p> </description> <category>Ticket</category> </item> </channel> </rss>