Re: [Boost-docs] [boostbook] doc build broken on cygwin

Subject: Re: [Boost-docs] [boostbook] doc build broken on cygwin
From: Eric Niebler (eric_at_[hidden])
Date: 2010-06-03 14:38:33


On 6/2/2010 1:52 PM, Steven Watanabe wrote:
> AMDG
>
> Eric Niebler wrote:
>> The docs build recently stopped working on cygwin on trunk.
>>
>> <snip>
>> ../../../bin.v2/libs/foreach/doc/gcc-3.4.4/debug/foreach.xml:2: warning:
>> failed to load external ent
>> ity "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd"
>> BoostBook XML V1.0//EN"
>> "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd"
>>
>> <snip>
>>
>> Eric_at_AERIX ~/boost/org/trunk/libs/foreach/doc
>> $ cat ../../../bin.v2/boostbook_catalog.xml
>> <?xml version="1.0"?>
>> <!DOCTYPE catalog
>> PUBLIC "-//OASIS/DTD Entity Resolution XML Catalog V1.0//EN"
>> "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
>> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
>> <rewriteURI uriStartString="http://www.boost.org/tools/boostbook/dtd/"
>> rewritePrefix="file:///C:/c
>> ygwin/home/Eric/boost/org/trunk/tools/boostbook/dtd/"/>
>> <snip/>
>> </catalog>
>>
>> The catalog paths look OK to me. The win32 native build works fine on
>> trunk and release. The cygwin build also works on release. Just not on
>> trunk.
>>
>
> It works for me. What does xsltproc --version say?

Eric_at_AERIX ~
$ xsltproc --version
Using libxml 20706, libxslt 10126 and libexslt 815
xsltproc was compiled against libxml 20706, libxslt 10126 and libexslt 815
libxslt 10126 was compiled against libxml 20706
libexslt 815 was compiled against libxml 20706

> Can you give the xsltproc command and boostbook_catalog.xml
> that work on the release branch?

On trunk, the xsltproc command is:

 "xsltproc" --stringparam boost.defaults "Boost" --stringparam manifest
"standalone_HTML.manifest" --xinclude -o "html/"
"/home/Eric/boost/org/trunk/tools/boostbook/xsl/html.xsl"
"../../../bin.v2/libs/foreach/doc/gcc-3.4.4/debug/foreach.docbook"

On release, it is:

 "xsltproc" --stringparam boost.defaults "Boost" --stringparam manifest
"standalone_HTML.manifest" --xinclude -o "html/"
"/home/Eric/boost/org/branches/release/tools/boostbook/xsl/html.xsl"
"../../../bin.v2/libs/foreach/doc/gcc-3.4.4/debug/foreach.docbook"

That looks the same to me.

The catalog file on the release branch looks like this:

<?xml version="1.0"?>
<!DOCTYPE catalog
  PUBLIC "-//OASIS/DTD Entity Resolution XML Catalog V1.0//EN"
  "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
  <rewriteURI uriStartString="http://www.boost.org/tools/boostbook/dtd/"
rewritePrefix="file:///home/Eric/boost/org/branches/release/tools/boostbook/dtd/"/>
  <rewriteURI
uriStartString="http://docbook.sourceforge.net/release/xsl/current/"
rewritePrefix="file:///home/Eric/docbook-xsl-1.75.2/"/>
  <rewriteURI
uriStartString="http://www.oasis-open.org/docbook/xml/4.2/"
rewritePrefix="file:///home/Eric/docbook-xml-4.2/"/>
</catalog>

Interesting that here we use file:///home/... and on trunk we use
file:///C:/cygwin/home.

> For some reason, cygwin xsltproc doesn't seem to accept
> win32 paths. Does it work if you manually change
> boostbook_catalog.xml to use cygwin paths (file:///home/...)?
> I tried to do this adjustment automatically, but apparently
> it doesn't quite work.

I can confirm that manually editing the catalog file and running the
xsltproc command from the command line fixes the problem. (If I just run
bjam again, the catalog gets overwritten and it fails again.)

I wonder if the recent changes made by you an Beman described here
(http://tinyurl.com/299jndd) are responsible.

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com

This archive was generated by hypermail 2.1.7 : 2017-11-11 08:50:41 UTC