Zarafa packages for Arch Linux ARM / x86 / i686

Lately someone asked me for help with his Zarafa-Server on his RaspberryPi 2 (ARM). He tried to build an installation package with my MAKEPKG file from Archlinux User Repository. But shortly I realized that it’s a pain compiling with gcc 5 on his system.

So that nobody else has to go through this, I decided to create a package repository for Arch Linux ARM. There you’ll find the latest build of Zarafas installation packages for Odroid and Raspberry Pi 2 devices.

Since I’m using this packages on my own, I can tell it’s working by the day it’s created. Future versions will be released as soon I proved them working integrated with the other Zarafa related packages.

Quick Demo – Running on Raspberry Pi 2

So what’s in there?

  • zarafa-server => Server with database, settings and locally trusted certificates
  • zarafa-libical => Libical with zarafas patches
  • zarafa-libvmime => Libvmime with zarafas patches
  • zarafa-webapp => Modern WebClient
  • zarafa-webapp-clockwidget => Clock for dashboard
  • zarafa-webapp-contactfax => Create mail with contacts fax number
  • zarafa-webapp-delayeddelivery => Schedule mails
  • zarafa-webapp-filepreviewer => Viewer for attachments
  • zarafa-webapp-files => OwnCloud / WebDAV integration
  • zarafa-webapp-folderwidgets => Mailfolders for dashboard
  • zarafa-webapp-gmaps => Show contacts address on google maps
  • zarafa-webapp-mdm => Mobile Device Management
  • zarafa-webapp-oauthlib => Create API classes with OAuth authentication
  • zarafa-webapp-passwd => Change your password from WebApp
  • zarafa-webapp-pimfolder => Quickly move your mail to another folder
  • zarafa-webapp-quickitems => Create items from dashboard
  • zarafa-webapp-smime => S/MIME integration
  • zarafa-webapp-spellchecker => Spellchecker
  • zarafa-webapp-titlecounter => Unread messages counter for browser tab
  • zarafa-webapp-webappmanual => Link to manual in toolbar
  • zarafa-webapp-webodf => Viewer for attached WebODF documents
  • zarafa-webapp-xmpp => XMPP based chat client
  • sabre-zarafa => CardDAV
  • z-push => ActiveSync

Read on my next post how to install, run and access the server.


