INSTALL/notmuch.el: More details on how to install/run notmuch.el
[notmuch] / INSTALL
1 Build and install instructions for Notmuch.
2
3 Compilation commands
4 --------------------
5 The process for compiling and installing Notmuch is the very standard
6 sequence of:
7
8         ./configure
9         make
10         sudo make install
11
12 You can even skip the configure step if all of the dependencies of
13 Notmuch are satisfied. If they are not, the configure script will
14 notice that and provide instructions on where to obtain the necessary
15 dependencies.
16
17 notmuch.el installation
18 -----------------------
19 Installing the notmuch.el emacs lisp function systemwide:
20
21         sudo make install-emacs
22
23 Each user needs to add (require 'notmuch) in his ~/.emacs to make it
24 available and then start emacs running notmuch with "emacs -f notmuch"
25 or start notmuch from within emacs with "M-x notmuch".
26
27 Dependencies
28 ------------
29 Notmuch depends on three libraries: Xapian, GMime 2.4, and Talloc
30 which are each described below:
31
32         Xapian
33         ------
34         Xapian is the search-engine library underlying Notmuch.
35
36         It provides all the real machinery of indexing and searching,
37         (including the very nice parsing of the query string).
38
39         Xapian is available from http://xapian.org
40
41         After installing Xapian, please ensure that you have a command
42         named "xapian-config" on your $PATH as notmuch expects. (At
43         least one notmuch user found that Xapian installed the config
44         program to /usr/local/bin/xapian-config-1.1 ).
45
46         GMime 2.4
47         ---------
48         GMime 2.4 provides decoding of MIME email messages for Notmuch.
49
50         Without GMime, Notmuch would not be able to extract and index
51         the actual text from email message encoded as BASE64, etc.
52
53         GMime 2.4 is available from http://spruce.sourceforge.net/gmime/
54
55         Talloc
56         ------
57         Talloc is a memory-pool allocator used by Notmuch.
58
59         Talloc is an extremely lightweight and easy-to-use tool for
60         allocating memory in a hierarchical fashion and then freeing
61         it with a single call of the top-level handle. Using it has
62         made development of Notmuch much easier and much less prone to
63         memory leaks.
64
65         Talloc is available from http://talloc.samba.org/
66
67 On a modern, package-based operating system such as Debian, you can
68 install all of the dependencies with the following simple command
69 line:
70
71         sudo apt-get install libxapian-dev libgmime-2.4-dev libtalloc-dev
72
73 On other systems, a similar command can be used, but the details of
74 the package names may be different, (such as "devel" in place of
75 "dev").
76
77
78         
79