summary refs log tree commit diff
path: root/HACKING
diff options
context:
space:
mode:
authorNikita Karetnikov <nikita@karetnikov.org>2013-07-13 20:55:36 +0000
committerNikita Karetnikov <nikita@karetnikov.org>2013-07-13 21:35:14 +0000
commit84dbbc76510ee2096c0c59f41ebe42938bc10dc2 (patch)
tree0cb46859503c586e1e64769e370ad0055f1993b5 /HACKING
parent2096b516e03cf9741d6e257fbfb4700c169abbd0 (diff)
downloadguix-84dbbc76510ee2096c0c59f41ebe42938bc10dc2.tar.gz
doc: Add "Building from Git" to 'HACKING'.
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING35
1 files changed, 35 insertions, 0 deletions
diff --git a/HACKING b/HACKING
index 9d8960c1ab..417d279787 100644
--- a/HACKING
+++ b/HACKING
@@ -3,12 +3,47 @@
 #+TITLE: Hacking GNU Guix and Its Incredible Distro
 
 Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 
   Copying and distribution of this file, with or without modification,
   are permitted in any medium without royalty provided the copyright
   notice and this notice are preserved.
 
 
+* Building from Git
+
+First, make sure that Autoconf (>= 2.69), Automake, and pkg-config are
+installed.  Run ‘./bootstrap’ that, among other things, invokes ‘git submodule
+update’, or you might get the following error
+
+  make: *** No rule to make target `nix/libstore/schema.sql', needed by
+  `nix/libstore/schema.sql.hh'
+
+Then, as always, run ‘./configure’.  If you get an error like this one
+
+  ./configure: line 6755: `PKG_CHECK_MODULES(GUILE, guile-2.0 >= 2.0.5)'
+
+it probably means that Autoconf couldn’t find ‘pkg.m4’, which is provided by
+pkg-config.  Make sure that ‘pkg.m4’ is available.  For instance, if you
+installed Automake in ‘/usr/local’, it wouldn’t look for ‘.m4’ files in
+‘/usr/share’.  So you have to invoke the following command in that case
+
+  $ export ACLOCAL_PATH=/usr/share/aclocal
+
+See “info '(automake) Macro Search Path'” for more information.
+
+After that you should proceed with ‘make’.  You might also get this error
+
+  /bin/bash: dot: command not found
+  make[2]: *** [doc/images/bootstrap-graph.png] Error 127
+
+This one is easy to handle; just install Graphviz.  It is not listed as a
+requirement because the resulting images should come with a tarball.
+
+Finally, you have to invoke ‘make check’ to run tests.  If anything fails,
+take a look at “info '(guix) Installation'” or send a message to
+<bug-guix@gnu.org>.
+
 * Running Guix before it is installed
 
 Command-line tools can be used even if you have not run "make install".