mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 20:08:10 +01:00
bb1f03f0b9
These versions provide greatly desired performance advantages for notmuch. Previously, theses details existed in an old NEWS entry, but most users are unlikely to find those details there. Put them here where we mention the Xapian dependency.
88 lines
2.6 KiB
Text
88 lines
2.6 KiB
Text
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
|
|
|
|
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.
|
|
|
|
notmuch.el installation
|
|
-----------------------
|
|
Installing the notmuch.el emacs lisp function systemwide:
|
|
|
|
sudo make install-emacs
|
|
|
|
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".
|
|
|
|
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
|
|
|
|
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.
|
|
|
|
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/
|
|
|
|
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:
|
|
|
|
sudo apt-get install libxapian-dev libgmime-2.4-dev libtalloc-dev
|
|
|
|
For Fedora and similar:
|
|
|
|
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.
|
|
|
|
|
|
|