The default Cyrus2.2 package in Ubuntu Edgy does not work. There is a dependency issue. This only took me three days to finally figure out why the crap wasn’t working. But, due to the comments posted on the bug on launchpad, I was able to fix the problem here at home.
As taken from the comments of Daniel Givens:
1. Download the attached control patch file which simply changes the build-depends from libdb4.3-dev to libdb4.4-dev. Patch file here.
2. Get the cyrus-imapd-2.2 source
# apt-get source cyrus-imapd-2.2
The source will be downloaded and expanded in your current working directory
3. Get the build dependencies
# apt-get build-dep cyrus-imapd-2.2
# apt-get install libdb4.4-dev fakeroot
Since the current source lists libdb4.3-dev as a build dependency, we need to get libdb4.4-dev ourselves. Fakeroot is also needed to properly build the package.
4. Apply the control patch
# patch -p0 < control.diff
5. Build the new packages
# cd cyrus-imapd-2.2-2.2.13/
# dpkg-buildpackage -rfakeroot -b
Packages will be built and placed in the parent directory
6. Install the packages
# cd ..
# dpkg -i cyrus*.deb
And because i was continually trying to create accounts in the sasl database, I removed my old /etc/sasldb2 file and did a “saslpasswd2 -c cyrus” to recreate it.