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
|
|
|
|
|
|
|
Dependencies
|
|
|
|
------------
|
2014-03-29 02:14:51 +01:00
|
|
|
Notmuch depends on four libraries: Xapian, GMime 2.4 or 2.6,
|
|
|
|
Talloc, and zlib which are each described below:
|
2009-11-02 18:25:04 +01:00
|
|
|
|
|
|
|
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
|
|
|
|
2012-01-20 10:39:25 +01:00
|
|
|
GMime 2.4 or 2.6
|
|
|
|
----------------
|
|
|
|
GMime provides decoding of MIME email messages for Notmuch.
|
2009-11-02 18:25:04 +01:00
|
|
|
|
|
|
|
Without GMime, Notmuch would not be able to extract and index
|
|
|
|
the actual text from email message encoded as BASE64, etc.
|
|
|
|
|
2012-01-20 10:39:25 +01:00
|
|
|
GMime is available from http://spruce.sourceforge.net/gmime/
|
2009-11-02 18:25:04 +01:00
|
|
|
|
|
|
|
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/
|
|
|
|
|
2014-03-29 02:14:51 +01:00
|
|
|
zlib
|
|
|
|
----
|
|
|
|
|
|
|
|
zlib is an extremely popular compression library. It is used
|
|
|
|
by Xapian, so if you installed that you will already have
|
|
|
|
zlib. You may need to install the zlib headers separately.
|
|
|
|
|
|
|
|
Notmuch needs the transparent write feature of zlib introduced
|
|
|
|
in version 1.2.5.2 (Dec. 2011).
|
|
|
|
|
|
|
|
zlib is available from http://zlib.net
|
|
|
|
|
2014-01-28 17:12:37 +01:00
|
|
|
Building Documentation
|
|
|
|
----------------------
|
|
|
|
|
|
|
|
By default the documentation for notmuch is built using sphinx.
|
|
|
|
|
|
|
|
Sphinx is available from www.sphinx-doc.org.
|
|
|
|
|
|
|
|
If you prefer, you can build the man pages using rst2man, from the
|
|
|
|
python docutils package. See doc/INSTALL for details.
|
|
|
|
|
|
|
|
|
|
|
|
Installing Dependencies from Packages
|
|
|
|
-------------------------------------
|
|
|
|
|
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
|
|
|
|
2014-03-29 02:14:51 +01:00
|
|
|
sudo apt-get install libxapian-dev libgmime-2.6-dev libtalloc-dev zlib1g-dev python-sphinx
|
2009-11-02 18:25:04 +01:00
|
|
|
|
2010-03-09 21:12:32 +01:00
|
|
|
For Fedora and similar:
|
2009-11-02 18:25:04 +01:00
|
|
|
|
2014-03-29 02:14:51 +01:00
|
|
|
sudo yum install xapian-core-devel gmime-devel libtalloc-devel zlib-devel python-sphinx
|
2010-03-09 21:12:32 +01:00
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|