There is no /etc/sasldb file. There is a /usr/local/etc/sasldb2 file and the result of the 'file' command on it yields:
sasldb2: Berkeley DB (Hash, version 8, native byte-order)
I compiled cyrus-imapd2 as a 'port' on my FreeBSD machine with nothing but default options.
Well, since your saskdb2 file is in a non-default location, you're going to have to tell the library where it is. You should have at least these options:
sasl_pwcheck_method: auxprop sasl_sasldb_path: /usr/local/etc/sasldb2
No, that shouldn't be necessary - the FreeBSD port makes that the default location at compile time. (In FreeBSD, non-bundled software is normally installed in /usr/local rather than in the system directories.)
Check ownership and permissions. Verify that it is readable by user cyrus. (Or whatever userid you specify in /usr/local/etc/imapd.conf. The FreeBSD port uses 'cyrus' by default.)
Also, run sasldblistusers2 to verify that you have an entry in the database.
And check to make sure that the imapd was actually built using the right version of cyrus-sasl. Run 'ldd /usr/local/cyrus/bin/imapd' It should use libsasl.so.3.
-Pat