diff options
| author | Nikita Karetnikov <nikita@karetnikov.org> | 2013-07-13 20:55:36 +0000 |
|---|---|---|
| committer | Nikita Karetnikov <nikita@karetnikov.org> | 2013-07-13 21:35:14 +0000 |
| commit | 84dbbc76510ee2096c0c59f41ebe42938bc10dc2 (patch) | |
| tree | 0cb46859503c586e1e64769e370ad0055f1993b5 /HACKING | |
| parent | 2096b516e03cf9741d6e257fbfb4700c169abbd0 (diff) | |
doc: Add "Building from Git" to 'HACKING'.
Diffstat (limited to 'HACKING')
| -rw-r--r-- | HACKING | 35 |
1 files changed, 35 insertions, 0 deletions
| @@ -3,12 +3,47 @@ | |||
| 3 | #+TITLE: Hacking GNU Guix and Its Incredible Distro | 3 | #+TITLE: Hacking GNU Guix and Its Incredible Distro |
| 4 | 4 | ||
| 5 | Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> | 5 | Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> |
| 6 | Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> | ||
| 6 | 7 | ||
| 7 | Copying and distribution of this file, with or without modification, | 8 | Copying and distribution of this file, with or without modification, |
| 8 | are permitted in any medium without royalty provided the copyright | 9 | are permitted in any medium without royalty provided the copyright |
| 9 | notice and this notice are preserved. | 10 | notice and this notice are preserved. |
| 10 | 11 | ||
| 11 | 12 | ||
| 13 | * Building from Git | ||
| 14 | |||
| 15 | First, make sure that Autoconf (>= 2.69), Automake, and pkg-config are | ||
| 16 | installed. Run ‘./bootstrap’ that, among other things, invokes ‘git submodule | ||
| 17 | update’, or you might get the following error | ||
| 18 | |||
| 19 | make: *** No rule to make target `nix/libstore/schema.sql', needed by | ||
| 20 | `nix/libstore/schema.sql.hh' | ||
| 21 | |||
| 22 | Then, as always, run ‘./configure’. If you get an error like this one | ||
| 23 | |||
| 24 | ./configure: line 6755: `PKG_CHECK_MODULES(GUILE, guile-2.0 >= 2.0.5)' | ||
| 25 | |||
| 26 | it probably means that Autoconf couldn’t find ‘pkg.m4’, which is provided by | ||
| 27 | pkg-config. Make sure that ‘pkg.m4’ is available. For instance, if you | ||
| 28 | installed Automake in ‘/usr/local’, it wouldn’t look for ‘.m4’ files in | ||
| 29 | ‘/usr/share’. So you have to invoke the following command in that case | ||
| 30 | |||
| 31 | $ export ACLOCAL_PATH=/usr/share/aclocal | ||
| 32 | |||
| 33 | See “info '(automake) Macro Search Path'” for more information. | ||
| 34 | |||
| 35 | After that you should proceed with ‘make’. You might also get this error | ||
| 36 | |||
| 37 | /bin/bash: dot: command not found | ||
| 38 | make[2]: *** [doc/images/bootstrap-graph.png] Error 127 | ||
| 39 | |||
| 40 | This one is easy to handle; just install Graphviz. It is not listed as a | ||
| 41 | requirement because the resulting images should come with a tarball. | ||
| 42 | |||
| 43 | Finally, you have to invoke ‘make check’ to run tests. If anything fails, | ||
| 44 | take a look at “info '(guix) Installation'” or send a message to | ||
| 45 | <bug-guix@gnu.org>. | ||
| 46 | |||
| 12 | * Running Guix before it is installed | 47 | * Running Guix before it is installed |
| 13 | 48 | ||
| 14 | Command-line tools can be used even if you have not run "make install". | 49 | Command-line tools can be used even if you have not run "make install". |
