Variable $SGML_CATALOG_FILES not set I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" cannot parse http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl mkdir -p -- . /opt/var/tmp/portage/app-text/xmlto-0.0.18/image//opt/usr/share/man/man1 /opt/bin/install -c -m 644 man/man1/xmlto.1 /opt/var/tmp/portage/app-text/xmlto-0.0.18/image//opt/usr/share/man/man1/xmlto.1 /opt/bin/install: cannot stat `man/man1/xmlto.1': No such file or directory /opt/bin/install -c -m 644 man/man1/xmlif.1 /opt/var/tmp/portage/app-text/xmlto-0.0.18/image//opt/usr/share/man/man1/xmlif.1 /opt/bin/install: cannot stat `man/man1/xmlif.1': No such file or directory make[1]: *** [install-man1] Error 1 make: *** [install-am] Error 2 !!! ERROR: app-text/xmlto-0.0.18 failed. Call stack: ebuild.sh, line 1766: Called dyn_install ebuild.sh, line 1212: Called qa_call 'src_install' environment, line 2944: Called src_install xmlto-0.0.18.ebuild, line 38: Called die
*** Bug 164018 has been marked as a duplicate of this bug. ***
the SGML_CATALOG_FILES and other env var issues where cleared up, but even after this it still fails attempting to install the man pages after build. Along the way on my platform, it reports not being able to access the dtd files specified in its xml files. This may be contributing to it though I'm not certain.
this is a black mistery sofar as to why this stupid tool cannot find those stupid files (they are just installed in ${EPREFIX}/usr/share/sgml/docbook/xsl-stylesheets-1.72.0/manpages, etc.
This is what goes wrong: from the Makefile, re-ordered: [ snip ] all: config.h $(MAKE) $(AM_MAKEFLAGS) all-am [ snip ] all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) config.h [ snip ] MANS = $(man1_MANS) [ snip ] man1_MANS = man/man1/xmlto.1 man/man1/xmlif.1 [ snip ] $(man1_MANS): $(top_srcdir)/doc/xmlto.xml $(top_srcdir)/doc/xmlif.xml for xml in xmlif.xml xmlto.xml; do \ FORMAT_DIR=$(top_srcdir)/format XSL_DIR=$(top_srcdir)/xsl \ bash ./xmlto -o man/man1 man $(top_srcdir)/doc/$$xml ; \ done || ( RC=$$?; cat $(top_srcdir)/FAQ; exit $$RC ) [ snip ] and this is exactly what fails: % make -n man/man1/xmlto.1 for xml in xmlif.xml xmlto.xml; do \ FORMAT_DIR=./format XSL_DIR=./xsl \ bash ./xmlto -o man/man1 man ./doc/$xml ; \ done || ( RC=$?; cat ./FAQ; exit $RC ) % make man/man1/xmlto.1 [ snip ] I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" cannot parse http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl Variable $SGML_CATALOG_FILES not set [ snip ] macports solves this by setting 'XML_CATALOG_FILES'. (to $EPREFIX/etc/xml/catalog in our case) exporting XML_CATALOG_FILES right before invoking `emake` makes it pass, from my understanding it would always need to be set whenever xmlto is invoked, so we should have it in our environment by default (unless there is a way to get around setting that variable).
Created attachment 127321 [details, diff] diff against xmlto-0.0.18 Fixed now: http://overlays.gentoo.org/proj/alt/changeset/8282
always use ${xxx} variant for variables. Leaving this bug open as I should add xmlto once I got libxml2 compiled, or pipping should do it (with proper variable).
works on Solaris, committed. Make sure you update libxml2 first, to have the required fix. Thanks!