вторник, 8 октября 2013 г.

Сборка портов и docbookx.dtd

При сборке некоторых портов, например databases/pgbouncer, devel/zmq порой приходится сталкиваться со следующей ошибкой:
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
Полный текст и решение под катом

xmlto: /usr/ports/devel/zmq/work/zeromq-2.2.0/doc/zmq_close.xml does not validate (status 3)
xmlto: Fix document syntax or use --skip-validation option
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
/usr/ports/devel/zmq/work/zeromq-2.2.0/doc/zmq_close.xml:2: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
D DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
                                                                               ^
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
Document /usr/ports/devel/zmq/work/zeromq-2.2.0/doc/zmq_close.xml does not validate
xmlto: /usr/ports/devel/zmq/work/zeromq-2.2.0/doc/zmq_connect.xml does not validate (status 3)
xmlto: Fix document syntax or use --skip-validation option
*** [zmq_close.3] Error code 13
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
/usr/ports/devel/zmq/work/zeromq-2.2.0/doc/zmq_connect.xml:2: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
D DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
                                                                               ^
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
Document /usr/ports/devel/zmq/work/zeromq-2.2.0/doc/zmq_connect.xml does not validate
*** [zmq_connect.3] Error code 13
2 errors
*** [all-recursive] Error code 1
1 error
===> Compilation failed unexpectedly.


Ниже рекомендуется попробовать собрать порт MAKE_JOBS_UNSAFE=yes, но увы, это не решает проблему.
Решение находится достаточно быстро: http://forums.freebsd.org/showthread.php?t=28769
Заменить порт textproc/docbook-450 на textproc/docbook-xml-450
Однако, на той машине порт textproc/docbook-450 вообще не был установлен. И в отличии от git в зависимостях ни у databases/pgbouncer, ни у devel/zmq не числился.
Далее был выяснен полный путь к утилите xmlto, в которой возникает ошибка:
whereis xmlto
xmlto: /usr/local/bin/xmlto /usr/local/man/man1/xmlto.1.gz /usr/ports/textproc/xmlto
Чтобы затем узнать, какой пакет ее установил:
pkg_which /usr/local/bin/xmlto
xmlto-0.0.25
Оказалось, что от этого пакета нет зависимостей и после его удаления порт devel/zmq был успешно собнан.

1 комментарий:

  1. лучше бы патч отправили, вроде такого PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/176747

    ОтветитьУдалить