Opened 3 years ago

Last modified 12 months ago

#62354 assigned defect

docbook-utils-0.6.14 fails to build --

Reported by: jeremyhu (Jeremy Huddleston Sequoia) Owned by: lockhart (Thomas Lockhart)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: docbook-utils docbook-xml-4.1.2

Description

docbook-utils-0.6.14 is failing to build on a clean install of MacPorts on macOS Big Sur.

There are a ton of errors like:

onsgmls:/opt/buildX11/share/xml/docbook/4.1.2/ent/iso-amsr.ent:8:16:E: "X224A" is not a function name
onsgmls:/opt/buildX11/share/xml/docbook/4.1.2/ent/iso-amsr.ent:9:18:E: "X224D" is not a function name
onsgmls:/opt/buildX11/share/xml/docbook/4.1.2/ent/iso-amsr.ent:10:18:E: "X224C" is not a function name
onsgmls:/opt/buildX11/share/xml/docbook/4.1.2/ent/iso-amsr.ent:11:18:E: "X220D" is not a function name
onsgmls:/opt/buildX11/share/xml/docbook/4.1.2/ent/iso-amsr.ent:12:19:E: "X22C8" is not a function name
onsgmls:/opt/buildX11/share/xml/docbook/4.1.2/ent/iso-amsr.ent:13:17:E: "X223D" is not a function name

