boostorg / quickbook

Boost.org quickbook module
http://boost.org/tools/quickbook
11 stars 33 forks source link

Generated section ids have a colon prefix #11

Closed Lastique closed 2 years ago

Lastique commented 3 years ago

This problem happens when I build Boost.Log docs locally with the following command line:

b2 -j8 release

The build process produces a lot of errors like this:

Error: no ID for constraint linkend: "log.design".

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 a linkend attribute that matches the id specified in [link] QuickBook tag, but the actual <section> in BoostBook has id with a colon character prepended. For example:

Here is an attached generated log_doc.xml: log_doc.xml.gz

This happens on Kubuntu 21.04 with its stock xsltproc and DocBook packages.

Kojoley commented 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.

Lastique commented 2 years ago

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).