]> git.notmuchmail.org Git - notmuch/blob - INSTALL
notmuch: Add a 'part' subcommand
[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 In fact, if you don't plan to pass any arguments to the configure
13 script, then you can skip that step and just start with "make", (which
14 will call configure for you). See this command:
15
16         ./configure --help
17
18 for detailed documentation of the things you can control at the
19 configure stage.
20
21 notmuch.el installation
22 -----------------------
23 Installing the notmuch.el emacs lisp function systemwide:
24
25         sudo make install-emacs
26
27 Each user needs to add (require 'notmuch) in his ~/.emacs to make it
28 available and then start emacs running notmuch with "emacs -f notmuch"
29 or start notmuch from within emacs with "M-x notmuch".
30
31 Dependencies
32 ------------
33 Notmuch depends on three libraries: Xapian, GMime 2.4, and Talloc
34 which are each described below:
35
36         Xapian
37         ------
38         Xapian is the search-engine library underlying Notmuch.
39
40         It provides all the real machinery of indexing and searching,
41         (including the very nice parsing of the query string).
42
43         Xapian is available from http://xapian.org
44
45         After installing Xapian, please ensure that you have a command
46         named "xapian-config" on your $PATH as notmuch expects. (At
47         least one notmuch user found that Xapian installed the config
48         program to /usr/local/bin/xapian-config-1.1 ).
49
50         GMime 2.4
51         ---------
52         GMime 2.4 provides decoding of MIME email messages for Notmuch.
53
54         Without GMime, Notmuch would not be able to extract and index
55         the actual text from email message encoded as BASE64, etc.
56
57         GMime 2.4 is available from http://spruce.sourceforge.net/gmime/
58
59         Talloc
60         ------
61         Talloc is a memory-pool allocator used by Notmuch.
62
63         Talloc is an extremely lightweight and easy-to-use tool for
64         allocating memory in a hierarchical fashion and then freeing
65         it with a single call of the top-level handle. Using it has
66         made development of Notmuch much easier and much less prone to
67         memory leaks.
68
69         Talloc is available from http://talloc.samba.org/
70
71 On a modern, package-based operating system you can install all of the
72 dependencies with a simple simple command line. For example:
73
74   For Debian and similar:
75
76         sudo apt-get install libxapian-dev libgmime-2.4-dev libtalloc-dev
77
78   For Fedora and similar:
79
80         sudo yum install xapian-core-devel gmime-devel libtalloc-devel
81
82 On other systems, a similar command can be used, but the details of
83 the package names may be different.
84
85         
86