dupe of #24836. sasl2 wont start because /var/lib/sasl2 doesn't exist. Working directory for sasl is /usr/lib/sasl2. Workaround is to 'ln -s /var/lib/sasl2 /usr/lib/sasl2'. However that information is absent from the docs. * dev-libs/cyrus-sasl Latest version available: 2.1.14 Latest version installed: 2.1.14 Size of downloaded files: 1,343 kB Homepage: http://asg.web.cmu.edu/sasl/ Description: The Cyrus SASL (Simple Authentication and Security Layer) Reproducible: Always Steps to Reproduce: 1.code listing 4.1 and 4.2 in Virtual Mail HOWTO Actual Results: # /etc/init.d/saslauthd start * Starting saslauthd... saslauthd[17874] :main : could not chdir to: /var/lib/sasl2 saslauthd[17874] :main : chdir: No such file or directory saslauthd[17874] :main : Check to make sure the directory exists and is saslauthd[17874] :main : writeable by the user this process runs as. Expected Results: saslauthd should start w/o error
I don't see the need to patch the documentation; documentation isn't the "last resort to fix bugs". Anyway, creating a symlink also clutters the filesystem. We like to keep the filesystem "known" to Portage as much as possible, i.e. through ebuilds.
Have you tried simply creating the /var/lib/sasl2 directory? (It should have been created as part of the build process, but might have disappeared.) Try creating it and removing the link you made and starting saslauthd again. This is also working properly in 2.1.17, so I'm going to close this bug.
*** Bug 32316 has been marked as a duplicate of this bug. ***
While I can see how this was tagged as a duplicate (one aspect of it is), there is still the pending suggestion to use /var/run/saslauthd, instead of /(var|usr)/lib/sasl2. This seems to be the default now for saslauthd, and really makes a whole lot more sense since it holds the socket,lock,and pid used by saslauthd. I have done it on my mail-server, wich uses sasl for SMTP AUTH via Sendmail with out much issue. Since there is already 'fixes' flying around making sym-links to resolve the /(var|usr) issue, it would stand to clear things up to move it. This dir really has to be configured at compile time for the CyrusSASL libs, even though saslauthd itself can take it from the commandline.