I am trying to compile cyrus-sasl for use with postfix and cyrus-imapd to provide Email services on my box.
I compiled and installed openssl-1.0.0b successfully; indeed, other applications (Apache et al) compiled and linked against the installed OpenSSL properly.
(I have been installing most packages to /usr)
I have also completed installation and testing of mysql-5.1.53.
Cyrus-sasl configures OK with the following configure command:
Code:
./configure --with-openssl=/usr --prefix=/usr --with-mysql=/usr
However I do notice the following anomalies:
Code:
checking LOGIN... disabled
configure: WARNING: OpenSSL not found -- NTLM will be disabled
checking NTLM... disabled
configure: WARNING: OpenSSL not found -- PASSDSS will be disabled
checking PASSDSS... disabled
checking SQL... disabled
Upon compilation, the following error occurs:
Code:
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../lib -I../sasldb -I../include -I/usr/include/mysql -Wall -W -g -O2 -MT digestmd5.lo -MD -MP -MF .deps/digestmd5.Tpo -c digestmd5.c -fPIC -DPIC -o digestmd5.lo
digestmd5.c:279:37: warning: pointer targets in initialization differ in signedness
digestmd5.c: In function 'DigestCalcResponse':
digestmd5.c:366:2: warning: pointer targets in passing argument 2 of 'utils->MD5Update' differ in signedness
digestmd5.c:366:2: note: expected 'const unsigned char *' but argument is of type 'char *'
digestmd5.c: At top level:
digestmd5.c:812:5: error: expected specifier-qualifier-list before 'des_key_schedule'
digestmd5.c: In function 'dec_3des':
digestmd5.c:849:5: warning: implicit declaration of function 'des_ede2_cbc_encrypt'
digestmd5.c:852:6: error: 'des_context_t' has no member named 'keysched'
digestmd5.c:853:6: error: 'des_context_t' has no member named 'keysched2'
digestmd5.c:854:7: error: 'des_context_t' has no member named 'ivec'
digestmd5.c:855:5: error: 'DES_DECRYPT' undeclared (first use in this function)
digestmd5.c:855:5: note: each undeclared identifier is reported only once for each function it appears in
digestmd5.c:842:21: warning: unused parameter 'digest'
digestmd5.c: In function 'enc_3des':
digestmd5.c:900:6: error: 'des_context_t' has no member named 'keysched'
digestmd5.c:901:6: error: 'des_context_t' has no member named 'keysched2'
digestmd5.c:902:7: error: 'des_context_t' has no member named 'ivec'
digestmd5.c:903:5: error: 'DES_ENCRYPT' undeclared (first use in this function)
digestmd5.c: In function 'init_3des':
digestmd5.c:923:5: warning: implicit declaration of function 'des_key_sched'
digestmd5.c:923:24: error: 'des_cblock' undeclared (first use in this function)
digestmd5.c:923:36: error: expected expression before ')' token
digestmd5.c:927:36: error: expected expression before ')' token
digestmd5.c:929:13: error: 'des_context_t' has no member named 'ivec'
digestmd5.c:936:36: error: expected expression before ')' token
digestmd5.c:940:36: error: expected expression before ')' token
digestmd5.c:943:13: error: 'des_context_t' has no member named 'ivec'
digestmd5.c: In function 'dec_des':
digestmd5.c:967:5: warning: implicit declaration of function 'des_cbc_encrypt'
digestmd5.c:970:8: error: 'des_context_t' has no member named 'keysched'
digestmd5.c:971:9: error: 'des_context_t' has no member named 'ivec'
digestmd5.c:972:7: error: 'DES_DECRYPT' undeclared (first use in this function)
digestmd5.c:976:13: error: 'des_context_t' has no member named 'ivec'
digestmd5.c:960:20: warning: unused parameter 'digest'
digestmd5.c: In function 'enc_des':
digestmd5.c:1021:22: error: 'des_context_t' has no member named 'keysched'
digestmd5.c:1022:23: error: 'des_context_t' has no member named 'ivec'
digestmd5.c:1023:21: error: 'DES_ENCRYPT' undeclared (first use in this function)
digestmd5.c:1027:13: error: 'des_context_t' has no member named 'ivec'
digestmd5.c: In function 'init_des':
digestmd5.c:1047:20: error: 'des_cblock' undeclared (first use in this function)
digestmd5.c:1047:32: error: expected expression before ')' token
digestmd5.c:1049:13: error: 'des_context_t' has no member named 'ivec'
digestmd5.c:1056:32: error: expected expression before ')' token
digestmd5.c:1058:13: error: 'des_context_t' has no member named 'ivec'
digestmd5.c: In function 'dec_rc4':
digestmd5.c:1211:20: warning: unused parameter 'digest'
digestmd5.c: In function 'digestmd5_encode':
digestmd5.c:1401:10: warning: pointer targets in passing argument 5 of 'text->utils->hmac_md5' differ in signedness
digestmd5.c:1401:10: note: expected 'unsigned char *' but argument is of type 'char *'
digestmd5.c: In function 'digestmd5_decode_packet':
digestmd5.c:1497:12: warning: pointer targets in assignment differ in signedness
digestmd5.c: In function 'digestmd5_server_mech_new':
digestmd5.c:1797:22: warning: unused parameter 'challenge'
digestmd5.c:1798:19: warning: unused parameter 'challen'
digestmd5.c: In function 'digestmd5_server_mech_step1':
digestmd5.c:1947:5: warning: pointer targets in passing argument 6 of 'add_to_challenge' differ in signedness
digestmd5.c:505:12: note: expected 'unsigned char *' but argument is of type 'char *'
digestmd5.c:1820:20: warning: unused parameter 'clientin'
digestmd5.c:1821:17: warning: unused parameter 'clientinlen'
digestmd5.c:1824:28: warning: unused parameter 'oparams'
digestmd5.c: In function 'digestmd5_server_mech_step2':
digestmd5.c:2235:9: warning: pointer targets in passing argument 2 of '_plug_strdup' differ in signedness
plugin_common.h:147:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2238:9: warning: pointer targets in passing argument 2 of '_plug_strdup' differ in signedness
plugin_common.h:147:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2274:5: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
/usr/include/string.h:399:15: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2274:5: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
digestmd5.c:2274:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2274:5: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
/usr/include/string.h:399:15: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2274:5: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
digestmd5.c:2274:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2274:5: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
digestmd5.c:2274:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2274:5: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
digestmd5.c:2274:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2286:5: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
/usr/include/string.h:399:15: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2286:5: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
/usr/include/string.h:399:15: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2286:5: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
digestmd5.c:2286:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2286:5: warning: pointer targets in passing argument 2 of '__builtin_strcmp' differ in signedness
digestmd5.c:2286:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2286:5: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
/usr/include/string.h:399:15: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2286:5: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
digestmd5.c:2286:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2286:5: warning: pointer targets in passing argument 2 of '__builtin_strcmp' differ in signedness
digestmd5.c:2286:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2286:5: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
/usr/include/string.h:399:15: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2286:5: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
digestmd5.c:2286:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2286:5: warning: pointer targets in passing argument 2 of '__builtin_strcmp' differ in signedness
digestmd5.c:2286:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2286:5: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
digestmd5.c:2286:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2286:5: warning: pointer targets in passing argument 2 of '__builtin_strcmp' differ in signedness
digestmd5.c:2286:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:2351:2: warning: pointer targets in passing argument 1 of '__builtin_strncpy' differ in signedness
digestmd5.c:2351:2: note: expected 'char *' but argument is of type 'unsigned char *'
digestmd5.c:2369:9: warning: pointer targets in passing argument 2 of 'DigestCalcSecret' differ in signedness
digestmd5.c:430:13: note: expected 'unsigned char *' but argument is of type 'char *'
digestmd5.c:2369:9: warning: pointer targets in passing argument 3 of 'DigestCalcSecret' differ in signedness
digestmd5.c:430:13: note: expected 'unsigned char *' but argument is of type 'char *'
digestmd5.c:2514:6: warning: pointer targets in passing argument 2 of 'text->cipher_init' differ in signedness
digestmd5.c:2514:6: note: expected 'unsigned char *' but argument is of type 'char *'
digestmd5.c:2514:6: warning: pointer targets in passing argument 3 of 'text->cipher_init' differ in signedness
digestmd5.c:2514:6: note: expected 'unsigned char *' but argument is of type 'char *'
digestmd5.c: At top level:
digestmd5.c:2718:15: error: #elif with no expression
digestmd5.c: In function 'make_client_response':
digestmd5.c:3010:7: warning: pointer targets in passing argument 3 of 'calculate_response' differ in signedness
digestmd5.c:2851:14: note: expected 'unsigned char *' but argument is of type 'char *'
digestmd5.c:3010:7: warning: pointer targets in passing argument 11 of 'calculate_response' differ in signedness
digestmd5.c:2851:14: note: expected 'unsigned char *' but argument is of type 'char *'
digestmd5.c:3034:9: warning: pointer targets in passing argument 6 of 'add_to_challenge' differ in signedness
digestmd5.c:505:12: note: expected 'unsigned char *' but argument is of type 'char *'
digestmd5.c:3145:6: warning: pointer targets in passing argument 2 of 'text->cipher_init' differ in signedness
digestmd5.c:3145:6: note: expected 'unsigned char *' but argument is of type 'char *'
digestmd5.c:3145:6: warning: pointer targets in passing argument 3 of 'text->cipher_init' differ in signedness
digestmd5.c:3145:6: note: expected 'unsigned char *' but argument is of type 'char *'
digestmd5.c: In function 'digestmd5_client_mech_step1':
digestmd5.c:3732:5: warning: pointer targets in passing argument 2 of '_plug_strdup' differ in signedness
plugin_common.h:147:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:3735:5: warning: pointer targets in passing argument 2 of '_plug_strdup' differ in signedness
plugin_common.h:147:5: note: expected 'const char *' but argument is of type 'unsigned char *'
digestmd5.c:3703:20: warning: unused parameter 'serverin'
digestmd5.c:3704:17: warning: unused parameter 'serverinlen'
digestmd5.c: In function 'digestmd5_client_mech_step3':
digestmd5.c:3838:26: warning: unused parameter 'prompt_need'
digestmd5.c:3839:21: warning: unused parameter 'clientout'
digestmd5.c:3840:18: warning: unused parameter 'clientoutlen'
digestmd5.c: In function 'digestmd5_client_mech_step':
digestmd5.c:4000:14: warning: pointer targets in assignment differ in signedness
digestmd5.c: At top level:
digestmd5.c:4037:15: error: #elif with no expression
make[2]: *** [digestmd5.lo] Error 1
make[2]: Leaving directory `/usr/src/cyrus-sasl-2.1.23/plugins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/cyrus-sasl-2.1.23'
make: *** [all] Error 2
It looks to me like Cyrus-SASL isn't getting the OpenSSL installation included.
I tried editing CPPFLAGS to include the /usr/include/openssl directory, to no avail. Also have tried adding that dircetory to ld.so.conf and running ldconfig, same error.
The SSL libraries must be installed if other apps are properly compiling and linking against them, so what is going wrong here?
Thanks for any advice
fm