1Build and install instructions for Notmuch. 2 3Compilation commands 4-------------------- 5The process for compiling and installing Notmuch is the very standard 6sequence of: 7 8 ./configure 9 make 10 sudo make install 11 12In fact, if you don't plan to pass any arguments to the configure 13script, then you can skip that step and just start with "make", (which 14will call configure for you). See this command: 15 16 ./configure --help 17 18for detailed documentation of the things you can control at the 19configure stage. 20 21Dependencies 22------------ 23Notmuch depends on four libraries: Xapian, GMime 3.0, 24Talloc, and zlib which are each described below: 25 26 Xapian 27 ------ 28 Xapian is the search-engine library underlying Notmuch. 29 30 It provides all the real machinery of indexing and searching, 31 (including the very nice parsing of the query string). 32 33 Xapian is available from https://xapian.org 34 35 GMime 36 ----- 37 GMime provides decoding of MIME email messages for Notmuch. 38 39 Without GMime, Notmuch would not be able to extract and index 40 the actual text from email message encoded as BASE64, etc. 41 42 GMime is available from https://github.com/jstedfast/gmime 43 44 Sfsexp 45 ------ 46 47 sfsexp is the "small fast s-expression" library. Notmuch 48 optionally use it to provide a second query parser. 49 50 sfsexp is available from https://github.com/mjsottile/sfsexp. 51 In Debian Bookworm and later, install libsexp-dev. 52 53 Talloc 54 ------ 55 Talloc is a memory-pool allocator used by Notmuch. 56 57 Talloc is an extremely lightweight and easy-to-use tool for 58 allocating memory in a hierarchical fashion and then freeing 59 it with a single call of the top-level handle. Using it has 60 made development of Notmuch much easier and much less prone to 61 memory leaks. 62 63 Talloc is available from https://talloc.samba.org/ 64 65 zlib 66 ---- 67 68 zlib is an extremely popular compression library. It is used 69 by Xapian, so if you installed that you will already have 70 zlib. You may need to install the zlib headers separately. 71 72 Notmuch needs the transparent write feature of zlib introduced 73 in version 1.2.5.2 (Dec. 2011). 74 75 zlib is available from https://zlib.net 76 77Building Documentation 78---------------------- 79 80To build the documentation for notmuch you need at least version 1.0 81of sphinx (Jul. 2010). 82 83Sphinx is available from www.sphinx-doc.org. 84 85To install the documentation as "info" pages, you will need the 86additional tools makeinfo and install-info. 87 88Installing Dependencies from Packages 89------------------------------------- 90 91On a modern, package-based operating system you can install all of the 92dependencies with a single simple command line. For example: 93 94 For Debian and similar: 95 96 sudo apt-get install libxapian-dev libgmime-3.0-dev libtalloc-dev zlib1g-dev python3-sphinx texinfo install-info 97 98 For Fedora and similar: 99 100 sudo dnf install xapian-core-devel gmime30-devel libtalloc-devel zlib-devel python3-sphinx texinfo info 101 102On other systems, a similar command can be used, but the details of 103the package names may be different. 104 105 106 107