Cyrus SASL conflicts with OpenSSL

Artem Harutyunyan hartem at mail.yerphi.am
Mon Jan 9 11:08:13 EST 2006


Hi,

I am writing a new mechanism plugin, in which I need 
to use OpenSSL functions. When I am including OpenSSL 
headers (namely 'openssl/pem.h') among with Cyrus SASL 
headers ('plugin_common.h', 'saslplug.h' etc) I am getting the 
following compilation error: 
_________________________
$ make 
....
....
Making all in plugins
make[2]: Entering directory `/home/hartem/SASL/cyrus-sasl-2.1.21/plugins'
if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. 
-I../include -I../lib -I../sasldb -I../include    -Wall -W -g -O2 -MT 
testt.lo -MD -MP -MF ".deps/testt.Tpo" \
  -c -o testt.lo `test -f 'testt.c' || echo './'`testt.c; \
then mv ".deps/testt.Tpo" ".deps/testt.Plo"; \
else rm -f ".deps/testt.Tpo"; exit 1; \
fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../lib -I../sasldb 
-I../include -Wall -W -g -O2 -MT testt.lo -MD -MP -MF .deps/testt.Tpo -c 
testt.c  -fPIC -DPIC -o testt.lo
In file included from /usr/include/openssl/evp.h:84,
                 from /usr/include/openssl/pem.h:68,
                 from testt.c:56:
/usr/include/openssl/md5.h:105: conflicting types for `MD5_CTX'
../include/md5.h:30: previous declaration of `MD5_CTX'
....
....
_________________________

The problem is that in 'openssl/md5.h' there is a definition of 
structure called MD5_CTX which conflicts with definition of 
MD5_CTX from 'cyrus-sasl-2.1.21/include/md5.h'.  

How this conflict can be resolved ?

Thanks in advance for reply,
Artem.



More information about the Cyrus-sasl mailing list