-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Building nix fails on ubuntu 14.10 because xsltproc is passed --nonet #506
Comments
Try building from a tarball (http://nixos.org/releases/nix/nix-1.8/nix-1.8.tar.xz). It already contains the generated docs. If you do build from GitHub, you need to ensure that the Docbook schemas / stylesheets are installed in the appropriate locations. The configure script doesn't check for this because it's not a requirement when building from the tarball. |
I have failed to find where to look to ensure that the docbook schemas are installed. Can you point me to the right location? |
@edolstra I am building from the 1.9 tarball and am seeing the same error. I'm testing the build process on Alpine Linux, which has very few ootb dependencies. Is it possible that you aren't seeing this error because you're building the tarball on a more capable system (NixOS?) that already has the dependencies preinstalled? |
Can confirm. I am encountering this error on Debian 8.1. I was able to resolve it by (indiscriminately) removing Fix: From 2d618e3f26870aa523f0fc6b090090c8cf65a652 Mon Sep 17 00:00:00 2001
From: Roman Hargrave <[email protected]>
Date: Wed, 19 Aug 2015 22:37:13 -0500
Subject: [PATCH] Remove --nonet from xmllint parameters
---
doc/manual/local.mk | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/doc/manual/local.mk b/doc/manual/local.mk
index 3d7e7fe..67f3fbb 100644
--- a/doc/manual/local.mk
+++ b/doc/manual/local.mk
@@ -1,4 +1,4 @@
-XSLTPROC = $(xsltproc) --nonet $(xmlflags) \
+XSLTPROC = $(xsltproc) $(xmlflags) \
--param section.autolabel 1 \
--param section.label.includes.component.label 1 \
--param html.stylesheet \'style.css\' \
@@ -18,7 +18,7 @@ MANUAL_SRCS := $(call rwildcard, $(d), *.xml)
# Do XInclude processing / RelaxNG validation
$(d)/manual.xmli: $(d)/manual.xml $(MANUAL_SRCS) $(d)/version.txt
- $(trace-gen) $(xmllint) --nonet --xinclude $< -o [email protected]
+ $(trace-gen) $(xmllint) --xinclude $< -o [email protected]
@mv [email protected] $@
$(d)/version.txt:
@@ -28,7 +28,7 @@ $(d)/version.txt:
$(d)/manual.is-valid: $(d)/manual.xmli
$(trace-gen) $(XSLTPROC) --novalid --stringparam profile.condition manual \
$(docbookxsl)/profiling/profile.xsl $< 2> /dev/null | \
- $(xmllint) --nonet --noout --relaxng $(docbookrng) -
+ $(xmllint) --noout --relaxng $(docbookrng) -
@touch $@
clean-files += $(d)/manual.xmli $(d)/version.txt $(d)/manual.is-valid
--
2.5.0-rc2 |
Building from the git repository should just work without manual fiddling. |
I just ran into this too on Arch. |
Installing docbook5-schemas and docbook5-style-xsl fixed this for me on Fedora 23. I think that's better than removing --nonet, but configure should check for it (at least with a warning). |
Building Nix from an official tarball is not an option for me because I am making a pull request to the documentation and I wish to see the generated documentation before submitting my pull request. @edolstra How can I "ensure that the Docbook schemas / stylesheets are installed in the appropriate locations"? |
I'd personally first obtain the nix-* binaries, e.g. by building without the docs, and then I'd use the |
It doesn't appear this issue has ever been closed. |
Am I right in thinking that the expected use of #1066 is:
If not, what is the expected use of this flag? If it is, should this be added to documentation for building from source for the affected distros? |
I would like to stress that it would be good to add this to the docs. It bit me as well and it wasn't obvious to me. |
Can we get this fixed? I'm on Ubuntu 16.04, and I really want to add some things to the manual, but nix and its docs not compiling properly means I can't really contribute here. |
The best way to hack on Nix is to use a Nix shell. It should provide the dependencies necessary for building the manual. |
In
builds the manual.
@edolstra I think the What's your preferred plan to deal with this? A proposal:
What do you think about this? |
I think I've found the solution to that one for Ubuntu/Debian:
@krafczyk @RomanHargrave @Hodapp87 can you try that for your respective distros? I found it via
So if you install the corresponding package from your distro, that should work even with |
This should finally allow us to address all cases of build errors due to differences between release tarballs and building from git. See also NixOS#506 (comment)
PR to fix it all: #2979 @krafczyk @RomanHargrave @Hodapp87 can you try this PR for your respective distros and report whether this gives better instructions of what's needed / what to do? |
My PR was merged, We can probably close this. |
Moved to #3162 and edited there: I got a similar error when running make on Manjaro Archlinux, as detailed in #3154. After installing
I then re-ran |
installing docbook5-xml fixed for me on Arch, thanks for the inspiration |
You're welcome! |
Add information about the behaviour of `import` if the given path is a directory. Co-authored-by: Silvan Mosberger <[email protected]>
When building the target doc/manual/manual.is-valid,
xsltproc is passed the option --nonet. Since the document which is fetched for this target is http://docbook.org/xml/5.0/rng/docbook.rng,
xsltproc fails with the following output:
GEN Makefile.config
GEN doc/manual/manual.xmli
GEN doc/manual/manual.is-valid
I/O error : Attempt to load network entity http://docbook.org/xml/5.0/rng/docbook.rng
warning: failed to load external entity "http://docbook.org/xml/5.0/rng/docbook.rng"
Relax-NG parser error : xmlRelaxNGParse: could not load http://docbook.org/xml/5.0/rng/docbook.rng
Relax-NG schema http://docbook.org/xml/5.0/rng/docbook.rng failed to compile
-:1: parser error : Document is empty
^
-:1: parser error : Start tag expected, '<' not found
^
doc/manual/local.mk:29: recipe for target 'doc/manual/manual.is-valid' failed
make: *** [doc/manual/manual.is-valid] Error 1
Removing --nonet from the xsltproc lines fixes this error.
The text was updated successfully, but these errors were encountered: