Opened 8 years ago
Closed 8 years ago
#52285 closed defect (fixed)
ansible @2.1.1.0.1: ERROR: "xsltproc" returned non-zero exit status 5
Reported by: | DanHam (Dan) | Owned by: | adfernandes (Andrew Fernandes) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.4 |
Keywords: | Cc: | blair (Blair Zajac), steenzout (Pedro Salgado) | |
Port: | ansible |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
When installing Ansible I get the following error:
---> Fetching archive for ansible ---> Attempting to fetch ansible-2.1.1.0.1_0.darwin_15.noarch.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/ansible ---> Attempting to fetch ansible-2.1.1.0.1_0.darwin_15.noarch.tbz2 from http://lil.fr.packages.macports.org/ansible ---> Attempting to fetch ansible-2.1.1.0.1_0.darwin_15.noarch.tbz2 from https://packages.macports.org/ansible ---> Fetching distfiles for ansible ---> Verifying checksums for ansible ---> Extracting ansible ---> Configuring ansible ---> Building ansible Error: org.macports.build for port ansible returned: command execution failed Please see the log file for port ansible for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_ansible/ansible/main.log To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets Error: Processing of port ansible failed
Taking a look at the last part of the log:
... :info:build changing mode of build/scripts-2.7/ansible-galaxy from 644 to 755 :info:build changing mode of build/scripts-2.7/ansible-console from 644 to 755 :info:build changing mode of build/scripts-2.7/ansible-vault from 644 to 755 :debug:build Executing proc-post-org.macports.build-build-0 :info:build sed "s/%VERSION%/2.1.1.0/" docs/man/man1/ansible.1.asciidoc.in > docs/man/man1/ansible.1.asciidoc :info:build a2x -D docs/man/man1/ -d manpage -f manpage docs/man/man1/ansible.1.asciidoc :info:build a2x: WARNING: --destination-dir option is only applicable to HTML based outputs :info:build a2x: ERROR: "xsltproc" --stringparam callout.graphics 0 --stringparam navig.graphics 0 --stringparam admon.textlabel 1 --stringparam admon.graphics 0 "/opt/local/etc/asciidoc/docbook-xsl/manpage.xsl" "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_ansible/ansible/work/ansible-2.1.1.0-1/docs/man/man1/ansible.1.xml" returned non-zero exit status 5 :info:build make: *** [docs/man/man1/ansible.1] Error 1 :info:build rm docs/man/man1/ansible.1.asciidoc :info:build Command failed: make docs :info:build Exit code: 2 :error:build org.macports.build for port ansible returned: command execution failed :debug:build Error code: NONE :debug:build Backtrace: command execution failed while executing "proc-post-org.macports.build-build-0 org.macports.build" ("eval" body line 1) invoked from within "eval $post $targetname" :info:build Warning: targets not executed for ansible: org.macports.activate org.macports.build org.macports.destroot org.macports.install :notice:build Please see the log file for port ansible for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_ansible/ansible/main.log
This appears to be the same issue as reported for Ansible 2.1.0.0.1: #51839 although this is for a completely fresh installation of Ansible rather than an upgrade.
Attachments (2)
Change History (9)
comment:1 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | adfernandes@… removed |
---|---|
Description: | modified (diff) |
Owner: | changed from macports-tickets@… to adfernandes@… |
Port: | ansible added; Ansible 2.1.1.0.1 removed |
Summary: | Ansible 2.1.1.0.1 build error → ansible @2.1.1.0.1: ERROR: "xsltproc" returned non-zero exit status 5 |
comment:2 Changed 8 years ago by DanHam (Dan)
Hi,
I've been digging a bit further into the issue. I can't reproduce the error using the ansible man page available from github at https://github.com/ansible/ansible/tree/devel/docs/man/man1.
I can run:
sed "s/%VERSION%/2.1.1.0/" ansible.1.asiidoc.in > ansible.1.asciidoc a2x -d manpage -f manpage ansible.1.asciidoc
Note there is no -D /output/to/here flag so we don't see the WARNING: about that option only being applicable to HTML based outputs
man ansible.1
then shows a correctly formatted man page. a2x does seem to take rather a long time to run... but it does work.
Where are you grabbing the man pages from? It seems to me this could be a problem with the source for the man pages rather than anything else...
comment:3 follow-up: 5 Changed 8 years ago by raimue (Rainer Müller)
You run commands by hand with different arguments. Also, you were using the devel branch instead of the released tag. I am not sure what you wanted to show with this. You would need to reproduce the issue with the Makefile.
This warning about -D
appears to be wrong and the issue is being tracked in asciidoc upstream: https://github.com/asciidoc/asciidoc/issues/44
The real problem is that ansible is missing a build dependency on the port docbook-xsl. If the XSL files are not found locally, they will be downloaded from the internet on-demand every time they are referenced, slowing down the processing quite a lot. This also makes the build unreliable when the canonical URL for the stylesheets are not available, which appears to have happened in this case.
Changed 8 years ago by raimue (Rainer Müller)
Attachment: | ansible-depb-docbook-xsl.diff added |
---|
comment:4 Changed 8 years ago by DanHam (Dan)
Ok - so my bad... When I checkout the v2.1.1.0-1 tag then running the command to create the manpage does give an error. This I think is due to the inclusion of the :doctype:manpage stanza at the head of the 2.1.1.0-1 version of the file
ansible(1) ========= :doctype:manpage :man source: Ansible ...
Running the following commands against this version results in no errors and a good manpage
sed -e "/^:doctype:manpage/ d" -e "s/%VERSION%/2.1.1.0/" ansible.1.asciidoc.in > ansible.1.asciidoc a2x -d manpage -f manpage ansible.1.asciidoc
I'm not sure how to reproduce with the Makefile... so apologies if I've got all this wrong!!
Dan
Changed 8 years ago by raimue (Rainer Müller)
Attachment: | ansible-depb-docbook-xsl.2.diff added |
---|
Add depends_build on docbook-xsl, add -nonet option to xsltproc to prohibit any network access
comment:5 Changed 8 years ago by adfernandes (Andrew Fernandes)
Replying to raimue@…:
The real problem is that ansible is missing a build dependency on the port docbook-xsl. If the XSL files are not found locally, they will be downloaded from the internet on-demand every time they are referenced, slowing down the processing quite a lot.
Ha! Didn't know that. Thanks for the tip. Build dependency added in r152908.
comment:6 Changed 8 years ago by DanHam (Dan)
OK. The inclusion of docbook-xsl as a build-dep has fixed this for me. I can now install ansible without error.
I am however now seeing some slightly odd behaviour with regard to the man page author:
SEE ALSO ansible-playbook(1), ansible-pull(1), ansible-doc(1), ansible-vault(1), ansible-galaxy(1) Extensive documentation is available in the documentation site: http://docs.ansible.com. IRC and mailing list info can be found in file CONTRIBUTING.md, available in: https://github.com/ansible/ansible AUTHOR :doctype:manpage Author. Ansible 2.1.1.0 09/20/2016 ANSIBLE(1)
Clearly, not a show stopper though!! Apologies if I muddied the waters with my comments above. That said, thank you for taking the time to fix this. Very much appreciated.
Regards,
Dan
comment:7 Changed 8 years ago by raimue (Rainer Müller)
Resolution: | → fixed |
---|---|
Status: | new → closed |
#51839 mentioned it was a problem with a SourceForge server. Maybe try again later?