2009-11-02 18:25:04 +01:00
|
|
|
Build and install instructions for Notmuch.
|
|
|
|
|
|
|
|
Compilation commands
|
|
|
|
--------------------
|
|
|
|
The process for compiling and installing Notmuch is the very standard
|
|
|
|
sequence of:
|
|
|
|
|
|
|
|
./configure
|
|
|
|
make
|
|
|
|
sudo make install
|
|
|
|
|
2010-03-09 21:11:47 +01:00
|
|
|
In fact, if you don't plan to pass any arguments to the configure
|
|
|
|
script, then you can skip that step and just start with "make", (which
|
|
|
|
will call configure for you). See this command:
|
|
|
|
|
|
|
|
./configure --help
|
|
|
|
|
|
|
|
for detailed documentation of the things you can control at the
|
|
|
|
configure stage.
|
2009-11-02 18:25:04 +01:00
|
|
|
|
2009-11-21 20:36:06 +01:00
|
|
|
notmuch.el installation
|
|
|
|
-----------------------
|
|
|
|
Installing the notmuch.el emacs lisp function systemwide:
|
|
|
|
|
|
|
|
sudo make install-emacs
|
|
|
|
|
2009-11-21 21:40:57 +01:00
|
|
|
Each user needs to add (require 'notmuch) in his ~/.emacs to make it
|
|
|
|
available and then start emacs running notmuch with "emacs -f notmuch"
|
|
|
|
or start notmuch from within emacs with "M-x notmuch".
|
2009-11-21 20:36:06 +01:00
|
|
|
|
2009-11-02 18:25:04 +01:00
|
|
|
Dependencies
|
|
|
|
------------
|
|
|
|
Notmuch depends on three libraries: Xapian, GMime 2.4, and Talloc
|
|
|
|
which are each described below:
|
|
|
|
|
|
|
|
Xapian
|
|
|
|
------
|
|
|
|
Xapian is the search-engine library underlying Notmuch.
|
|
|
|
|
|
|
|
It provides all the real machinery of indexing and searching,
|
|
|
|
(including the very nice parsing of the query string).
|
|
|
|
|
|
|
|
Xapian is available from http://xapian.org
|
|
|
|
|
2010-06-01 19:42:43 +02:00
|
|
|
Note: Notmuch will work best with Xapian 1.0.18 (or later) or
|
|
|
|
Xapian 1.1.4 (or later). Previous versions of Xapian (whether
|
|
|
|
1.0 or 1.1) had a performance bug that made notmuch very slow
|
|
|
|
when modifying tags. This would cause distracting pauses when
|
|
|
|
reading mail while notmuch would wait for Xapian when removing
|
|
|
|
the "inbox" and "unread" tags from messages in a thread.
|
2009-11-21 19:52:06 +01:00
|
|
|
|
2009-11-02 18:25:04 +01:00
|
|
|
GMime 2.4
|
|
|
|
---------
|
|
|
|
GMime 2.4 provides decoding of MIME email messages for Notmuch.
|
|
|
|
|
|
|
|
Without GMime, Notmuch would not be able to extract and index
|
|
|
|
the actual text from email message encoded as BASE64, etc.
|
|
|
|
|
|
|
|
GMime 2.4 is available from http://spruce.sourceforge.net/gmime/
|
|
|
|
|
|
|
|
Talloc
|
|
|
|
------
|
|
|
|
Talloc is a memory-pool allocator used by Notmuch.
|
|
|
|
|
|
|
|
Talloc is an extremely lightweight and easy-to-use tool for
|
|
|
|
allocating memory in a hierarchical fashion and then freeing
|
|
|
|
it with a single call of the top-level handle. Using it has
|
|
|
|
made development of Notmuch much easier and much less prone to
|
|
|
|
memory leaks.
|
|
|
|
|
|
|
|
Talloc is available from http://talloc.samba.org/
|
|
|
|
|
2010-03-09 21:12:32 +01:00
|
|
|
On a modern, package-based operating system you can install all of the
|
|
|
|
dependencies with a simple simple command line. For example:
|
|
|
|
|
|
|
|
For Debian and similar:
|
2009-11-02 18:25:04 +01:00
|
|
|
|
|
|
|
sudo apt-get install libxapian-dev libgmime-2.4-dev libtalloc-dev
|
|
|
|
|
2010-03-09 21:12:32 +01:00
|
|
|
For Fedora and similar:
|
2009-11-02 18:25:04 +01:00
|
|
|
|
2010-03-09 21:12:32 +01:00
|
|
|
sudo yum install xapian-core-devel gmime-devel libtalloc-devel
|
|
|
|
|
|
|
|
On other systems, a similar command can be used, but the details of
|
|
|
|
the package names may be different.
|
2009-11-02 18:25:04 +01:00
|
|
|
|
|
|
|
|
|
|
|
|