which has come up before (see #37164). That ticket was speculatively closed as fixed, but maybe it wasn't

Attachments (3)

main.log (940.4 KB) - added by jeremyhu (Jeremy Huddleston Sequoia) 3 years ago.
main.log
install-or-update-macports.sh (2.4 KB) - added by jeremyhu (Jeremy Huddleston Sequoia) 3 years ago.
install-or-update-macports.sh
catalog (562 bytes) - added by jeremyhu (Jeremy Huddleston Sequoia) 3 years ago.
catalog (bad)

Download all attachments as: .zip

Change History (17)

Changed 3 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Attachment: main.log added

main.log

Changed 3 years ago by jeremyhu (Jeremy Huddleston Sequoia)

install-or-update-macports.sh

comment:1 Changed 3 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Owner: set to lockhart
Status: newassigned

comment:2 Changed 3 years ago by jeremyhu (Jeremy Huddleston Sequoia)

The attached script is an updated version of the current script to install dependencies of the XQuartz build system. I'm trying now to build and install documentation, but that's failing due to docbook-utils. The installation line (from a fresh install of base) is:

$ sudo port -N -v install autoconf automake pkgconfig libtool py39-mako meson xmlto asciidoc doxygen fop groff docbook-utils

To try and reduce this to see if a conflict is causing it, I then did:

$ sudo port -v deactivate active
$ sudo port -N -v -s install docbook-utils

and that worked. Thus something in that small set of other project is causing a conflict.

$ sudo port -v uninstall docbook-utils
$ sudo port -N -v install autoconf automake pkgconfig libtool
$ sudo port -N -v -s install docbook-utils

That worked... uninstalled docbook-utils again and then:

$ sudo port -v uninstall docbook-utils
$ sudo port -N -v -s install py39-mako meson xmlto asciidoc
$ sudo port -N -v -s install docbook-utils

worked again... rince and repeat with the last set

$ sudo port -v uninstall docbook-utils
$ sudo port -N -v -s install doxygen fop groff
$ sudo port -N -v -s install docbook-utils

and that succeeded.

I then decided to deactivate everyhitng and try re-installing en-mass, and that failed!

Something odd is going on here. The only real difference is that docbook-utils's dependencies were laid down after libtool in the working case and after groff in the failing case. Given that we're using the same built archives, this means that something about the activation scripts is relevant here since the tarball content is the same in all cacses.

comment:3 Changed 3 years ago by jeremyhu (Jeremy Huddleston Sequoia)

I archived the failing state and then built up the succeeding state again.

The diff between the two shows:

$ diff -Naurp buildX11.failing buildX11 | diffstat
diff: buildX11.failing/var/macports/home/Library/Caches: Permission denied
diff: buildX11/var/macports/home/Library/Caches: Permission denied
 etc/sgml/catalog                                                       |   16 
 share/fonts/Type1/gsfonts/.uuid                                        |    2 
 share/fonts/urw-fonts/.uuid                                            |    2 
 var/cache/fontconfig/17776039-D72A-464F-A1A3-18171F69DCCF-le64.cache-7 |    3 
 var/cache/fontconfig/5C02858C-E380-424C-B471-C0539C4DEDDC-le64.cache-7 |    3 
 var/cache/fontconfig/76768DDF-B4E6-4263-A9BF-F9BE056FE891-le64.cache-7 |    2 
 var/cache/fontconfig/8DCE73BF-48ED-46F5-A03F-3AF814C6FD6A-le64.cache-7 |    2 
 var/cache/fontconfig/9E5FBD0F-9F7B-4489-A2C0-90AB08AB14DB-le64.cache-7 |    2 
 var/cache/fontconfig/AE7F2D50-9462-4741-948F-6624A9D53C13-le64.cache-7 |    2 
 var/cache/fontconfig/C8894DE4-E0A1-4EE0-8C41-9AE2511CE6B4-le64.cache-7 |    2 
 var/macports/registry/registry.db                                      |11928 ++++------
 11 files changed, 5803 insertions(+), 6161 deletions(-)

The only thing suspicious there is /etc/sgml/catalog

[1072] /opt $ diff -Naurp buildX11*/etc/sgml/catalog                    
--- buildX11.failing/etc/sgml/catalog	2021-02-24 00:07:07.000000000 -0800
+++ buildX11/etc/sgml/catalog	2021-02-24 00:13:13.000000000 -0800
@@ -1,4 +1,12 @@
 -- Created by XML Catalog Manager 2.2 --
+CATALOG "/opt/buildX11/share/dsssl/docbook-dsssl/catalog"
+
+CATALOG "/opt/buildX11/share/sgml/iso8879/catalog"
+
+CATALOG "/opt/buildX11/share/sgml/docbook/4.2/docbook.cat"
+
+CATALOG "/opt/buildX11/share/sgml/openjade/catalog"
+
 CATALOG "/opt/buildX11/share/xml/docbook/4.2/docbook.cat"
 
 CATALOG "/opt/buildX11/share/xml/docbook/4.1.2/docbook.cat"
@@ -9,11 +17,3 @@ CATALOG "/opt/buildX11/share/xml/docbook
 
 CATALOG "/opt/buildX11/share/xml/docbook/4.5/docbook.cat"
 
-CATALOG "/opt/buildX11/share/dsssl/docbook-dsssl/catalog"
-
-CATALOG "/opt/buildX11/share/sgml/iso8879/catalog"
-
-CATALOG "/opt/buildX11/share/sgml/docbook/4.2/docbook.cat"
-
-CATALOG "/opt/buildX11/share/sgml/openjade/catalog"
-

comment:4 Changed 3 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Indeed, if I make that edit to $prefix/sgml/catalog, the build succeeds where it used to fail.

Changed 3 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Attachment: catalog added

catalog (bad)

comment:5 Changed 3 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Even after getting the install to succeed, we fail to build documentation for fontconfig:

Using catalogs: /opt/buildX11/etc/sgml/catalog
Using stylesheet: /opt/buildX11/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl#print
Working on: /Users/jeremy/src/freedesktop/github/XQuartz/src/fontconfig/fc-cache/../fc-cache/fc-cache.sgml
onsgmls:(invalid location):E: invalid filename ""
onsgmls:/Users/jeremy/src/freedesktop/github/XQuartz/src/fontconfig/fc-cache/../fc-cache/fc-cache.sgml:1:59:W: cannot generate system identifier for public text "-//OASIS//DTD DocBook V4.1//EN"
onsgmls:/Users/jeremy/src/freedesktop/github/XQuartz/src/fontconfig/fc-cache/../fc-cache/fc-cache.sgml:35:0:E: reference to entity "REFENTRY" for which no system identifier could be generated
onsgmls:/Users/jeremy/src/freedesktop/github/XQuartz/src/fontconfig/fc-cache/../fc-cache/fc-cache.sgml:1:0: entity was defined here
onsgmls:/Users/jeremy/src/freedesktop/github/XQuartz/src/fontconfig/fc-cache/../fc-cache/fc-cache.sgml:35:0:E: DTD did not contain element declaration for document type name
onsgmls:/Users/jeremy/src/freedesktop/github/XQuartz/src/fontconfig/fc-cache/../fc-cache/fc-cache.sgml:37:9:E: element "REFENTRY" undefined
onsgmls:/Users/jeremy/src/freedesktop/github/XQuartz/src/fontconfig/fc-cache/../fc-cache/fc-cache.sgml:38:15:E: element "REFENTRYINFO" undefined

so something's definitely not working right here even when we get the build to succeed... =/

comment:6 Changed 3 years ago by jmroot (Joshua Root)

Port: docbook-xml-4.1.2 added

comment:7 Changed 3 years ago by jmroot (Joshua Root)

If the ordering of the catalog is important, I guess xmlcatmgr should be fixed to get that right?

comment:8 Changed 3 years ago by kencu (Ken)

I took a look for you Jeremy.

Certainly not a simple area to sort throught. MacPorts rather detailed PortGroup noted <https://github.com/macports/macports-ports/blob/master/_resources/port1.0/group/xmlcatalog-1.0.tcl>.

I found this, which looks possibly relevant <https://github.com/libexpat/libexpat/issues/188>.

I'll report back if I find anything definitive.

comment:9 Changed 3 years ago by kencu (Ken)

It's a workaround, not a proper fix, but this succeeds:

$ sudo port -f deactivate active
$ sudo port -N -v install docbook-utils autoconf automake pkgconfig libtool py39-mako meson xmlto asciidoc doxygen fop groff
Last edited 3 years ago by kencu (Ken) (previous) (diff)

comment:10 Changed 3 years ago by kencu (Ken)

But it seems like it is just as broken when trying to build the docs for fontconfig:

Working on: /Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/local-fontconfig-devel.sgml
No way to convert HTML to text found.
No way to convert HTML to text found.
gnumake[3]: *** [fontconfig-devel.txt] Error 8
gnumake[3]: *** Waiting for unfinished jobs....
gnumake[3]: *** [fontconfig-user.txt] Error 8
onsgmls:(invalid location):E: invalid filename ""
onsgmls:(invalid location):E: invalid filename ""
openjade:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/fontconfig-user.sgml:1:59:W: cannot generate system identifier for public text "-//OASIS//DTD DocBook V3.1//EN"
openjade:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/fontconfig-user.sgml:4:0:E: reference to entity "REFENTRY" for which no system identifier could be generated
openjade:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/fontconfig-user.sgml:1:0: entity was defined here
openjade:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/fontconfig-user.sgml:4:0:E: DTD did not contain element declaration for document type name
onsgmls:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/local-fontconfig-devel.sgml:1:58:W: cannot generate system identifier for public text "-//OASIS//DTD DocBook V3.1//EN"
openjade:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/fontconfig-user.sgml:26:9:E: element "REFENTRY" undefined
openjade:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/fontconfig-user.sgml:27:8:E: element "REFMETA" undefined
openjade:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/fontconfig-user.sgml:28:16:E: element "REFENTRYTITLE" undefined
onsgmls:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/local-fontconfig-devel.sgml:25:0:E: reference to entity "ARTICLE" for which no system identifier could be generated
onsgmls:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/local-fontconfig-devel.sgml:1:0: entity was defined here
onsgmls:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/local-fontconfig-devel.sgml:25:0:E: DTD did not contain element declaration for document type name
openjade:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/fontconfig-user.sgml:29:12:E: element "MANVOLNUM" undefined
openjade:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/fontconfig-user.sgml:31:11:E: element "REFNAMEDIV" undefined
openjade:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/fontconfig-user.sgml:32:9:E: element "REFNAME" undefined
onsgmls:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/local-fontconfig-devel.sgml:49:8:E: element "ARTICLE" undefined
openjade:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/fontconfig-user.sgml:33:12:E: element "REFPURPOSE" undefined
onsgmls:/Users/Shared/cloned_forks/Xquartz/src/fontconfig/doc/local-fontconfig-devel.sgml:50:7:E: element "TITLE" undefined

.... etc x 200 more ...

comment:11 Changed 3 years ago by kencu (Ken)

this error No way to convert HTML to text found. disappears when you install lynx which some say is a required dep for docbook-utils.

The others ... apparently some missing catalog...

comment:13 Changed 3 years ago by kencu (Ken)

and #26151 seems relevant. There's an oldie.

comment:14 in reply to:  13 Changed 12 months ago by Lisias (Lisias)

Replying to kencu:

and #26151 seems relevant. There's an oldie.

This problem had bitten me in the… back… today. I found that the following workaround worked for me:

sudo port uninstall docbook-xml-4.3 docbook-xml-4.4 docbook-xml-4.5 iso8879 docbook-xml-4.2 openjade docbook-sgml-4.2 docbook-utils p5.22-sgmlspm docbook-dsssl docbook-xml-5.0 docbook-xsl docbook-xsl-ns sgml-common
sudo rm -rf /opt/local/etc/sgml /opt/local/etc/xml
sudo port install -s docbook-utils

source: ticket:48297#comment:4

Note: See TracTickets for help on using tickets.