Closed Lastique closed 2 years ago
Did you use GCC 9.2-12.1 to compile Quickbook? Could be a GCC bug https://github.com/boostorg/spirit/issues/737 which seems to be fixed in 12.2.
Yes, very much likely so. I can't remember what gcc version was in Kubuntu 21.04, but the problem has not fixed for me to this day (I'm currently on Kubuntu 22.04 with gcc 11.2).
This problem happens when I build Boost.Log docs locally with the following command line:
The build process produces a lot of errors like this:
for various link ids mentioned in the QuickBook
[link]
tags, and the corresponding links in the final docs are broken.The problem seems to be because the
[link]
tags get translated to<link>
BoostBook tags with alinkend
attribute that matches the id specified in[link]
QuickBook tag, but the actual<section>
in BoostBook hasid
with a colon character prepended. For example:[link log.design Design overview]
and the section is started with[section:design Design overview]
(which is included into the main document using[include:log design.qbk]
).log_doc.xml
, the link looks like<link linkend="log.design">Design overview</link>
and the section starts with<section id=":log.design">
(note the leading colon in the id). Also, the section starts with a<title><link linkend=":log.design">Design overview</link></title>
, where thelink
also has a leading colon.log_doc.docbook
is similar tolog_doc.xml
wrt. ids used inlink
andsection
.<a class="link" href="../">
and points to the root directory of the documentation (i.e.libs/log/doc/html
in Boost root). There arelog
and_log
directories inlibs/log/doc/html
, and in the latter, thedesign.html
file contains<a name=":log.design">
.Here is an attached generated
log_doc.xml
: log_doc.xml.gzThis happens on Kubuntu 21.04 with its stock xsltproc and DocBook packages.