Make fails with 2.3.0.1 & 2.2.34 on Mac OS X 10.7.5
Have tried 2.3.0, 2.3.0.1 & 2.2.34.
Compile is failing for me.
./configure --with-mysql --with-ssl=openssl:
... checking for SSL_read in -lssl... yes checking openssl/ssl.h usability... yes checking openssl/ssl.h presence... yes checking for openssl/ssl.h... yes checking openssl/err.h usability... yes checking openssl/err.h presence... yes checking for openssl/err.h... yes checking if OpenSSL version is 1.0.1 or newer... true checking if OpenSSL version is 1.0.2 or better... true checking whether SSL_clear_options exists... no ...
No problems. But then ‘make’ ends with:
dcrypt-openssl.c:117: error: field 'ctx' has incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_ctx_hmac_destroy': dcrypt-openssl.c:451: warning: implicit declaration of function 'HMAC_cleanup' dcrypt-openssl.c: In function 'dcrypt_openssl_generate_ec_key': dcrypt-openssl.c:555: error: dereferencing pointer to incomplete type dcrypt-openssl.c:556: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_ecdh_derive_secret_local': dcrypt-openssl.c:588: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_ecdh_derive_secret_peer': dcrypt-openssl.c:668: error: dereferencing pointer to incomplete type dcrypt-openssl.c:697: error: dereferencing pointer to incomplete type dcrypt-openssl.c:698: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_store_private_key_dovecot': dcrypt-openssl.c:1461: error: dereferencing pointer to incomplete type dcrypt-openssl.c:1482: error: dereferencing pointer to incomplete type dcrypt-openssl.c:1489: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_load_private_key': dcrypt-openssl.c:1615: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_store_public_key': dcrypt-openssl.c:1765: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_private_to_public_key': dcrypt-openssl.c:1801: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_name2oid': dcrypt-openssl.c:2062: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_public_key_id_old': dcrypt-openssl.c:2112: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_private_key_id_old': dcrypt-openssl.c:2135: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_public_key_id_evp': dcrypt-openssl.c:2153: error: dereferencing pointer to incomplete type make[3]: *** [libdcrypt_openssl_la-dcrypt-openssl.lo] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
Any suggestions?
Thanks,
James.
On 1 Mar 2018, at 4:09 pm, Aki Tuomi <aki.tuomi@dovecot.fi <mailto:aki.tuomi@dovecot.fi>> wrote:
On 01 March 2018 at 06:21 James Brown < jlbrown@bordo.com.au <mailto:jlbrown@bordo.com.au>> wrote:
Have tried 2.3.0, 2.3.0.1 & 2.2.34.
Compile is failing for me.
./configure --with-mysql --with-ssl=openssl:
... checking for SSL_read in -lssl... yes checking openssl/ssl.h usability... yes checking openssl/ssl.h presence... yes checking for openssl/ssl.h... yes checking openssl/err.h usability... yes checking openssl/err.h presence... yes checking for openssl/err.h... yes checking if OpenSSL version is 1.0.1 or newer... true checking if OpenSSL version is 1.0.2 or better... true checking whether SSL_clear_options exists... no ... Any suggestions?
Thanks,
James.
What SSL library and version?
Aki Tuomi
OpenSSL
$openssl version OpenSSL 1.0.2g 1 Mar 2016
But I also have:
$ /usr/local/bin/openssl version OpenSSL 1.1.0g 2 Nov 2017
James.
On 01.03.2018 07:34, James Brown wrote:
On 1 Mar 2018, at 4:09 pm, Aki Tuomi <aki.tuomi@dovecot.fi <mailto:aki.tuomi@dovecot.fi>> wrote:
On 01 March 2018 at 06:21 James Brown < jlbrown@bordo.com.au <mailto:jlbrown@bordo.com.au>> wrote:
Have tried 2.3.0, 2.3.0.1 & 2.2.34.
Compile is failing for me.
./configure --with-mysql --with-ssl=openssl:
... checking for SSL_read in -lssl... yes checking openssl/ssl.h usability... yes checking openssl/ssl.h presence... yes checking for openssl/ssl.h... yes checking openssl/err.h usability... yes checking openssl/err.h presence... yes checking for openssl/err.h... yes checking if OpenSSL version is 1.0.1 or newer... true checking if OpenSSL version is 1.0.2 or better... true checking whether SSL_clear_options exists... no ... Any suggestions?
Thanks,
James.
What SSL library and version? --- Aki Tuomi
OpenSSL
$openssl version OpenSSL 1.0.2g 1 Mar 2016
But I also have:
$ /usr/local/bin/openssl version OpenSSL 1.1.0g 2 Nov 2017
James.
Can you provide the cc call as well from make?
Aki
On 1 Mar 2018, at 5:56 pm, Aki Tuomi <aki.tuomi@dovecot.fi <mailto:aki.tuomi@dovecot.fi>> wrote:
On 01.03.2018 07:34, James Brown wrote:
On 1 Mar 2018, at 4:09 pm, Aki Tuomi <aki.tuomi@dovecot.fi <mailto:aki.tuomi@dovecot.fi>> wrote:
What SSL library and version?
Aki Tuomi
OpenSSL
$openssl version OpenSSL 1.0.2g 1 Mar 2016
But I also have:
$ /usr/local/bin/openssl version OpenSSL 1.1.0g 2 Nov 2017
James.
Can you provide the cc call as well from make?
Aki
$ make
make all-recursive
Making all in .
old=pwd
&& cd . && abs_builddir=pwd
&& cd $old &&
cd . && abs_srcdir=pwd
&& cd $old &&
(echo "DOVECOT_INSTALLED=no"; cat dovecot-config.in | sed
-e "s|\$(top_builddir)|$abs_builddir|g"
-e "s|\$(incdir)|$abs_srcdir|g"
-e "s|\$(LIBICONV)|-liconv|g"
-e "s|\$(MODULE_LIBS)|-export-dynamic|g"
-e "s|^\(dovecot_pkgincludedir\)=|\1=/usr/local/include/dovecot|"
-e "s|^\(dovecot_pkglibdir\)=|\1=/usr/local/lib/dovecot|"
-e "s|^\(dovecot_pkglibexecdir\)=|\1=/usr/local/libexec/dovecot|"
-e "s|^\(dovecot_docdir\)=|\1=/usr/local/share/doc/dovecot|"
-e "s|^\(dovecot_moduledir\)=|\1=/usr/local/lib/dovecot|"
-e "s|^\(dovecot_statedir\)=|\1=/usr/local/var/lib/dovecot|"
) > dovecot-config
/bin/sh ./update-version.sh . .
Making all in src
Making all in lib-test
make[3]: Nothing to be done for all'. Making all in lib make all-am make[4]: Nothing to be done for
all-am'.
Making all in lib-settings
make[3]: Nothing to be done for all'. Making all in lib-auth make[3]: Nothing to be done for
all'.
Making all in lib-dns
make[3]: Nothing to be done for all'. Making all in lib-master make[3]: Nothing to be done for
all'.
Making all in lib-charset
make[3]: Nothing to be done for all'. Making all in lib-ssl-iostream make[3]: Nothing to be done for
all'.
Making all in lib-dcrypt
/bin/sh ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib -I../../src/lib-test -I../../src/lib-ssl-iostream -DDCRYPT_MODULE_DIR=\"/usr/local/lib/dovecot\" -I../../src/lib -I../../src/lib-test -I../../src/lib-ssl-iostream -DDCRYPT_MODULE_DIR=\"/usr/local/lib/dovecot\" -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -MT libdcrypt_openssl_la-dcrypt-openssl.lo -MD -MP -MF .deps/libdcrypt_openssl_la-dcrypt-openssl.Tpo -c -o libdcrypt_openssl_la-dcrypt-openssl.lo test -f 'dcrypt-openssl.c' || echo './'
dcrypt-openssl.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib -I../../src/lib-test -I../../src/lib-ssl-iostream -DDCRYPT_MODULE_DIR=\"/usr/local/lib/dovecot\" -I../../src/lib -I../../src/lib-test -I../../src/lib-ssl-iostream -DDCRYPT_MODULE_DIR=\"/usr/local/lib/dovecot\" -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -MT libdcrypt_openssl_la-dcrypt-openssl.lo -MD -MP -MF .deps/libdcrypt_openssl_la-dcrypt-openssl.Tpo -c dcrypt-openssl.c -fno-common -DPIC -o .libs/libdcrypt_openssl_la-dcrypt-openssl.o
dcrypt-openssl.c:117: error: field 'ctx' has incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_ctx_hmac_destroy':
dcrypt-openssl.c:451: warning: implicit declaration of function 'HMAC_cleanup'
dcrypt-openssl.c: In function 'dcrypt_openssl_generate_ec_key':
dcrypt-openssl.c:555: error: dereferencing pointer to incomplete type
dcrypt-openssl.c:556: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_ecdh_derive_secret_local':
dcrypt-openssl.c:588: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_ecdh_derive_secret_peer':
dcrypt-openssl.c:668: error: dereferencing pointer to incomplete type
dcrypt-openssl.c:697: error: dereferencing pointer to incomplete type
dcrypt-openssl.c:698: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_store_private_key_dovecot':
dcrypt-openssl.c:1461: error: dereferencing pointer to incomplete type
dcrypt-openssl.c:1482: error: dereferencing pointer to incomplete type
dcrypt-openssl.c:1489: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_load_private_key':
dcrypt-openssl.c:1615: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_store_public_key':
dcrypt-openssl.c:1765: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_private_to_public_key':
dcrypt-openssl.c:1801: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_name2oid':
dcrypt-openssl.c:2062: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_public_key_id_old':
dcrypt-openssl.c:2112: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_private_key_id_old':
dcrypt-openssl.c:2135: error: dereferencing pointer to incomplete type
dcrypt-openssl.c: In function 'dcrypt_openssl_public_key_id_evp':
dcrypt-openssl.c:2153: error: dereferencing pointer to incomplete type
make[3]: *** [libdcrypt_openssl_la-dcrypt-openssl.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
1
On 01.03.2018 12:10, James Brown wrote:
On 1 Mar 2018, at 5:56 pm, Aki Tuomi <aki.tuomi@dovecot.fi <mailto:aki.tuomi@dovecot.fi>> wrote:
On 01.03.2018 07:34, James Brown wrote:
On 1 Mar 2018, at 4:09 pm, Aki Tuomi <aki.tuomi@dovecot.fi <mailto:aki.tuomi@dovecot.fi>> wrote:
What SSL library and version? --- Aki Tuomi
OpenSSL
$openssl version OpenSSL 1.0.2g 1 Mar 2016
But I also have:
$ /usr/local/bin/openssl version OpenSSL 1.1.0g 2 Nov 2017
James.
Can you provide the cc call as well from make?
Aki
$ make make all-recursive Making all in . old=
pwd
&& cd . && abs_builddir=pwd
&& cd $old &&
cd . && abs_srcdir=pwd
&& cd $old &&
(echo "DOVECOT_INSTALLED=no"; cat dovecot-config.in | sed
-e "s|\$(top_builddir)|$abs_builddir|g"
-e "s|\$(incdir)|$abs_srcdir|g"
-e "s|\$(LIBICONV)|-liconv|g"
-e "s|\$(MODULE_LIBS)|-export-dynamic|g"
-e "s|^\(dovecot_pkgincludedir\)=|\1=/usr/local/include/dovecot|"
-e "s|^\(dovecot_pkglibdir\)=|\1=/usr/local/lib/dovecot|"
-e "s|^\(dovecot_pkglibexecdir\)=|\1=/usr/local/libexec/dovecot|"
-e "s|^\(dovecot_docdir\)=|\1=/usr/local/share/doc/dovecot|"
-e "s|^\(dovecot_moduledir\)=|\1=/usr/local/lib/dovecot|"
-e "s|^\(dovecot_statedir\)=|\1=/usr/local/var/lib/dovecot|"
) > dovecot-config /bin/sh ./update-version.sh . . Making all in src Making all in lib-test make[3]: Nothing to be done forall'. Making all in lib make all-am make[4]: Nothing to be done for
all-am'. Making all in lib-settings make[3]: Nothing to be done forall'. Making all in lib-auth make[3]: Nothing to be done for
all'. Making all in lib-dns make[3]: Nothing to be done forall'. Making all in lib-master make[3]: Nothing to be done for
all'. Making all in lib-charset make[3]: Nothing to be done forall'. Making all in lib-ssl-iostream make[3]: Nothing to be done for
all'. Making all in lib-dcrypt /bin/sh ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib -I../../src/lib-test -I../../src/lib-ssl-iostream -DDCRYPT_MODULE_DIR=\"/usr/local/lib/dovecot\" -I../../src/lib -I../../src/lib-test -I../../src/lib-ssl-iostream -DDCRYPT_MODULE_DIR=\"/usr/local/lib/dovecot\" -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -MT libdcrypt_openssl_la-dcrypt-openssl.lo -MD -MP -MF .deps/libdcrypt_openssl_la-dcrypt-openssl.Tpo -c -o libdcrypt_openssl_la-dcrypt-openssl.lotest -f 'dcrypt-openssl.c' || echo './'
dcrypt-openssl.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib -I../../src/lib-test -I../../src/lib-ssl-iostream -DDCRYPT_MODULE_DIR=\"/usr/local/lib/dovecot\" -I../../src/lib -I../../src/lib-test -I../../src/lib-ssl-iostream -DDCRYPT_MODULE_DIR=\"/usr/local/lib/dovecot\" -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -MT libdcrypt_openssl_la-dcrypt-openssl.lo -MD -MP -MF .deps/libdcrypt_openssl_la-dcrypt-openssl.Tpo -c dcrypt-openssl.c -fno-common -DPIC -o .libs/libdcrypt_openssl_la-dcrypt-openssl.o dcrypt-openssl.c:117: error: field 'ctx' has incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_ctx_hmac_destroy': dcrypt-openssl.c:451: warning: implicit declaration of function 'HMAC_cleanup' dcrypt-openssl.c: In function 'dcrypt_openssl_generate_ec_key': dcrypt-openssl.c:555: error: dereferencing pointer to incomplete type dcrypt-openssl.c:556: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_ecdh_derive_secret_local': dcrypt-openssl.c:588: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_ecdh_derive_secret_peer': dcrypt-openssl.c:668: error: dereferencing pointer to incomplete type dcrypt-openssl.c:697: error: dereferencing pointer to incomplete type dcrypt-openssl.c:698: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_store_private_key_dovecot': dcrypt-openssl.c:1461: error: dereferencing pointer to incomplete type dcrypt-openssl.c:1482: error: dereferencing pointer to incomplete type dcrypt-openssl.c:1489: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_load_private_key': dcrypt-openssl.c:1615: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_store_public_key': dcrypt-openssl.c:1765: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_private_to_public_key': dcrypt-openssl.c:1801: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_name2oid': dcrypt-openssl.c:2062: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_public_key_id_old': dcrypt-openssl.c:2112: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_private_key_id_old': dcrypt-openssl.c:2135: error: dereferencing pointer to incomplete type dcrypt-openssl.c: In function 'dcrypt_openssl_public_key_id_evp': dcrypt-openssl.c:2153: error: dereferencing pointer to incomplete type make[3]: *** [libdcrypt_openssl_la-dcrypt-openssl.lo] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
Can you also post your config.h? It should be at source root.
Aki
On 1 Mar 2018, at 9:52 pm, Aki Tuomi <aki.tuomi@dovecot.fi <mailto:aki.tuomi@dovecot.fi>> wrote:
Can you also post your config.h? It should be at source root.
Aki
I tried but it was too big to post on the mailing list. I’m not sure if you got the direct email.
Some SSL related bits:
/* Build with OpenSSL support */ #define HAVE_OPENSSL /**/
/* Define if OpenSSL performs thread cleanup automatically */ /* #undef HAVE_OPENSSL_AUTO_THREAD_DEINIT */
/* OpenSSL supports OPENSSL_cleanup() */ /* #undef HAVE_OPENSSL_CLEANUP */
/* Define to 1 if you have the <openssl/err.h> header file. */ #define HAVE_OPENSSL_ERR_H 1
/* Define if you have ERR_remove_thread_state */ #define HAVE_OPENSSL_ERR_REMOVE_THREAD_STATE /**/
/* Define if you have openssl/rand.h */ /* #undef HAVE_OPENSSL_RAND_H */
/* Define to 1 if you have the <openssl/ssl.h> header file. */ #define HAVE_OPENSSL_SSL_H 1
/* Define if you have pam/pam_appl.h */ /* #undef HAVE_PAM_PAM_APPL_H */
/* Define if you have pam_setcred() */ #define HAVE_PAM_SETCRED /**/
...
/* Build with SSL/TLS support */ #define HAVE_SSL /**/
/* Define if you have SSL_clear_options */ /* #undef HAVE_SSL_CLEAR_OPTIONS */
/* Build with OpenSSL compression */ #define HAVE_SSL_COMPRESSION /**/
/* Build with SSL_COMP_free_compression_methods() support */ #define HAVE_SSL_COMP_FREE_COMPRESSION_METHODS /**/
/* Define if you have SSL_CTX_set1_curves_list */ #define HAVE_SSL_CTX_SET1_CURVES_LIST /**/
/* Define if you have SSL_CTX_set_min_proto_version */ #define HAVE_SSL_CTX_SET_MIN_PROTO_VERSION /**/
/* Build with TLS hostname support */ #define HAVE_SSL_GET_SERVERNAME /**/
/* Define if CRYPTO_set_mem_functions has new style parameters */ #define HAVE_SSL_NEW_MEM_FUNCS /**/
James.
participants (2)
-
Aki Tuomi
-
James Brown