Next: , Previous: , Up: Getting started   [Contents]

2.2 Installation

mu4e is part of mu — by installing the latter, the former is installed as well. Some Linux distributions provide packaged versions of mu/mu4e; if you can use those, there is no need to compile anything yourself. However, if there are no packages for your distribution, if they are outdated, or if you want to use the latest development versions, you can follow the steps below.

First, you need make sure you have the necessary dependencies; the details depend on your distribution. If you’re using another distribution (or another OS), the below can at least be helpful in identifying the packages to install.

We provide some instructions for Debian, Ubuntu and Fedora; if those do not apply to you, you can follow either Building from a release tarball or Building from git.

2.2.1 Dependencies for Debian/Ubuntu

$ sudo apt-get install libgmime-3.0-dev libxapian-dev

# get emacs 25 or higher if you don't have it yet
$ sudo apt-get install emacs

# optional
$ sudo apt-get install guile-2.2-dev html2text xdg-utils

# optional: only needed for msg2pdf and mug (toy gtk+ frontend)
$ sudo apt-get install libwebkitgtk-3.0-dev

2.2.2 Dependencies for Fedora

$ sudo yum install gmime30-devel xapian-core-devel

# get emacs 25 or higher if you don't have it yet
$ sudo yum install emacs

# optional
$ sudo yum install html2text xdg-utils guile22-devel

# optional: only needed for msg2pdf and mug (toy gtk+ frontend)
$ sudo yum install webkitgtk3-devel

2.2.3 Building on Msys2

# 1) install makepkg tool

pacman -S base-devel msys-devel gcc git

# 2) clone packages repo

cd ~
git clone --depth=1

# make and install dependencies

cd ~/MSYS2-packages/xapian-core
makepkg -s
pacman -U xapian-core-1.4.15-1-x86_64.pkg.tar.xz

cd ~/MSYS2-packages/gmime3
makepkg -s
pacman -U gmime3-devel-3.2.6-1-x86_64.pkg.tar.xz

# 4) make and install mu from git (changes versions as needed)

cd ~/MSYS2-packages/mu
makepkg -sfp PKGBUILD-git
pacman -U mu-git-2020-03-01-r4854.17f38dc4-1-x86_64.pkg.tar.xz

2.2.4 Building from a release tarball

Using a release-tarball (as available from GitHub14), installation follows the typical steps:

$ tar xvfz mu-<version>.tar.gz  # use the specific version
$ cd mu-<version>
# On the BSDs: use gmake instead of make
$ ./configure && make
$ sudo make install

Xapian, GMime and their dependencies must be installed.

2.2.5 Building from git

Alternatively, if you build from the git repository or use a tarball like the ones that github produces, the instructions are slightly different, and require you to have autotools (autoconf, automake, libtool, texinfo) installed:

# get from git (alternatively, use a github tarball)
$ git clone git://

$ cd mu
$ ./ && make
# On the BSDs: use gmake instead of make
$ sudo make install

(Xapian, GMime and their dependencies must be installed).

After this, mu and mu4e should be installed 15 on your system, and be available from the command line and in Emacs.

You may need to restart Emacs, so it can find mu4e in its load-path. If, even after restarting, Emacs cannot find mu4e, you may need to add it to your load-path explicitly; check where mu4e is installed, and add something like the following to your configuration before trying again:

;; the exact path may differ --- check it
(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/mu4e")

2.2.6 mu4e and emacs customization

There is some support for using the Emacs customization system in mu4e, but for now, we recommend setting the values manually. Please refer to Example configs for a couple of examples of this; here we go through things step-by-step.




there’s a hard dependency between versions of mu4e and mu — you cannot combine different versions

Next: , Previous: , Up: Getting started   [Contents]