Cyrus SASL Developer Guide

Compile from source

Fetch the source

Fetch from git

If you’re not familiar with Git, there are detailed instructions in the Cyrus IMAPd GitHub guide.

Cyrus SASL is at

To contribute, we recommend forking the code then issuing a pull request when you’re ready.

Once forked on GitHub, you can obtain a copy by:

git clone

You will then want to set your local copy to get its changes from the original repository, so it stays in sync. Use git remote -v to show the current origins of your clone which will currently be your fork:

git remote -v
origin (fetch)
origin (push)

We want to set that instead to point to the primary original upstream repository:

git remote add upstream

Now we can check to see that the upstream is set:

git remote -v
origin (fetch)
origin (push)
upstream (fetch)
upstream (push)

We recommend you create a topic branch and make your changes (don’t forget to test!). Using a topic branch means you can keep your master source in sync without affecting your changes. It also means that if your patch undergoes further revisions before inclusion, you can easily do so.

Unpack from tarball

Cyrus SASL releases are available to download in tarball format from




cd (source directory) sh SMakefile ./configure make make install ln -s /usr/local/lib/sasl2 /usr/lib/sasl2


./configure …