32 thoughts on “Zarafa packages for Arch Linux ARM / x86 / i686

  1. Looks very interesting. I am going to try this one to create a power efficient little mail/calendar server at home. Thanks for sharing!


    1. Awesome! Maybe you’d like my last post? It didn’t take me more than 15 minutes to have it running 🙂


  2. “Path /$arch/$repo not found in local storage of repository “Archlinux” [id=archlinux]”

    warning: database file for ‘pietma’ does not exist

    Packages are not available anymore?


    1. Hey Marco!

      I just tested it. The repository is fine. But your pacman seems not to replace the placeholder $arch and $repo. This is why the repository server’s keeps telling you ‘Path /$arch/$repo not found’.

      Can you please post your entry from your pacman.conf? If this is no option you can try placing this absolute url ‘’.



      1. Well, after a little talking we found the problem. Pacman has to synchronize packages and download a fresh copy of the master package list from the server first.

        I updated my post with this detail…

        pacman -Sy



  3. I’m going to try this tonight on my (original) Banana Pi. I’ve been wanting something like this for ages, thank you! I know it may not work on that hardware, but worth a go. Anyone tried it?


    1. Since each BananaPi-Model is based on ARMv7, all of them should be working 🙂


  4. I get the error message: Cannot resolve z-push

    Where I can find the dependency?

    I use arch linux 4.1.19-2-arch

    Best Regards


    1. Hey!

      Z-Push has been uploaded but not added to the repositories index for some reason.

      Just retry installation => pacman -Sy z-push

      Sorry for the inconvenience.



  5. Hello,
    first of all thank you for your work an tutorial!

    After a few days zarafa and fetchmail works well on my raspi 3.
    But with postfix I had problems. After installing (3.1.0-4) I get the error message:
    postfix: error while loading shared libraries: cannot open shared object file: No such file or directory
    Installed is from pietma.
    I have run, no success.
    Do you have any Idea?


    1. Hey Norbert,

      I’m sorry for this inconvenience. Basically this is because Zarafa has been compiled against icu-56. For this reason ici-56 is provided by pietmacom and the updatescript won’t update to icu-57 from the official repository. But Postfix has been coming from official repository and is compiled against icu-57. Just downgrade to the last working Postfix version working with icu-56 located in /var/cache/pacman/pkg/postfix-* . You can install it with ‘pacman -U postfix-XXX.pkg.tar.xz’

      Currently I’m automizing the build process so Zarafa will be compiled and tested periodically against the newest libraries. With this change you shouldn’t need the updatescript anymore. During the last run I havent released the Postfix version that is working with icu-56 so it had to be installed from the official reporitory.

      I’m able to fix that next friday.



      1. Hi Marti,

        thanks for your fast response.
        Because I had no older version of postfix installed there is no entry in /var/cache/… ;-(
        Google can’t tell me a postfix version with icu-56. So I downloaded postfix-2.11.3-2 (last version 2) and tried it. And yes it works 😉
        Maybe this helps other.

        Best regards


        1. Great to hear!

          Usually I don’t delete packages from my repository. I just add new and update the index. In case anybody else needs an older package or dependency, than you can browse the repository and download it form there.



        2. Now the repository is re-generated every week (tuesday) against the new libraries from Archlinux. Except for those known to cause problems within Zarafa. And again, Postfix is uploaded to the repository.

          You can go with mentioning pietma before the first system repository in /etc/pacman.conf and simply run ‘pacman -Syu’. The updatescript is no longer needed.



  6. Hy Marti,

    until a few days ago your repository worked with http. Yesterday, pacman -Sy said “could not find homepage. I changed http to https in pacman.conf. And now I got the error:
    error: failed retrieving file ‘pietma.db’ from : error setting certificate verify Locations
    CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: None

    pacman -S ca-certificates did’nt help.

    Can you help me ?



    1. Hey Stephan,

      the problem seemed to be on my end. After almost 6 months without problems it seems yesterday the repository server crashed. It’s back now! 🙂 Eventually I might move the repository to another provider. But even there I’m going to expirience downtimes.

      Both http and https can be used to reach the repository. I’ve just added https as an option. So there’s no rush to change anything 🙂

      Sorry for the trouble and thanks for calling me up!



  7. Hi Marty,

    I’m trying to get zarafa working on my Raspberry Pi 2 and was following your nice installation guide.
    But for some unknown reason when start the installation
    proces: “pacman -S zarafa”.
    I get on the zarafa-server line the following error:
    ( 3/27) installing zarafa-server [##########] 100%
    /usr/bin/bash: post_upgrade: command not found
    error: command failed to execute correctly.
    The rest is installing nicely as expected.
    I also updated the pacman database and is up-to-date.

    Do you have an idea what I’m doing wrong here?



    1. Hey Chris,

      thank’s for the feedback! I’ve been bit busy with updating all packages to 7.2.3.

      This bug has come from a missing update function (post_upgrade) in the installation script. Usually this hasn’t been a big deal, since the package has been installed fine anyway and the installation hasn’t been canceled.

      I’ve fixed this issue by creating a dummy post_upgrade – function. It’s returning a success signal now => #!/bin/bash; return 0 .

      Just retry the DB update and installation in one-step 😉

      pacman -Sy zarafa



  8. First, thank you so much for making these packages available.

    Any chance you are working on or can produce an ARM aarch64 version of the Zarafa packages? The 32bit arm7h packages work great on the pi. Was hoping to install on an ODroid C2.


    1. Hey Paul,

      I think this shouldn’t be a big deal. The complete build setup is platform independent and as long serves images, I am able to build for it. In whole, we might be talking about 5 days of work.

      Right now I don’t own any Odroid C2 and I don’t plan to buy one for myself. Which is the biggest obstacle.

      However, if you like to support me and wish to have packages build for it regularly, you’re welcome to donate an Odroid C2 to 🙂 ?

      On the other hand, you could use any other armv7-based device installed with archlinuxarm to use these packages.



      1. Happy to donate! Let me know how I can send one your way. (or make a donation). Also would be happy to give you ssh access to my C2(pass along your pub key).


        1. Hey Paul,

          I have to setup a compilation environment on the Odroid C2 (libraries, keys, updates, settings…). This is not only a lot of work, it does not fit very well with the objectives of a productive mailserver, too. Compilation needs a stable system and Mailservers need an up to date system. It’s no fun fixing errors/crashes often. In addition, when build servers crash, as they tend to do, I need access to it. These circumstances would drive you crazy on a productive mailserver 🙂

          If you still wish to donate an Odroid C2, then I’ll do my best to create zarafa packages for it. You will be the first, who is able to test it 😉 In case things will not work out within the next two weeks, I will send the Odroid back to the seller and refund your money.

          Odroid C2 and case cost about 63 Euro.

          Odroid C2

          You can donate the 63 Euro with Paypal by the button on my website or this link.




          1. Really I’m happy to help. I’m using your packages either way. I may just switch to a 32bit system if you don’t have good luck with the aarch64 packages. Sending a donation your way. No need to refund if things don’t work out. I’m sure you can find a use for the C2.

          2. Hey Paul,

            thanks for the donation! The money arrived safe and sound 😉 I placed the order yesterday. As soon things are ready and tested, I will mention you on the announcement 🙂

            I’m glad to hear, that you like my packages 😉

            Thanks again!


    1. Worked first try! No adjustments needed to the original install doc. I’ll work more this weekend on porting my working conifg and data to it.

      Thank you so much for the fast and accurate work!

      I’ll update again once I get more data loaded.


      1. Marti – It’s been running flawless now for 2 weeks. server, search and postfixadmin all work great. I did switch to Percona MySQL because I had a couple power hiccups and mariaDB corrupted InnoDB every time. Thanks again for working so quickly. -PaulG


        1. Thanks for testing and the feedback! I’ll create a post later.

          Did you have problems with mysql after crashes or after powering off the device? – In this case you might want to disable the use of stored procedures in zarafa.conf.

          You might start your server manually – no systemd autostarts. By this occasion you can check filesystem, mysql, and z-push states.

          systemctl start mysqld

          # update database?
          mysql_upgrade -u root -p “secret”
          # fix database?
          mysqlcheck –repair mysql proc -u root -p “secret”

          systemctl start zarafa-server
          systemctl start php-fpm
          systemctl start nginx

          z-push-admin -a fixstates



  9. It was a very odd problem. It would occur after an accidental power failure. The corruption was within the INNODB table data and could not be repaired when mysql started back up and re-played the transaction log. Double write buffer and O_DIRECT are enabled. There must be some buffering that MariaDB does not disable which keeps some
    “committed” writes in memory.

    None of the myisam data was corrupted (ie the mysql.* tables). Nothing that mysqlcheck could repair.

    Switching to Percona MYSQL and using InnoDB for all the Zarafa tables has been able to recover from power failures. (I did several tests of syncing mail data to Zarafa via imap while disconnecting the power) and each time Percona was able to re-play the logs and restore the table data w/o corruption.

    There could be an bug in that MariaDB AACH64 package? Unfortunately I’m not as familiar with MariaDB as I am with the Percona distributions.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.