Bug 186920

Summary: Building net/rabbitmq package fails
Product: Ports & Packages Reporter: chad.schroeder
Component: Individual Port(s)Assignee: Jimmy Olgeni <olgeni>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description chad.schroeder 2014-02-20 15:00:00 UTC
Creating a package for the current rabbitmq port fails:

PORTNAME=       rabbitmq
PORTVERSION=    3.2.3
PORTREVISION=   2

$ make clean distclean package
===>  Cleaning for rabbitmq-3.2.3_2
===>  Deleting distfiles for rabbitmq-3.2.3_2
===>  License MPL accepted by the user
=> rabbitmq-server-3.2.3.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch http://www.rabbitmq.com/releases/rabbitmq-server/v3.2.3/rabbitmq-server-3.2.3.tar.gz
rabbitmq-server-3.2.3.tar.gz                  100% of 3502 kB  521 kBps 00m07s
===> Fetching all distfiles required by rabbitmq-3.2.3_2 for building
===>  Extracting for rabbitmq-3.2.3_2
=> SHA256 Checksum OK for rabbitmq-server-3.2.3.tar.gz.
===>  Patching for rabbitmq-3.2.3_2
===>  Applying FreeBSD patches for rabbitmq-3.2.3_2
===>   rabbitmq-3.2.3_2 depends on executable: erl - found
===>   rabbitmq-3.2.3_2 depends on package: py27-simplejson>=2.0 - found
===>   rabbitmq-3.2.3_2 depends on executable: xmlto - found
===>   rabbitmq-3.2.3_2 depends on executable: xsltproc - found
===>   rabbitmq-3.2.3_2 depends on executable: unzip - found
===>   rabbitmq-3.2.3_2 depends on executable: zip - found
===>   rabbitmq-3.2.3_2 depends on file: /usr/local/bin/python2.7 - found
===>   rabbitmq-3.2.3_2 depends on executable: gmake - found
===>  Configuring for rabbitmq-3.2.3_2
===>  Building for rabbitmq-3.2.3_2
Makefile:378: deps.mk: No such file or directory
/usr/local/bin/python2.7 codegen.py body codegen/amqp-rabbitmq-0.9.1.json codegen/credit_extension.json src/rabbit_framing_amqp_0_9_1.erl
/usr/local/bin/python2.7 codegen.py body codegen/amqp-rabbitmq-0.8.json src/rabbit_framing_amqp_0_8.erl
xsltproc --novalid --stringparam modulename "`basename src/rabbit_ctl_usage.erl .erl`" \
	docs/usage.xsl docs/rabbitmqctl.1.xml > src/rabbit_ctl_usage.erl.tmp
xsltproc --novalid --stringparam modulename "`basename src/rabbit_plugins_usage.erl .erl`" \
	docs/usage.xsl docs/rabbitmq-plugins.1.xml > src/rabbit_plugins_usage.erl.tmp
