<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>email &amp;mdash; musicmatzes blog</title>
    <link>https://beyermatthias.de/tag:email</link>
    <description></description>
    <pubDate>Wed, 06 May 2026 18:13:30 +0200</pubDate>
    <item>
      <title>Installing notmuch and muchsync on uberspace</title>
      <link>https://beyermatthias.de/installing-notmuch-and-muchsync-on-uberspace</link>
      <description>&lt;![CDATA[Because I want to use notmuch for my mails and also sync tags between my&#xA;machines, I figured I should install notmuch and muchsync on my uberspace.&#xA;But because centos7 does not have packages and uberspace does not yet provide a&#xA;way to conveniently install packages for a user, I had to compile the world.&#xA;&#xA;Here&#39;s the guide for doing it.&#xA;&#xA;Preface&#xA;&#xA;In the following steps, I will download, unpack and build sources from scratch.&#xA;My download and compile folder will be at $HOME/compile.&#xA;My install folder will be at $HOME/install. I don&#39;t be installing stuff into&#xA;my $HOME directly on the uberspace, because I want to be a bit organized here.&#xA;&#xA;Thus, you might want to adapt your commandline calls.&#xA;&#xA;Obtaining sources&#xA;&#xA;First, you should go and fetch all latest sources for the whole dependency&#xA;chain.&#xA;I will not link to the individual tarballs, you should figure out the links for&#xA;yourself to get the latest and greatest of each project.&#xA;&#xA;Here&#39;s the list of links where you&#39;ll find the code you&#39;ll need to compile:&#xA;&#xA;https://www.samba.org/ftp/talloc/&#xA;https://xapian.org/download&#xA;https://notmuchmail.org/releases/&#xA;http://www.muchsync.org/src/&#xA;https://download.gnome.org/sources/gmime/3.2/&#xA;  (because github release tags or gitlab release tags do not contain ./configure&#xA;  (thanks to gnome developers thinking it might not be necessary to actually&#xA;  include their build toolchain in the repository), you&#39;ll need to use this&#xA;  link).&#xA;https://gnupg.org/ftp/gcrypt/libksba/&#xA;https://www.gnupg.org/download/index.html (gpgme, libgpg-error, libassuan,&#xA;  npth, ntbtls, gnupg)&#xA;&#xA;Configuring the build(s) and building&#xA;&#xA;First of all, execute&#xA;&#xA;mkdir -p $HOME/install/lib/pkgconfig&#xA;export PKGCONFIGPATH=$HOME/install/lib/pkgconfig/:$PKGCONFIGPATH&#xA;&#xA;To make sure the pkg-config utility finds the right package configuration files.&#xA;&#xA;It follows a list of configure calls for the respectice library/binary.&#xA;I hope this list is complete and I didn&#39;t miss anything in the process.&#xA;Feel free to mail-ping me if something is missing.&#xA;&#xA;For all packages that are not listed here, a simple&#xA;&#xA;./configure --prefix=$HOME/install &amp;&amp; make install&#xA;&#xA;did the job. For the following packages, it was not as convenient, but after&#xA;successfully configuring, you can install all of them with a simple `make&#xA;install`.&#xA;&#xA;libassuan&#xA;&#xA;./configure --prefix=$HOME/install \&#xA;    --with-libgpg-error-prefix=$HOME/install/&#xA;&#xA;gpgme&#xA;&#xA;./configure --prefix=$HOME/install \&#xA;    --with-libgpg-error-prefix=$HOME/install \&#xA;    --with-libassuan-prefix=$HOME/install&#xA;&#xA;libksba&#xA;&#xA;./configure --prefix=$HOME/install \&#xA;    --with-libgpg-error-prefix=$HOME/install&#xA;&#xA;gmime&#xA;&#xA;PATH=$HOME/install/bin:$PATH ./configure --prefix=$HOME/install&#xA;&#xA;libgcrypt&#xA;&#xA;./configure --prefix=$HOME/install \&#xA;    --with-libgpg-error-prefix=$HOME/install&#xA;&#xA;ntbtls&#xA;&#xA;./configure --prefix=$HOME/install \&#xA;    --with-libgpg-error-prefix=$HOME/install \&#xA;    --with-libgcrypt-prefix=$HOME/install \&#xA;    --with-ksba-prefix=$HOME/install&#xA;&#xA;gnupg&#xA;&#xA;./configure --prefix=$HOME/install \&#xA;    --with-libgpg-error-prefix=$HOME/install \&#xA;    --with-libgcrypt-prefix=$HOME/install \&#xA;    --with-libassuan-prefix=$HOME/install \&#xA;    --with-ksba-prefix=$HOME/install&#xA;&#xA;notmuch&#xA;&#xA;You might want to open a new shell for the environment variables&#xA;&#xA;export LDLIBRARYPATH=$HOME/install/lib:$LDLIBRARYPATH PATH=$HOME/install/bin:$PATH&#xA;export LDFLAGS=&#34;$LDFLAGS -L$HOME/install/lib/ &#34;&#xA;export CFLAGS=&#34;$CFLAGS -I$HOME/install/include/ -std=c99 &#34;&#xA;export PKGCONFIGPATH=$HOME/install/lib/pkgconfig:$PKGCONFIGPATH&#xA;&#xA;./configure --prefix=$HOME/install \&#xA;    --without-bash-completion \&#xA;    --without-docs \&#xA;    --without-api-docs \&#xA;    --without-emacs \&#xA;    --without-desktop \&#xA;    --without-ruby \&#xA;    --without-zsh-completion&#xA;&#xA;muchsync&#xA;&#xA;You might want to open a new shell for the environment variables&#xA;&#xA;export LDFLAGS=&#34;$LDFLAGS -L$HOME/install/lib/ -Wl,-rpath,$HOME/install/lib/&#34;&#xA;export LDLIBRARYPATH=$HOME/install/lib:$LDLIBRARYPATH&#xA;export CXXFLAGS=&#34;$CXXFLAGS -I$HOME/install/include &#34;&#xA;export PKGCONFIGPATH=$HOME/install/lib/pkgconfig&#xA;&#xA;./configure --prefix=$HOME/install --exec-prefix=$HOME/install&#xA;&#xA;List of versions this guide was written for&#xA;&#xA;This is the (alphabetically sorted) list of stuff I had to compile and install,&#xA;including versions so you can figure whether you have something newer and might&#xA;need to investigate on differences when compiling your stuff:&#xA;&#xA;gmime-3.2.7&#xA;gnupg-2.2.21&#xA;gpgme-1.14.0&#xA;libassuan-2.5.3&#xA;libgcrypt-1.8.6&#xA;libgpg-error-1.38&#xA;libksba-1.4.0&#xA;muchsync-5&#xA;notmuch-0.30&#xA;npth-1.6&#xA;ntbtls-0.1.2&#xA;talloc-2.3.1&#xA;xapian-core-1.4.16&#xA;&#xA;Of course you should update your installation if new versions come out.&#xA;&#xA;Happy compiling.&#xA;&#xA;tags: #uberspace #email #linux&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Because I want to use notmuch for my mails and also sync tags between my
machines, I figured I should install notmuch and muchsync on my uberspace.
But because centos7 does not have packages and uberspace does not yet provide a
way to conveniently install packages for a user, I had to compile the world.</p>

<p>Here&#39;s the guide for doing it.</p>

<h1 id="preface" id="preface">Preface</h1>

<p>In the following steps, I will download, unpack and build sources from scratch.
My download and compile folder will be at <code>$HOME/compile</code>.
My install folder will be at <code>$HOME/install</code>. I don&#39;t be installing stuff into
my $HOME directly on the uberspace, because I want to be a bit organized here.</p>

<p>Thus, you might want to adapt your commandline calls.</p>

<h1 id="obtaining-sources" id="obtaining-sources">Obtaining sources</h1>

<p>First, you should go and fetch all latest sources for the whole dependency
chain.
I will not link to the individual tarballs, you should figure out the links for
yourself to get the latest and greatest of each project.</p>

<p>Here&#39;s the list of links where you&#39;ll find the code you&#39;ll need to compile:</p>
<ul><li><a href="https://www.samba.org/ftp/talloc/">https://www.samba.org/ftp/talloc/</a></li>
<li><a href="https://xapian.org/download">https://xapian.org/download</a></li>
<li><a href="https://notmuchmail.org/releases/">https://notmuchmail.org/releases/</a></li>
<li><a href="http://www.muchsync.org/src/">http://www.muchsync.org/src/</a></li>
<li><a href="https://download.gnome.org/sources/gmime/3.2/">https://download.gnome.org/sources/gmime/3.2/</a>
(because github release tags or gitlab release tags do not contain ./configure
(thanks to gnome developers thinking it might not be necessary to actually
include their build toolchain in the repository), you&#39;ll <em>need</em> to use this
link).</li>
<li><a href="https://gnupg.org/ftp/gcrypt/libksba/">https://gnupg.org/ftp/gcrypt/libksba/</a></li>
<li><a href="https://www.gnupg.org/download/index.html">https://www.gnupg.org/download/index.html</a> (gpgme, libgpg-error, libassuan,
npth, ntbtls, gnupg)</li></ul>

<h1 id="configuring-the-build-s-and-building" id="configuring-the-build-s-and-building">Configuring the build(s) and building</h1>

<p>First of all, execute</p>

<pre><code>mkdir -p $HOME/install/lib/pkgconfig
export PKG_CONFIG_PATH=$HOME/install/lib/pkgconfig/:$PKG_CONFIG_PATH
</code></pre>

<p>To make sure the pkg-config utility finds the right package configuration files.</p>

<p>It follows a list of configure calls for the respectice library/binary.
I <em>hope</em> this list is complete and I didn&#39;t miss anything in the process.
Feel free to mail-ping me if something is missing.</p>

<p>For all packages that are not listed here, a simple</p>

<pre><code>./configure --prefix=$HOME/install &amp;&amp; make install
</code></pre>

<p>did the job. For the following packages, it was not as convenient, but after
successfully configuring, you can install all of them with a simple <code>make
install</code>.</p>

<h2 id="libassuan" id="libassuan">libassuan</h2>

<pre><code>./configure --prefix=$HOME/install \
    --with-libgpg-error-prefix=$HOME/install/
</code></pre>

<h2 id="gpgme" id="gpgme">gpgme</h2>

<pre><code>./configure --prefix=$HOME/install \
    --with-libgpg-error-prefix=$HOME/install \
    --with-libassuan-prefix=$HOME/install
</code></pre>

<h2 id="libksba" id="libksba">libksba</h2>

<pre><code>./configure --prefix=$HOME/install \
    --with-libgpg-error-prefix=$HOME/install
</code></pre>

<h2 id="gmime" id="gmime">gmime</h2>

<pre><code>PATH=$HOME/install/bin:$PATH ./configure --prefix=$HOME/install
</code></pre>

<h2 id="libgcrypt" id="libgcrypt">libgcrypt</h2>

<pre><code>./configure --prefix=$HOME/install \
    --with-libgpg-error-prefix=$HOME/install
</code></pre>

<h2 id="ntbtls" id="ntbtls">ntbtls</h2>

<pre><code>./configure --prefix=$HOME/install \
    --with-libgpg-error-prefix=$HOME/install \
    --with-libgcrypt-prefix=$HOME/install \
    --with-ksba-prefix=$HOME/install
</code></pre>

<h2 id="gnupg" id="gnupg">gnupg</h2>

<pre><code>./configure --prefix=$HOME/install \
    --with-libgpg-error-prefix=$HOME/install \
    --with-libgcrypt-prefix=$HOME/install \
    --with-libassuan-prefix=$HOME/install \
    --with-ksba-prefix=$HOME/install
</code></pre>

<h2 id="notmuch" id="notmuch">notmuch</h2>

<p>You might want to open a new shell for the environment variables</p>

<pre><code>export LD_LIBRARY_PATH=$HOME/install/lib:$LD_LIBRARY_PATH PATH=$HOME/install/bin:$PATH
export LDFLAGS=&#34;$LDFLAGS -L$HOME/install/lib/ &#34;
export CFLAGS=&#34;$CFLAGS -I$HOME/install/include/ -std=c99 &#34;
export PKG_CONFIG_PATH=$HOME/install/lib/pkgconfig:$PKG_CONFIG_PATH

./configure --prefix=$HOME/install \
    --without-bash-completion \
    --without-docs \
    --without-api-docs \
    --without-emacs \
    --without-desktop \
    --without-ruby \
    --without-zsh-completion
</code></pre>

<h2 id="muchsync" id="muchsync">muchsync</h2>

<p>You might want to open a new shell for the environment variables</p>

<pre><code>export LDFLAGS=&#34;$LDFLAGS -L$HOME/install/lib/ -Wl,-rpath,$HOME/install/lib/&#34;
export LD_LIBRARY_PATH=$HOME/install/lib:$LD_LIBRARY_PATH
export CXXFLAGS=&#34;$CXXFLAGS -I$HOME/install/include &#34;
export PKG_CONFIG_PATH=$HOME/install/lib/pkgconfig

./configure --prefix=$HOME/install --exec-prefix=$HOME/install
</code></pre>

<h1 id="list-of-versions-this-guide-was-written-for" id="list-of-versions-this-guide-was-written-for">List of versions this guide was written for</h1>

<p>This is the (alphabetically sorted) list of stuff I had to compile and install,
including versions so you can figure whether you have something newer and might
need to investigate on differences when compiling your stuff:</p>
<ul><li>gmime-3.2.7</li>
<li>gnupg-2.2.21</li>
<li>gpgme-1.14.0</li>
<li>libassuan-2.5.3</li>
<li>libgcrypt-1.8.6</li>
<li>libgpg-error-1.38</li>
<li>libksba-1.4.0</li>
<li>muchsync-5</li>
<li>notmuch-0.30</li>
<li>npth-1.6</li>
<li>ntbtls-0.1.2</li>
<li>talloc-2.3.1</li>
<li>xapian-core-1.4.16</li></ul>

<p>Of course you should update your installation if new versions come out.</p>

<p>Happy compiling.</p>

<p>tags: <a href="https://beyermatthias.de/tag:uberspace" class="hashtag"><span>#</span><span class="p-category">uberspace</span></a> <a href="https://beyermatthias.de/tag:email" class="hashtag"><span>#</span><span class="p-category">email</span></a> <a href="https://beyermatthias.de/tag:linux" class="hashtag"><span>#</span><span class="p-category">linux</span></a></p>
]]></content:encoded>
      <guid>https://beyermatthias.de/installing-notmuch-and-muchsync-on-uberspace</guid>
      <pubDate>Sun, 26 Jul 2020 16:40:11 +0200</pubDate>
    </item>
  </channel>
</rss>