trouble compiling Dovecot 2.2.31 on Solaris 10 SPARC - libssl_iostream_openssl.so is not portable!

Jerry Kemp dovecot at oryx.us
Fri Aug 25 06:52:35 EEST 2017


attempting to compile dovecot 2.2.31 on Sun/Oracle Solaris 10 SPARC.

configure goes fine.   First sign of problems during compile is with this warning:

...............................................
*** libssl_iostream_openssl.so is not portable!
...............................................

actual ERRORS - Soon, compile errors out with undefined symbols.  Output at 
bottom of note.
...............................................

additional system information.

OpenSSL - just prior to dovecot compile attempt, I downloaded and successfully 
compiled OpenSSL version 1.0.2l (to include a successful "make test" ) in 
directory /Applications/openssl-1.0.2l.32 , want to link against current code 
and not mess with system provided SSL stuff in /usr/sfw/*

ENV setting and configure command line prior to compile -

# setenv CPPFLAGS "-I/Applications/openssl-1.0.2l.32/include 
-I/Applications/openssl-1.0.2l.32/include/openssl"
# setenv LDFLAGS "-L/Applications/openssl-1.0.2l.32/lib"
# setenv SSL_CFLAGS "-I/Applications/openssl-1.0.2l.32/include 
-I/Applications/openssl-1.0.2l.32/include/openssl"
# setenv SSL_LIBS "-R/Applications/openssl-1.0.2l.32/lib 
-L/Applications/openssl-1.0.2l.32/lib"

# ./configure \
--prefix=/Applications/dovecot-2.2.31.32 \
--with-ssl=openssl \
--with-ssldir=/Applications/dovecot-2.2.31.32/certs \
--with-storages=mbox,maildir,imapc,pop3c

.................................................

What is the .32 stuff I see appended to directories?

I did a 32 bit compile of the latest OpenSSL, then , the data shown here is also 
for a 32 bit dovecot build to link against the 32 bit OpenSSL build.

I have been fighting this for a few days, and had also done an identical 64 bit 
OpenSSL, then dovecot build.  The 64 bit dovecot build failed in the same way 
and place.

Additionally, when I did the 64 bit compile, I ended up pulling down a current 
copy of ZLIB, and doing a 64 bit compile of that library also, and installing it 
under /Applications then linking against that.  the system ZLIB library is/was 
32 bit, and if there is a 64 bit version provided by Sun/Oracle, neither myself 
or the "configure" script could locate it.  Not a big detail, ZLIB is an easy 
compile, just trying to share all relevant data.

.................................................

Try again with the latest code.

I have been working/fighting 2.2.31 for a couple of days.  I see earlier today, 
dovecot 2.2.32 was released earlier today, so before anyone runs to put on their 
"*L*" cap and advise me to pull down the latest code, I already did that, and 
the compile errors out in the same place.

.................................................

If your still reading, thank you, just want to provide as many relevant details 
as possible.  Again, symbol errors from compile are at bottom.

TIA for any helpful comments or suggestions,

Jerry


...............................................................
Undefined                       first referenced
   symbol                             in file
ERR_clear_error ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_load_error_strings ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
BIO_ctrl_get_write_guarantee ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
EVP_PKEY_free ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_use_PrivateKey ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_get_peer_certificate ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_CIPHER_get_bits ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_CIPHER_get_name ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
DH_generate_parameters ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
sk_value ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
PEM_X509_INFO_read_bio ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_NAME_oneline ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ERR_get_error_line_data ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_write ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_NAME_get_text_by_NID ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_get_ex_new_index ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_get_error ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ENGINE_init ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ENGINE_free ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
BIO_ctrl_pending ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_INFO_free ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_get_ext_d2i ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_free ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ERR_get_error ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
PEM_read_bio_PrivateKey ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
OPENSSL_add_all_algorithms_noconf 
../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
BIO_write ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ENGINE_set_default ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_accept ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ASN1_STRING_data ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ASN1_STRING_type ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSLv23_server_method ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_STORE_set_flags ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
sk_pop_free ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_CTX_use_PrivateKey ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ERR_error_string_n ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
CRYPTO_set_mem_functions ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
BIO_new_mem_buf ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_CTX_get_cert_store ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
CRYPTO_cleanup_all_ex_data ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
GENERAL_NAME_free ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
sk_num ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_NAME_get_entry ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_ctrl ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_free ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_read ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSLv23_client_method ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_alert_type_string_long ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_new ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
PEM_read_bio_X509 ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_CTX_new ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ERR_peek_error ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
DH_free ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_NAME_ENTRY_get_data ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
d2i_DHparams ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_CTX_load_verify_locations ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_set_bio ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_CTX_set_tmp_dh_callback ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
i2d_DHparams ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_NAME_get_index_by_NID ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_set_info_callback ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
sk_push ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_connect ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
BIO_new_bio_pair ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_shutdown ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
RAND_bytes ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
EVP_cleanup ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
OBJ_cleanup ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_verify_cert_error_string ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ASN1_STRING_length ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_STORE_add_crl ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ENGINE_load_builtin_engines ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_CTX_set_client_CA_list ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
OBJ_txt2nid ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_use_certificate ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_CTX_use_certificate ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_CTX_ctrl ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_CTX_free ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ENGINE_cleanup ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
sk_new_null ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ERR_peek_last_error ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_get_current_cipher ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_STORE_CTX_get_current_cert ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_get_ex_data_X509_STORE_CTX_idx 
../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
RSA_generate_key ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_STORE_CTX_get_error ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_state_string_long ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ERR_remove_state ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
BIO_free ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
BIO_read ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_STORE_add_cert ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_alert_desc_string_long ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_get_version ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_get_ex_data ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_set_cipher_list ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_set_ex_data ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_CTX_set_cipher_list ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_set_verify ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_STORE_CTX_get_ex_data ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ERR_free_strings ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_NAME_dup ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_CTX_set_tmp_rsa_callback ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
X509_get_subject_name ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
SSL_library_init ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ENGINE_finish ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ENGINE_by_id ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so
ld: fatal: symbol referencing errors. No output written to .libs/test-http-client

collect2: ld returned 1 exit status

*** Error code 1

make: Fatal error: Command failed for target `test-http-client'
















More information about the dovecot mailing list