<snip>
for script in rabbitmq-env rabbitmq-server rabbitmqctl rabbitmq-plugins rabbitmq-defaults; do \
	cp scripts/$script /usr/ports/net/rabbitmq/work/stage/usr/local/lib/erlang/lib/rabbitmq_server-3.2.3/sbin; \
	[ -e /usr/ports/net/rabbitmq/work/stage/usr/local/sbin//$script ] || ln -s ../lib/erlang/lib/rabbitmq_server-3.2.3/sbin/$script /usr/ports/net/rabbitmq/work/stage/usr/local/sbin//$script; \
done
mkdir -p /usr/ports/net/rabbitmq/work/stage/usr/local/lib/erlang/lib/rabbitmq_server-3.2.3/plugins
[ -d "plugins" ] && cp plugins/*.ez plugins/README /usr/ports/net/rabbitmq/work/stage/usr/local/lib/erlang/lib/rabbitmq_server-3.2.3/plugins || true
xmlto --version | grep -E '^xmlto version 0\.0\.([0-9]|1[1-8])$' >/dev/null || opt='--stringparam man.indent.verbatims=0' ; \
    xsltproc --novalid docs/examples-to-end.xsl docs/rabbitmq-env.conf.5.xml > docs/rabbitmq-env.conf.5.xml.tmp && \
    xmlto -o docs $opt man docs/rabbitmq-env.conf.5.xml.tmp && \
    gzip -f docs/`basename docs/rabbitmq-env.conf.5.xml .xml`
xmlto: /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/docs/rabbitmq-env.conf.5.xml.tmp does not validate (status 3)
xmlto: Fix document syntax or use --skip-validation option
file:///usr/local/share/xml/catalog.ports:1: parser error : Start tag expected, '<' not found
PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
^
I/O error : Attempt to load network entity http://www.docbook.org/xml/4.5/docbookx.dtd
/usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/docs/rabbitmq-env.conf.5.xml.tmp:2: warning: failed to load external entity "http://www.docbook.org/xml/4.5/docbookx.dtd"
//OASIS//DTD DocBook XML V4.5//EN" "http://www.docbook.org/xml/4.5/docbookx.dtd"
                                                                               ^
I/O error : Attempt to load network entity http://www.docbook.org/xml/4.5/docbookx.dtd
warning: failed to load external entity "http://www.docbook.org/xml/4.5/docbookx.dtd"
validity error : Could not load the external subset "http://www.docbook.org/xml/4.5/docbookx.dtd"
Document /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/docs/rabbitmq-env.conf.5.xml.tmp does not validate
gmake: *** [docs/rabbitmq-env.conf.5.gz] Error 13
*** [do-install] Error code 2

Stop in /usr/ports/net/rabbitmq.


$ make install
===>  Staging for rabbitmq-3.2.3_2
===>   rabbitmq-3.2.3_2 depends on executable: erl - found
===>   Generating temporary packing list
===> Creating users and/or groups.
[ -d "plugins-src/rabbitmq-server" ] || ln -s "/usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3" "plugins-src/rabbitmq-server"
mkdir -p plugins
PLUGINS_SRC_DIR="" gmake -C "plugins-src" plugins-dist PLUGINS_DIST_DIR="/usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins" VERSION=3.2.3
gmake[1]: Entering directory `/usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins-src'
gmake -f all-packages.mk all-releasable VERSION=3.2.3
gmake[2]: Entering directory `/usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins-src'
gmake[2]: Nothing to be done for `all-releasable'.
gmake[2]: Leaving directory `/usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins-src'
rm -rf /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
mkdir -p /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
gmake -f all-packages.mk copy-releasable VERSION=3.2.3 PLUGINS_DIST_DIR=/usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
gmake[2]: Entering directory `/usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins-src'
cp rabbitmq-management/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-auth-mechanism-ssl/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-amqp1.0/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-web-stomp/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp ./rabbitmq-stomp/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-shovel/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-tracing/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-management-visualiser/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-jsonrpc-channel-examples/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp ./rabbitmq-jsonrpc-channel/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-auth-backend-ldap/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-federation-management/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-shovel-management/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-consistent-hash-exchange/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-federation/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-web-stomp-examples/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
cp rabbitmq-mqtt/dist/*.ez /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins
gmake[2]: Leaving directory `/usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins-src'
gmake[1]: Leaving directory `/usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/plugins-src'
echo "Put your EZs here and use rabbitmq-plugins to enable them." > plugins/README
rm -f plugins/rabbit_common*.ez
mkdir -p /usr/ports/net/rabbitmq/work/stage/usr/local/lib/erlang/lib/rabbitmq_server-3.2.3/sbin
mkdir -p /usr/ports/net/rabbitmq/work/stage/usr/local/sbin/
mkdir -p /usr/ports/net/rabbitmq/work/stage/usr/local/man
mkdir -p /usr/ports/net/rabbitmq/work/stage/usr/local/share/examples/rabbitmq
cp -r ebin include LICENSE* INSTALL /usr/ports/net/rabbitmq/work/stage/usr/local/lib/erlang/lib/rabbitmq_server-3.2.3
chmod 0755 scripts/*
for script in rabbitmq-env rabbitmq-server rabbitmqctl rabbitmq-plugins rabbitmq-defaults; do \
	cp scripts/$script /usr/ports/net/rabbitmq/work/stage/usr/local/lib/erlang/lib/rabbitmq_server-3.2.3/sbin; \
	[ -e /usr/ports/net/rabbitmq/work/stage/usr/local/sbin//$script ] || ln -s ../lib/erlang/lib/rabbitmq_server-3.2.3/sbin/$script /usr/ports/net/rabbitmq/work/stage/usr/local/sbin//$script; \
done
mkdir -p /usr/ports/net/rabbitmq/work/stage/usr/local/lib/erlang/lib/rabbitmq_server-3.2.3/plugins
[ -d "plugins" ] && cp plugins/*.ez plugins/README /usr/ports/net/rabbitmq/work/stage/usr/local/lib/erlang/lib/rabbitmq_server-3.2.3/plugins || true
xmlto --version | grep -E '^xmlto version 0\.0\.([0-9]|1[1-8])$' >/dev/null || opt='--stringparam man.indent.verbatims=0' ; \
    xsltproc --novalid docs/examples-to-end.xsl docs/rabbitmq-env.conf.5.xml > docs/rabbitmq-env.conf.5.xml.tmp && \
    xmlto -o docs $opt man docs/rabbitmq-env.conf.5.xml.tmp && \
    gzip -f docs/`basename docs/rabbitmq-env.conf.5.xml .xml`
xmlto: /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/docs/rabbitmq-env.conf.5.xml.tmp does not validate (status 3)
xmlto: Fix document syntax or use --skip-validation option
file:///usr/local/share/xml/catalog.ports:1: parser error : Start tag expected, '<' not found
PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
^
I/O error : Attempt to load network entity http://www.docbook.org/xml/4.5/docbookx.dtd
/usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/docs/rabbitmq-env.conf.5.xml.tmp:2: warning: failed to load external entity "http://www.docbook.org/xml/4.5/docbookx.dtd"
//OASIS//DTD DocBook XML V4.5//EN" "http://www.docbook.org/xml/4.5/docbookx.dtd"
                                                                               ^
I/O error : Attempt to load network entity http://www.docbook.org/xml/4.5/docbookx.dtd
warning: failed to load external entity "http://www.docbook.org/xml/4.5/docbookx.dtd"
validity error : Could not load the external subset "http://www.docbook.org/xml/4.5/docbookx.dtd"
Document /usr/ports/net/rabbitmq/work/rabbitmq-server-3.2.3/docs/rabbitmq-env.conf.5.xml.tmp does not validate
gmake: *** [docs/rabbitmq-env.conf.5.gz] Error 13
*** [do-install] Error code 2

Stop in /usr/ports/net/rabbitmq.

Fix: 

Likely related to the latest textproc/docbook* port updates.
How-To-Repeat: $ cd /usr/ports/net/rabbitmq
$ make clean distclean package
$ make install (fails as well)
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2014-02-20 15:00:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->olgeni

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 CSchroeder 2014-02-23 12:56:00 UTC
This was resolved by deinstalling all docbook-related packages (rabbitmq de=
pended on) before building rabbitmq.
Comment 3 Jimmy Olgeni freebsd_committer freebsd_triage 2014-02-24 12:24:41 UTC
State Changed
From-To: open->closed

Also checked with redports, just in case - everything looks ok so far.