Opened 15 months ago
Closed 15 months ago
#18846 closed enhancement (overcomebyevents)
gimp-help-2.10.34 cannot be built with all languages
Reported by: | pierre | Owned by: | blfs-book |
---|---|---|---|
Priority: | normal | Milestone: | 12.1 |
Component: | BOOK | Version: | git |
Severity: | normal | Keywords: | |
Cc: |
Description (last modified by )
when running make inside gimp-help directory, it fails to create some translated .xml
files (they are created but empty). This is because the files use characters entities like —
or ×
, but never define them (the docbook documentation tells to explicitly include character entities if needed).
What is weird (but I don't want to dive into libxml2 internals) is that this occurs only for certain languages. The first one when building is Greek (LANG=el).
I guess the fix is to include dbcentx.mod in all the incriminated files:
<!ENTITY % dbcentx PUBLIC "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/dbcentx.mod"> %dbcentx;
Change History (14)
follow-up: 3 comment:1 by , 15 months ago
comment:2 by , 15 months ago
Description: | modified (diff) |
---|
follow-up: 4 comment:3 by , 15 months ago
Replying to Xi Ruoyao:
I think we should complain to the upstream first.
That was my first thought also.
follow-up: 6 comment:4 by , 15 months ago
Replying to Bruce Dubbs:
Replying to Xi Ruoyao:
I think we should complain to the upstream first.
That was my first thought also.
Hmm, maybe our fault actually (and I am wrong in some assumptions I made in the ticket description): the docbook files in the doc reference the docbook 4.3 dtd. Our catalog should be redirecting it to our local 4.5, but maybe it does not do enough... At least, changing 4.3 to 4.5 in the xml files allows the build to pass.
follow-up: 8 comment:5 by , 15 months ago
Interesting, we already have
for DTDVERSION in 4.1.2 4.2 4.3 4.4 do xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML V$DTDVERSION//EN" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \ /etc/xml/docbook xmlcatalog --noout --add "rewriteSystem" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook xmlcatalog --noout --add "rewriteURI" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog done
Why this is not enough? Are they using a different URL (for eg https instead of http)?
comment:6 by , 15 months ago
Replying to pierre:
Replying to Bruce Dubbs:
Replying to Xi Ruoyao:
I think we should complain to the upstream first.
That was my first thought also.
Hmm, maybe our fault actually (and I am wrong in some assumptions I made in the ticket description): the docbook files in the doc reference the docbook 4.3 dtd. Our catalog should be redirecting it to our local 4.5, but maybe it does not do enough... At least, changing 4.3 to 4.5 in the xml files allows the build to pass.
Wrong again, the build fails at the same place! But xmllint has a different behavior with 4.3 and 4.5.
comment:7 by , 15 months ago
The only way to have the build pass is to directly define the entities in the DTD like this:
<!ENTITY mdash "ߞ">
I begin to think that libxml2 could be at fault here (not reading the full DTD or so when using the py3 module).
follow-up: 9 comment:8 by , 15 months ago
Replying to Xi Ruoyao:
Interesting, we already have
for DTDVERSION in 4.1.2 4.2 4.3 4.4 do xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML V$DTDVERSION//EN" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \ /etc/xml/docbook xmlcatalog --noout --add "rewriteSystem" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook xmlcatalog --noout --add "rewriteURI" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog doneWhy this is not enough? Are they using a different URL (for eg https instead of http)?
comment:9 by , 15 months ago
Replying to pierre:
Replying to Xi Ruoyao:
Interesting, we already have
for DTDVERSION in 4.1.2 4.2 4.3 4.4 do xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML V$DTDVERSION//EN" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \ /etc/xml/docbook xmlcatalog --noout --add "rewriteSystem" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook xmlcatalog --noout --add "rewriteURI" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog doneWhy this is not enough? Are they using a different URL (for eg https instead of http)?
If we add this into docbook-xml configuration section, will it work?
I presume that the building system is accessing the Internet for docbook-xml because we are lacking this redirection. And the upstream might have only tested the package on systems with a "proper" redirection setting so they were actually testing with docbook-xml-4.5, thus the package does not work with online docbook-xml-4.3.
comment:10 by , 15 months ago
Phew. It seems there is actually a segfault running Python 3 libxml2 module:
[ 8033.437472] python3[202277]: segfault at 0 ip 00007fd3633bce4d sp 00007ffd7314ece0 error 4 in libpython3.12.so.1.0[7fd36327f000+270000] likely on CPU 5 (core 1, socket 0) [ 8033.437483] Code: ff 89 07 4d 85 c0 74 75 49 8b 0e 8b 01 ff c0 0f 84 68 01 00 00 89 01 48 b8 fe ff ff ff ff ff ff 7f 48 85 c2 74 57 49 8b 4e 08 <8b> 01 ff c0 0f 84 61 01 00 00 89 01 49 83 f8 02 76 41 49 8b 4e 10
I'd consider it a bug in libxml2 or Python 3: even if the input is not valid we should not have a segfault.
comment:12 by , 15 months ago
Greek (LANG=el) is fine with libxml2-2.11.5. I've not tested other languages.
comment:13 by , 15 months ago
Currency fixed at wrong ticket :(
a89f73b9bd6af4fbefa305cb206bea370226807e
in blfs-scripts.git.
comment:14 by , 15 months ago
Resolution: | → overcomebyevents |
---|---|
Status: | new → closed |
All languages built with libxml2-2.11.5. Closing as overcomebyevents
I think we should complain to the upstream first.