1 Build and install instructions for Notmuch.
5 The process for compiling and installing Notmuch is the very standard
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:
18 for detailed documentation of the things you can control at the
23 Notmuch depends on three libraries: Xapian, GMime 2.4 or 2.6, and
24 Talloc which are each described below:
28 Xapian is the search-engine library underlying Notmuch.
30 It provides all the real machinery of indexing and searching,
31 (including the very nice parsing of the query string).
33 Xapian is available from http://xapian.org
35 Note: Notmuch will work best with Xapian 1.0.18 (or later) or
36 Xapian 1.1.4 (or later). Previous versions of Xapian (whether
37 1.0 or 1.1) had a performance bug that made notmuch very slow
38 when modifying tags. This would cause distracting pauses when
39 reading mail while notmuch would wait for Xapian when removing
40 the "inbox" and "unread" tags from messages in a thread.
44 GMime provides decoding of MIME email messages for Notmuch.
46 Without GMime, Notmuch would not be able to extract and index
47 the actual text from email message encoded as BASE64, etc.
49 GMime is available from http://spruce.sourceforge.net/gmime/
53 Talloc is a memory-pool allocator used by Notmuch.
55 Talloc is an extremely lightweight and easy-to-use tool for
56 allocating memory in a hierarchical fashion and then freeing
57 it with a single call of the top-level handle. Using it has
58 made development of Notmuch much easier and much less prone to
61 Talloc is available from http://talloc.samba.org/
63 On a modern, package-based operating system you can install all of the
64 dependencies with a simple simple command line. For example:
66 For Debian and similar:
68 sudo apt-get install libxapian-dev libgmime-2.4-dev libtalloc-dev
70 For Fedora and similar:
72 sudo yum install xapian-core-devel gmime-devel libtalloc-devel
74 On other systems, a similar command can be used, but the details of
75 the package names may be different.