mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
f981f5bae0
Fedora still has an old gmime-devel which is 2.6.x. This is no longer supported by notmuch. Also apparently dnf is a better choice than yum.
104 lines
3 KiB
Text
104 lines
3 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.
|
|
|
|
Dependencies
|
|
------------
|
|
Notmuch depends on four libraries: Xapian, GMime 3.0,
|
|
Talloc, and zlib 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 https://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
|
|
-----
|
|
GMime 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 is available from https://github.com/jstedfast/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 https://talloc.samba.org/
|
|
|
|
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 https://zlib.net
|
|
|
|
Building Documentation
|
|
----------------------
|
|
|
|
To build the documentation for notmuch you need at least version 1.0
|
|
of sphinx (Jul. 2010).
|
|
|
|
Sphinx is available from www.sphinx-doc.org.
|
|
|
|
To install the documentation as "info" pages, you will need the
|
|
additional tools makeinfo and install-info.
|
|
|
|
Installing Dependencies from Packages
|
|
-------------------------------------
|
|
|
|
On a modern, package-based operating system you can install all of the
|
|
dependencies with a single simple command line. For example:
|
|
|
|
For Debian and similar:
|
|
|
|
sudo apt-get install libxapian-dev libgmime-3.0-dev libtalloc-dev zlib1g-dev python3-sphinx texinfo install-info
|
|
|
|
For Fedora and similar:
|
|
|
|
sudo dnf install xapian-core-devel gmime30-devel libtalloc-devel zlib-devel python3-sphinx texinfo info
|
|
|
|
On other systems, a similar command can be used, but the details of
|
|
the package names may be different.
|
|
|
|
|
|
|