Installing Cyrus SASL with sendmail on Solaris

The following steps show how to install Cyrus SASL on Solaris, and build sendmail with Cyrus SASL support.

1. Download Cyrus SASL and unpack the source.

2. Build and install Cyrus SASL.
$ ./configure --with-openssl=/usr/local/ssl

Note: On Solaris 8 systems, I had to use the following configure command to build Cyrus SASL:
$ CFLAGS=-DOPENSSL_DISABLE_OLD_DES_SUPPORT=1 ./configure --with-openssl=/usr/local/ssl

Without the CFLAGS modification, I received the following error:

In file included from auth_getpwent.c:53:
/usr/include/crypt.h:22: parse error before '(' token
/usr/include/crypt.h:22: parse error before "const"
make[3]: *** [auth_getpwent.o] Error 1

$ make

# make install

3. Rebuild sendmail with Cyrus SASL support.

$ cd $sendmail_source

Add the following to devtools/Site/site.config.m4:
APPENDDEF(`confLIBDIRS', `-L/usr/local/lib')
APPENDDEF(`confENVDEF', `-DSASL=2')

APPENDDEF(`conf_sendmail_LIBS', `-lsasl2')

$ ./Build -c

# ./Build install

4. Test sendmail for Cyrus SASL support.

$ sendmail -d0.1 -bt < /dev/null

...
 Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7
                NAMED_BIND NDBM NETINET NETINET6 NETUNIX NEWDB NIS NISPLUS
                PIPELINING SASLv2 SCANF STARTTLS USERDB XDEBUG
...

Troubleshooting

"ld.so.1: /usr/lib/sendmail: fatal: libsasl2.so.2: open failed: No such file or directory"

If you receive this error, make sure /usr/local/lib is in your Default Library Path.

$ crle

Default configuration file (/var/ld/ld.config) not found
  Default Library Path (ELF):   /usr/lib  (system default)
  Trusted Directories (ELF):    /usr/lib/secure  (system default)

# crle -u -l /usr/local/lib

Back to brandonhutchinson.com.
Last modified: 2006/07/31