NixOS / nix

Nix, the purely functional package manager
https://nixos.org/
GNU Lesser General Public License v2.1
12.27k stars 1.48k forks source link

Can't build documentation #348

Closed darealshinji closed 10 years ago

darealshinji commented 10 years ago

I can't build the documentation. I get an error about /docbook-rng-missing/docbook.rng being missing.

djcj nix-master $ LANG=C ./bootstrap.sh 
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force 
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: configure.ac: not using Automake
autoreconf: Leaving directory `.'
djcj nix-master $ LANG=C ./configure 
checking for a sed that does not truncate output... /bin/sed
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for the canonical Nix system name... x86_64-linux
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for pubsetbuf... yes
checking for chroot... yes
checking for unshare... yes
checking for statvfs... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sched.h usability... yes
checking sched.h presence... yes
checking for sched.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking for sys/mount.h... yes
checking for lutimes... yes
checking for sched_setaffinity... yes
checking whether it is possible to create a link to a symlink... yes
checking how to run the C++ preprocessor... g++ -E
checking locale usability... yes
checking locale presence... yes
checking for locale... yes
checking err.h usability... yes
checking err.h presence... yes
checking for err.h... yes
checking linux/fs.h usability... yes
checking linux/fs.h presence... yes
checking for linux/fs.h... yes
checking for curl... /usr/bin/curl
checking for bash... /bin/bash
checking for patch... /usr/bin/patch
checking for xmllint... /usr/bin/xmllint
checking for xsltproc... /usr/bin/xsltproc
checking for flex... /usr/bin/flex
checking for bison... /usr/bin/bison
checking for perl... /usr/bin/perl
checking for sed... /bin/sed
checking for tar... /bin/tar
checking for bzip2... /bin/bzip2
checking for gzip... /bin/gzip
checking for xz... /usr/bin/xz
checking for dot... /usr/bin/dot
checking for dblatex... /usr/bin/dblatex
checking for pv... /usr/bin/pv
checking whether Perl is recent enough... yes
checking for the Perl installation prefix... ${exec_prefix}/lib/perl5/site_perl/5.18.2/x86_64-linux-gnu-thread-multi
checking for cat... /bin/cat
checking for tr... /usr/bin/tr
checking for openssl... /usr/bin/openssl
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for OPENSSL... yes
checking for BZ2_bzWriteOpen in -lbz2... yes
checking bzlib.h usability... yes
checking bzlib.h presence... yes
checking for bzlib.h... yes
checking for SQLITE3... yes
checking whether DBD::SQLite works... yes
checking whether WWW::Curl works... yes
checking whether to build the Perl bindings... yes
checking for setresuid... yes
checking for setreuid... yes
checking for lchown... yes
checking for strsignal... yes
checking for posix_fallocate... yes
checking for nanosleep... yes
checking for sysconf... yes
checking if you have a recent GNU tar... yes
configure: creating ./config.status
config.status: creating config.h
djcj nix-master $ LANG=C make V=1
Makefile:27: Makefile.config: No such file or directory
rm -f Makefile.config && ./config.status --quiet --file=Makefile.config
echo -n 1.8 > doc/manual/version.txt
/usr/bin/xmllint --nonet --xinclude doc/manual/manual.xml -o doc/manual/manual.xmli.tmp
/usr/bin/xsltproc --nonet  --param section.autolabel 1 --param section.label.includes.component.label 1 --param html.stylesheet \'style.css\' --param xref.with.number.and.title 1 --param toc.section.depth 3 --param admon.style \'\' --param callout.graphics.extension \'.gif\' --param contrib.inline.enabled 0 --stringparam generate.toc "book toc" --novalid --stringparam profile.condition manual \
      /docbook-xsl-missing/profiling/profile.xsl doc/manual/manual.xmli 2> /dev/null | \
      /usr/bin/xmllint --nonet --noout --relaxng /docbook-rng-missing/docbook.rng -
warning: failed to load external entity "/docbook-rng-missing/docbook.rng"
Relax-NG parser error : xmlRelaxNGParse: could not load /docbook-rng-missing/docbook.rng
Relax-NG schema /docbook-rng-missing/docbook.rng failed to compile
-:1: parser error : Document is empty

^
-:1: parser error : Start tag expected, '<' not found

^
make: *** [doc/manual/manual.is-valid] Error 1
djcj nix-master $ 

OS: Ubuntu 14.04 I have the following packages installed: debhelper dh-autoreconf pkg-config bison curl dblatex flex graphviz libbz2-dev libdbd-sqlite3-perl libperl-dev libssl-dev libsqlite3-dev libwww-curl-perl libxml2-utils openssl patch pv w3m xsltproc xz-utils

edit: from Makefile.config:

docbookrng = /docbook-rng-missing
docbookxsl = /docbook-xsl-missing
lucabrunox commented 10 years ago

Try using ./dev-shell

On Thu, Sep 18, 2014 at 11:25 PM, darealshinji notifications@github.com wrote:

I can't build the documentation. I get an error about /docbook-rng-missing/docbook.rng being missing.

djcj nix-master $ LANG=C ./bootstrap.sh autoreconf: Entering directory .'autoreconf: configure.ac: not using Gettextautoreconf: running: aclocal --force autoreconf: configure.ac: tracingautoreconf: configure.ac: not using Libtoolautoreconf: running: /usr/bin/autoconf --forceautoreconf: running: /usr/bin/autoheader --forceautoreconf: configure.ac: not using Automakeautoreconf: Leaving directory.' djcj nix-master $ LANG=C ./configure checking for a sed that does not truncate output... /bin/sed checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for the canonical Nix system name... x86_64-linux checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for pubsetbuf... yes checking for chroot... yes checking for unshare... yes checking for statvfs... yes checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking sched.h usability... yes checking sched.h presence... yes checking for sched.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking for sys/mount.h... yes checking for lutimes... yes checking for sched_setaffinity... yes checking whether it is possible to create a link to a symlink... yes checking how to run the C++ preprocessor... g++ -E checking locale usability... yes checking locale presence... yes checking for locale... yes checking err.h usability... yes checking err.h presence... yes checking for err.h... yes checking linux/fs.h usability... yes checking linux/fs.h presence... yes checking for linux/fs.h... yes checking for curl... /usr/bin/curl checking for bash... /bin/bash checking for patch... /usr/bin/patch checking for xmllint... /usr/bin/xmllint checking for xsltproc... /usr/bin/xsltproc checking for flex... /usr/bin/flex checking for bison... /usr/bin/bison checking for perl... /usr/bin/perl checking for sed... /bin/sed checking for tar... /bin/tar checking for bzip2... /bin/bzip2 checking for gzip... /bin/gzip checking for xz... /usr/bin/xz checking for dot... /usr/bin/dot checking for dblatex... /usr/bin/dblatex checking for pv... /usr/bin/pv checking whether Perl is recent enough... yes checking for the Perl installation prefix... ${exec_prefix}/lib/perl5/site_perl/5.18.2/x86_64-linux-gnu-thread-multi checking for cat... /bin/cat checking for tr... /usr/bin/tr checking for openssl... /usr/bin/openssl checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for OPENSSL... yes checking for BZ2_bzWriteOpen in -lbz2... yes checking bzlib.h usability... yes checking bzlib.h presence... yes checking for bzlib.h... yes checking for SQLITE3... yes checking whether DBD::SQLite works... yes checking whether WWW::Curl works... yes checking whether to build the Perl bindings... yes checking for setresuid... yes checking for setreuid... yes checking for lchown... yes checking for strsignal... yes checking for posix_fallocate... yes checking for nanosleep... yes checking for sysconf... yes checking if you have a recent GNU tar... yes configure: creating ./config.status config.status: creating config.h djcj nix-master $ LANG=C make V=1 Makefile:27: Makefile.config: No such file or directory rm -f Makefile.config && ./config.status --quiet --file=Makefile.configecho -n 1.8 > doc/manual/version.txt /usr/bin/xmllint --nonet --xinclude doc/manual/manual.xml -o doc/manual/manual.xmli.tmp /usr/bin/xsltproc --nonet --param section.autolabel 1 --param section.label.includes.component.label 1 --param html.stylesheet \'style.css\' --param xref.with.number.and.title 1 --param toc.section.depth 3 --param admon.style \'\' --param callout.graphics.extension \'.gif\' --param contrib.inline.enabled 0 --stringparam generate.toc "book toc" --novalid --stringparam profile.condition manual \ /docbook-xsl-missing/profiling/profile.xsl doc/manual/manual.xmli 2> /dev/null | \ /usr/bin/xmllint --nonet --noout --relaxng /docbook-rng-missing/docbook.rng - warning: failed to load external entity "/docbook-rng-missing/docbook.rng" Relax-NG parser error : xmlRelaxNGParse: could not load /docbook-rng-missing/docbook.rng Relax-NG schema /docbook-rng-missing/docbook.rng failed to compile -:1: parser error : Document is empty

^ -:1: parser error : Start tag expected, '<' not found

^ make: *\ [doc/manual/manual.is-valid] Error 1 djcj nix-master $

OS: Ubuntu 14.04 I have the following packages installed: debhelper dh-autoreconf pkg-config bison curl dblatex flex graphviz libbz2-dev libdbd-sqlite3-perl libperl-dev libssl-dev libsqlite3-dev libwww-curl-perl libxml2-utils openssl patch pv w3m xsltproc xz-utils

— Reply to this email directly or view it on GitHub https://github.com/NixOS/nix/issues/348.

www.debian.org - The Universal Operating System

darealshinji commented 10 years ago

I found the problem. I had to install docbook5-xml and docbook-xsl and then add the paths to the docbook files to ./configure. It somehow didn't find it on its own.

blueyed commented 9 years ago

I am running into the same issue.

There are no references to "docbook" in configure.

I think that this should work "out of the box", and therefore should be re-opened and fixed.

blueyed commented 9 years ago

Editing the doc/manual/local.mk to be more verbose, the error appears to be:

      Must remake target 'doc/manual/manual.is-valid'.
/usr/bin/xsltproc --nonet  --param section.autolabel 1 --param section.label.includes.component.label 1 --param html.stylesheet \'style.css\' --param xref.with.number.and.title 1 --param toc.section.depth 3 --param admon.style \'\' --param callout.graphics.extension \'.gif\' --param contrib.inline.enabled 0 --stringparam generate.toc "book toc" --param keep.relative.image.uris 0 --novalid --stringparam profile.condition manual \
  http://docbook.sourceforge.net/release/xsl-ns/1.78.1/profiling/profile.xsl doc/manual/manual.xmli
I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl-ns/1.78.1/profiling/profile.xsl
warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl-ns/1.78.1/profiling/profile.xsl"
cannot parse http://docbook.sourceforge.net/release/xsl-ns/1.78.1/profiling/profile.xsl
doc/manual/local.mk:29: recipe for target 'doc/manual/manual.is-valid' failed
make: *** [doc/manual/manual.is-valid] Error 4

Manually getting the file works, and I've unset http_proxy and https_proxy, too.

blueyed commented 9 years ago

The problem is the --no-net flag, and I had to install docbook-xsl-ns to get it working.