Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#37131 closed defect (fixed)

fontconfig: No way to convert HTML to text found

Reported by: pgf Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: lockhart (Thomas Lockhart)
Port: fontconfig

Description

The upgrade from 2.9.0 to 2.10.1 fails. Build log attached.

Attachments (1)

main.log (169.5 KB) - added by pgf 11 years ago.
port upgrade log file

Download all attachments as: .zip

Change History (7)

Changed 11 years ago by pgf

Attachment: main.log added

port upgrade log file

comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to ryandesign@…
Port: fontconfig added
Summary: fontconfig fails to upgrade to 2.10.1fontconfig: No way to convert HTML to text found

Thanks for the report. The relevant error seems to be:

:info:build Using catalogs: /opt/local/etc/sgml/catalog
:info:build Using stylesheet: /opt/local/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl#print
:info:build Working on: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_fontconfig/fontconfig/work/fontconfig-2.10.1-x86_64/doc/fontconfig-user.sgml
:info:build Using catalogs: /opt/local/etc/sgml/catalog
:info:build Using stylesheet: /opt/local/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl#html
:info:build Working on: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_fontconfig/fontconfig/work/fontconfig-2.10.1-x86_64/doc/fontconfig-user.sgml
:info:build No way to convert HTML to text found.
:info:build make[3]: *** [fontconfig-user.txt] Error 8

This error isn't familiar to me, so I searched and found another report of it with regard to fontconfig from 5 years ago which says it's a problem with some component docbook, and that rebuilding it might help. So you could try that. There are many ports with "docbook" in their name; not sure which of them might be implicated but you might start with docbook-sgml-4.2. It's surprising any of them would be, since none of them are in fontfonfig's dependency chain. Sounds like I need to somehow inform fontconfig not to use docbook, even if it's there.

comment:2 Changed 11 years ago by pgf

It seems there are problems during the creation of the documentation, which uses docbook-utils, but I'm not an expert of these packages so take it with care. One problem is in the conversion from HTML to TXT. Here docbook-utils looks for one of these programs (see file /opt/local/share/sgml/docbook/utils-0.6.14/backends/txt) /usr/bin/lynx, /usr/bin/links or /usr/bin/w3m , but I think it should look for in /opt/local/bin . Thi is the source of the "No way to convert HTML to text found" error. But even correcting this (modifying the file /opt/local/share/sgml/docbook/utils-0.6.14/backends/txt) it still gives the error: "/opt/local/share/sgml/docbook/utils-0.6.14/backends/man: line 10: nsgmls: command not found" due to the absence of the program nsgmls, which I don't know which package should provided it.

Anyway, I was able to upgrade fontconfig disabling the creation of the documentation (adding --disable-docs to configure.args-append in the Portfile), but this is just a work around and not a solution.

comment:3 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: lockhart@… added

Duplicate #37149 has a different patch which increases the revision, sets HASDOCBOOK=no and changes the docbook version number in two fontconfig sgml files. I'd like to avoid having fontconfig do different things depending on whether docbook (or other ports) are installed; ports should always do the same thing. So either we should disable the use of docbook entirely, or we should always be using it. I'm not sure which is better, but I'm inclined to disable the use of docbook as suggested above since I don't know what advantage using docbook would be for fontconfig.

comment:4 in reply to:  3 Changed 11 years ago by lockhart (Thomas Lockhart)

Replying to ryandesign@…:

Duplicate #37149 has a different patch which increases the revision, sets HASDOCBOOK=no and changes the docbook version number in two fontconfig sgml files. I'd like to avoid having fontconfig do different things depending on whether docbook (or other ports) are installed; ports should always do the same thing. So either we should disable the use of docbook entirely, or we should always be using it. I'm not sure which is better, but I'm inclined to disable the use of docbook as suggested above since I don't know what advantage using docbook would be for fontconfig.

The patch in #37149 does exactly that: it disables rebuilding the docbook-based documentation using an existing feature in the fontconfig configure script. The fontconfig tarball contains pre-built documentation and the installation falls back to using that, which is the behavior one sees when docbook-utils is not installed. The additional small patch to the sgml documentation sources just prepares those for document generation if and when the docbook support packages are more completely ported from Fedora.

comment:5 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

Ok great.

I've done a little testing. --disable-docs disables the installation of HTML and PDF documentation files that were installed before, along with the manpages. So that's not what we want.

I checked with "HASDOCBOOK=no" and agree it results in the same files being installed as before, so that's what I'll use.

I used a patchfile instead of a reinplace for the docbook version change so that it's easier to see what's being changed, and so that if we need to change the patch in a future version we'll alerted to that fact by the patch failing.

These changes did not seem to result in different files being installed, so I did not increase the port's revision.

r100115

comment:6 in reply to:  5 Changed 11 years ago by lockhart (Thomas Lockhart)

Replying to ryandesign@…:

Ok great.

I've done a little testing. --disable-docs disables the installation of HTML and PDF documentation files that were installed before, along with the manpages. So that's not what we want.

I checked with "HASDOCBOOK=no" and agree it results in the same files being installed as before, so that's what I'll use.

I used a patchfile instead of a reinplace for the docbook version change so that it's easier to see what's being changed, and so that if we need to change the patch in a future version we'll alerted to that fact by the patch failing.

These changes did not seem to result in different files being installed, so I did not increase the port's revision.

r100115

OK, great. Thanks for looking things over and getting it polished up.

Note: See TracTickets for help on using tickets.