It seems to use -L/Library/MWSrvrSrvcs/openssl/lib, does this contain some 
broken libssl?

Aki

> On 13/08/2021 19:00 Beosdoc <beos...@hotmail.com> wrote:
> 
>  
> If I remove the rpath from the makefile in the lib-ssl-iostream directory it 
> will compile.  This shouldn’t cause it not to compile.  There are several 
> directories that have rpath in the makefile.  Also, putting --disable-rpath 
> in the configure string doesn’t work.  I also need rpath as the files are not 
> in the standard path locations.
> 
> 
> 
> > On Aug 4, 2021, at 12:30 PM, Beosdoc <beos...@hotmail.com> wrote:
> > 
> > Hi,
> >     I’m trying to compile Dovecot 2.3.15 on a Intel Mac with Big Sur and 
> > Xcode 12.5.1 with command line.  I’ve compiled openSSL -1.1.1k in its own 
> > directory and pointed dovecot to use that directory.  I’m getting undefined 
> > symbols during the linking (see below).  I’ve been trying to figure out 
> > what’s missing but not having any luck
> > 
> > Here’s the configure:
> > CPPFLAGS="-I/Library/MWSrvrSrvcs/openssl/include" 
> > LDFLAGS="-L/Library/MWSrvrSrvcs/openssl/lib" ./configure 
> > --prefix=/Library/MWSrvrSrvcs/dovecot --with-ssl=openssl --with-gnu-ld 
> > --with-pgsql=auto --with-mysql=auto --with-sqlite=auto --with-gssapi=yes 
> > --with-ldap=auto --with-solr=no --with-libwrap=auto --with-ioloop=no 
> > --with-bzlib --with-zlib --with-notify=no --without-shared-libs 
> > --sysconfdir=/Library/MWSrvrSrvcs/Mail/Config 
> > --datadir=/Library/MWSrvrSrvcs/Mail/Data
> > 
> > Here’s where it errors out:
> > /bin/sh ../../libtool  --tag=CC   --mode=link gcc  -std=gnu99 -g -O2 
> > -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -W 
> > -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith 
> > -Wchar-subscripts -Wformat=2 -Wbad-function-cast 
> > -Wno-duplicate-decl-specifier -Wstrict-aliasing=2  -module -avoid-version  
> > -L/Library/MWSrvrSrvcs/openssl/lib  -o libssl_iostream_openssl.la -rpath 
> > /Library/MWSrvrSrvcs/dovecot/lib/dovecot dovecot-openssl-common.lo 
> > iostream-openssl.lo iostream-openssl-common.lo iostream-openssl-context.lo 
> > istream-openssl.lo ostream-openssl.lo -lssl -lcrypto  
> > libtool: link: gcc  -o .libs/libssl_iostream_openssl.so -bundle  
> > .libs/dovecot-openssl-common.o .libs/iostream-openssl.o 
> > .libs/iostream-openssl-common.o .libs/iostream-openssl-context.o 
> > .libs/istream-openssl.o .libs/ostream-openssl.o   
> > -L/Library/MWSrvrSrvcs/openssl/lib -lssl -lcrypto  -g -O2 
> > -fstack-protector-strong  
> > Undefined symbols for architecture x86_64:
> >  "_buffer_append", referenced from:
> >      _openssl_iostream_error in iostream-openssl-common.o
> >      _o_stream_ssl_sendv in ostream-openssl.o
> >  "_buffer_create_dynamic", referenced from:
> >      _o_stream_ssl_sendv in ostream-openssl.o
> >  "_buffer_delete", referenced from:
> >      _o_stream_ssl_flush_buffer in ostream-openssl.o
> >  "_buffer_free", referenced from:
> >      _o_stream_ssl_destroy in ostream-openssl.o
> >  "_buffer_get_writable_size", referenced from:
> >      _o_stream_ssl_sendv in ostream-openssl.o
> >      _o_stream_ssl_get_buffer_avail_size in ostream-openssl.o
> >  "_default_pool", referenced from:
> >      _openssl_iostream_set_error in iostream-openssl.o
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >      _openssl_iostream_handle_error in iostream-openssl.o
> >      _openssl_iostream_create in iostream-openssl.o
> >      _openssl_iostream_handshake in iostream-openssl.o
> >      _openssl_iostream_set_log_prefix in iostream-openssl.o
> >      _openssl_iostream_free in iostream-openssl.o
> >      ...
> >  "_i_debug", referenced from:
> >      _openssl_iostream_set_error in iostream-openssl.o
> >      _openssl_iostream_handle_error in iostream-openssl.o
> >      _openssl_iostream_handshake in iostream-openssl.o
> >      _openssl_info_callback in iostream-openssl.o
> >      _openssl_iostream_verify_client_cert in iostream-openssl.o
> >      _ssl_iostream_context_init_common in iostream-openssl-context.o
> >      _ssl_servername_callback in iostream-openssl-context.o
> >      ...
> >  "_i_error", referenced from:
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >      _ssl_tmp_dh_callback in iostream-openssl-context.o
> >  "_i_fatal", referenced from:
> >      _ssl_iostream_openssl_init in iostream-openssl.o
> >      _ssl_iostream_context_init_common in iostream-openssl-context.o
> >      _ssl_ctx_use_certificate_chain in iostream-openssl-context.o
> >  "_i_fatal_status", referenced from:
> >      _dovecot_openssl_malloc in dovecot-openssl-common.o
> >      _dovecot_openssl_realloc in dovecot-openssl-common.o
> >      _openssl_iostream_error in iostream-openssl-common.o
> >  "_i_info", referenced from:
> >      _openssl_iostream_verify_client_cert in iostream-openssl.o
> >  "_i_panic", referenced from:
> >      _dovecot_openssl_common_global_unref in dovecot-openssl-common.o
> >      _openssl_iostream_shutdown in iostream-openssl.o
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >      _openssl_iostream_handle_error in iostream-openssl.o
> >      _openssl_iostream_create in iostream-openssl.o
> >      _openssl_iostream_unref in iostream-openssl.o
> >      _openssl_iostream_handshake in iostream-openssl.o
> >      ...
> >  "_i_strdup", referenced from:
> >      _openssl_iostream_set_error in iostream-openssl.o
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >      _openssl_iostream_handle_error in iostream-openssl.o
> >      _openssl_iostream_create in iostream-openssl.o
> >      _openssl_iostream_handshake in iostream-openssl.o
> >      _openssl_iostream_set_log_prefix in iostream-openssl.o
> >      _openssl_iostream_verify_client_cert in iostream-openssl.o
> >      ...
> >  "_i_strdup_printf", referenced from:
> >      _openssl_iostream_create in iostream-openssl.o
> >  "_i_stream_alloc", referenced from:
> >      _i_stream_ssl_read in istream-openssl.o
> >  "_i_stream_close", referenced from:
> >      _openssl_iostream_shutdown in iostream-openssl.o
> >      _openssl_iostream_handshake in iostream-openssl.o
> >      _i_stream_ssl_close in istream-openssl.o
> >  "_i_stream_create", referenced from:
> >      _openssl_i_stream_create_ssl in istream-openssl.o
> >     (maybe you meant: _openssl_i_stream_create_ssl)
> >  "_i_stream_free_buffer", referenced from:
> >      _i_stream_ssl_destroy in istream-openssl.o
> >  "_i_stream_get_data", referenced from:
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >  "_i_stream_get_data_size", referenced from:
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >      _i_stream_ssl_read in istream-openssl.o
> >  "_i_stream_get_error", referenced from:
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >  "_i_stream_get_fd", referenced from:
> >      _openssl_i_stream_create_ssl in istream-openssl.o
> >  "_i_stream_get_name", referenced from:
> >      _openssl_iostream_create in iostream-openssl.o
> >  "_i_stream_get_root_io", referenced from:
> >      _openssl_iostream_create in iostream-openssl.o
> >  "_i_stream_read_data", referenced from:
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >  "_i_stream_ref", referenced from:
> >      _openssl_o_stream_create_ssl in ostream-openssl.o
> >  "_i_stream_set_input_pending", referenced from:
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >  "_i_stream_set_name", referenced from:
> >      _openssl_iostream_create in iostream-openssl.o
> >  "_i_stream_skip", referenced from:
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >  "_i_stream_try_alloc", referenced from:
> >      _i_stream_ssl_read in istream-openssl.o
> >  "_i_stream_unref", referenced from:
> >      _openssl_iostream_free in iostream-openssl.o
> >      _o_stream_ssl_destroy in ostream-openssl.o
> >  "_i_strocpy", referenced from:
> >      _pem_password_callback in iostream-openssl-context.o
> >  "_io_stream_set_error", referenced from:
> >      _i_stream_ssl_read in istream-openssl.o
> >      _o_stream_ssl_flush in ostream-openssl.o
> >      _o_stream_ssl_flush_buffer in ostream-openssl.o
> >  "_iostream_ssl_module_init", referenced from:
> >      _ssl_iostream_openssl_init in iostream-openssl.o
> >  "_o_stream_close", referenced from:
> >      _openssl_iostream_shutdown in iostream-openssl.o
> >      _openssl_iostream_handshake in iostream-openssl.o
> >      _o_stream_ssl_close in ostream-openssl.o
> >  "_o_stream_cork", referenced from:
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >  "_o_stream_create", referenced from:
> >      _openssl_o_stream_create_ssl in ostream-openssl.o
> >     (maybe you meant: _openssl_o_stream_create_ssl)
> >  "_o_stream_flush", referenced from:
> >      _openssl_iostream_shutdown in iostream-openssl.o
> >      _openssl_iostream_handshake in iostream-openssl.o
> >      _plain_flush_callback in ostream-openssl.o
> >  "_o_stream_get_buffer_avail_size", referenced from:
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >  "_o_stream_get_buffer_used_size", referenced from:
> >      _o_stream_ssl_flush in ostream-openssl.o
> >      _o_stream_ssl_get_buffer_used_size in ostream-openssl.o
> >  "_o_stream_get_error", referenced from:
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >  "_o_stream_get_fd", referenced from:
> >      _openssl_o_stream_create_ssl in ostream-openssl.o
> >  "_o_stream_get_name", referenced from:
> >      _openssl_iostream_create in iostream-openssl.o
> >  "_o_stream_ref", referenced from:
> >      _plain_flush_callback in ostream-openssl.o
> >  "_o_stream_send", referenced from:
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >  "_o_stream_set_flush_callback", referenced from:
> >      _openssl_o_stream_create_ssl in ostream-openssl.o
> >  "_o_stream_set_flush_pending", referenced from:
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >      _o_stream_ssl_sendv in ostream-openssl.o
> >      _o_stream_ssl_flush in ostream-openssl.o
> >      _o_stream_ssl_flush_pending in ostream-openssl.o
> >      _plain_flush_callback in ostream-openssl.o
> >  "_o_stream_set_max_buffer_size", referenced from:
> >      _o_stream_ssl_set_max_buffer_size in ostream-openssl.o
> >  "_o_stream_set_name", referenced from:
> >      _openssl_iostream_create in iostream-openssl.o
> >  "_o_stream_set_no_error_handling", referenced from:
> >      _openssl_iostream_create in iostream-openssl.o
> >  "_o_stream_switch_ioloop_to", referenced from:
> >      _o_stream_ssl_switch_ioloop_to in ostream-openssl.o
> >  "_o_stream_uncork", referenced from:
> >      _openssl_iostream_bio_sync in iostream-openssl.o
> >      _openssl_iostream_create in iostream-openssl.o
> >  "_o_stream_unref", referenced from:
> >      _openssl_iostream_free in iostream-openssl.o
> >      _plain_flush_callback in ostream-openssl.o
> >  "_pool_alloconly_create", referenced from:
> >      _ssl_iostream_context_init_common in iostream-openssl-context.o
> >  "_safe_memset", referenced from:
> >      _openssl_iostream_load_key in iostream-openssl-context.o
> >  "_ssl_iostream_check_cert_validity", referenced from:
> >      _openssl_iostream_handshake in iostream-openssl.o
> >  "_ssl_iostream_context_ref", referenced from:
> >      _openssl_iostream_create in iostream-openssl.o
> >      _openssl_iostream_change_context in iostream-openssl.o
> >  "_ssl_iostream_context_unref", referenced from:
> >      _openssl_iostream_change_context in iostream-openssl.o
> >      _openssl_iostream_free in iostream-openssl.o
> >      _openssl_iostream_context_init_client in iostream-openssl-context.o
> >      _openssl_iostream_context_init_server in iostream-openssl-context.o
> >  "_ssl_iostream_handshake", referenced from:
> >      _openssl_iostream_shutdown in iostream-openssl.o
> >      _openssl_iostream_more in iostream-openssl.o
> >  "_ssl_iostream_has_valid_client_cert", referenced from:
> >      _openssl_iostream_cert_match_name in iostream-openssl.o
> >      _openssl_iostream_get_peer_name in iostream-openssl.o
> >  "_ssl_iostream_settings_init_from", referenced from:
> >      _ssl_iostream_context_init_common in iostream-openssl-context.o
> >  "_ssl_iostream_unref", referenced from:
> >      _openssl_iostream_destroy in iostream-openssl.o
> >      _i_stream_ssl_destroy in istream-openssl.o
> >      _o_stream_ssl_destroy in ostream-openssl.o
> >  "_str_c", referenced from:
> >      _openssl_iostream_error in iostream-openssl-common.o
> >  "_str_printfa", referenced from:
> >      _openssl_iostream_error in iostream-openssl-common.o
> >  "_t_malloc0", referenced from:
> >      _openssl_iostream_get_peer_name in iostream-openssl.o
> >      _openssl_iostream_error in iostream-openssl-common.o
> >  "_t_str_new", referenced from:
> >      _openssl_iostream_error in iostream-openssl-common.o
> >  "_t_strconcat", referenced from:
> >      _openssl_iostream_create in iostream-openssl.o
> >  "_t_strdup_noconst", referenced from:
> >      _openssl_iostream_use_certificate in iostream-openssl.o
> >      _openssl_iostream_load_key in iostream-openssl-context.o
> >      _ssl_iostream_context_init_common in iostream-openssl-context.o
> >      _ssl_ctx_use_certificate_chain in iostream-openssl-context.o
> >  "_t_strdup_printf", referenced from:
> >      _dovecot_openssl_common_global_set_engine in dovecot-openssl-common.o
> >      _openssl_iostream_handle_error in iostream-openssl.o
> >      _openssl_iostream_create in iostream-openssl.o
> >      _openssl_iostream_get_security_string in iostream-openssl.o
> >      _openssl_iostream_use_certificate in iostream-openssl.o
> >      _openssl_iostream_verify_client_cert in iostream-openssl.o
> >      _openssl_cert_match_name in iostream-openssl-common.o
> >      ...
> > ld: symbol(s) not found for architecture x86_64
> > clang: error: linker command failed with exit code 1 (use -v to see 
> > invocation)
> > make[3]: *** [libssl_iostream_openssl.la] Error 1
> > make[2]: *** [all-recursive] Error 1
> > make[1]: *** [all-recursive] Error 1
> > make: *** [all] Error 2
> > 
> > 
> > 
> > Thanks
> > Mitch
> > 
> >

Reply via email to