Trying to build Dovecot 2.2.34 on OpenBSD fails.
This seems to have been introduced by this commit..
https://github.com/dovecot/core/commit/4a9020ed888caf03fd3132a30a7818b01daa4b9d
Fairly -current..
/usr/bin/libtool --tag=CC --mode=link cc -std=gnu99 -O2 -pipe -Wall
-W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith
-Wchar-subscripts -Wformat=2 -Wbad-function-cast
-Wno-duplicate-decl-specifier -Wstrict-aliasing=2 -L/usr/local/lib
-o libssl_iostream.la iostream-ssl.lo
libtool: link: ar cru .libs/libssl_iostream.a .libs/iostream-ssl.o
libtool: link: ranlib .libs/libssl_iostream.a
cc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib -I../../src/lib-test
-DMODULE_DIR=\""/usr/local/lib/dovecot"\"
-I/usr/local/include
-I../../src/lib -I../../src/lib-test
-DMODULE_DIR=\""/usr/local/lib/dovecot"\" -std=gnu99 -O2
-pipe -Wall -W
-Wmissing-prototypes -Wmissing-declarations -Wpointer-arith
-Wchar-subscripts -Wformat=2 -Wbad-function-cast
-Wno-duplicate-decl-specifier -Wstrict-aliasing=2 -MT
test_ssl_iostream-test-ssl-iostream.o -MD -MP -MF
.deps/test_ssl_iostream-test-ssl-iostream.Tpo -c -o
test_ssl_iostream-test-ssl-iostream.o `test -f 'test-ssl-iostream.c' ||
echo './'`test-ssl-iostream.c
mv -f .deps/test_ssl_iostream-test-ssl-iostream.Tpo
.deps/test_ssl_iostream-test-ssl-iostream.Po
/usr/bin/libtool --tag=CC --mode=link cc -I../../src/lib
-I../../src/lib-test
-DMODULE_DIR=\""/usr/local/lib/dovecot"\"
-std=gnu99 -O2 -pipe -Wall -W -Wmissing-prototypes
-Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2
-Wbad-function-cast -Wno-duplicate-decl-specifier -Wstrict-aliasing=2
-L/usr/local/lib -o test-ssl-iostream
test_ssl_iostream-test-ssl-iostream.o libssl_iostream_openssl.la
libssl_iostream.la ../lib-test/libtest.la ../lib/liblib.la
-export-dynamic
warning: library filename
/home/ports/pobj/dovecot-2.2.34-no_db-no_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib-ssl-iostream/.libs/libssl_iostream_openssl.so
has no version number
libtool: link: cc -o .libs/test-ssl-iostream -I../../src/lib
-I../../src/lib-test -DMODULE_DIR="/usr/local/lib/dovecot" -std=gnu99
-O2 -pipe -Wall -W -Wmissing-prototypes -Wmissing-declarations
-Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast
-Wno-duplicate-decl-specifier -Wstrict-aliasing=2 -Wl,-E
test_ssl_iostream-test-ssl-iostream.o
/home/ports/pobj/dovecot-2.2.34-no_db-no_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib-ssl-iostream/.libs/libssl_iostream.a
/home/ports/pobj/dovecot-2.2.34-no_db-no_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib-test/.libs/libtest.a
/home/ports/pobj/dovecot-2.2.34-no_db-no_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib/.libs/liblib.a
-L.libs -lssl_iostream_openssl -lssl -lcrypto
-Wl,-rpath,/usr/local/lib/dovecot
/home/ports/pobj/dovecot-2.2.34-no_db-no_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib/.libs/liblib.a(net.o):
In function `net_connect_unix_with_retries':
net.c:(.text+0x852): warning: rand() may return deterministic values, is
that what you want?
.libs/libssl_iostream_openssl.so: undefined reference to
`ssl_iostream_cert_match_name'
.libs/libssl_iostream_openssl.so: undefined reference to
`ssl_iostream_context_deinit'
.libs/libssl_iostream_openssl.so: undefined reference to
`ssl_iostream_handshake'
.libs/libssl_iostream_openssl.so: undefined reference to
`ssl_iostream_unref'
.libs/libssl_iostream_openssl.so: undefined reference to
`iostream_ssl_module_init'
.libs/libssl_iostream_openssl.so: undefined reference to
`ssl_iostream_has_valid_client_cert'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
Error while executing cc -o .libs/test-ssl-iostream -I../../src/lib
-I../../src/lib-test -DMODULE_DIR="/usr/local/lib/dovecot" -std=gnu99
-O2 -pipe -Wall -W -Wmissing-prototypes -Wmissing-declarations
-Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast
-Wno-duplicate-decl-specifier -Wstrict-aliasing=2 -Wl,-E
test_ssl_iostream-test-ssl-iostream.o
/home/ports/pobj/dovecot-2.2.34-no_db-no_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib-ssl-iostream/.libs/libssl_iostream.a
/home/ports/pobj/dovecot-2.2.34-no_db-no_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib-test/.libs/libtest.a
/home/ports/pobj/dovecot-2.2.34-no_db-no_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib/.libs/liblib.a
-L.libs -lssl_iostream_openssl -lssl -lcrypto
-Wl,-rpath,/usr/local/lib/dovecot
A 6.0-ish build..
/usr/bin/libtool --tag=CC --mode=link cc -std=gnu99 -O2 -pipe -Wall
-W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith
-Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime
-Wstrict-aliasing=2 -I/usr/include -L/usr/local/lib -o
libssl_iostream.la iostream-ssl.lo
libtool: link: ar cru .libs/libssl_iostream.a .libs/iostream-ssl.o
libtool: link: ranlib .libs/libssl_iostream.a
cc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib -I../../src/lib-test
-DMODULE_DIR=\""/usr/local/lib/dovecot"\"
-I/usr/local/include
-I../../src/lib -I../../src/lib-test
-DMODULE_DIR=\""/usr/local/lib/do
vecot"\" -std=gnu99 -O2 -pipe -Wall -W -Wmissing-prototypes
-Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2
-Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -I/usr/include
-MT test_ssl_iostream-test-ssl-iostream.o -MD -MP -MF
.deps/test_ssl_iostream-test-ssl-iostream.Tpo -c -o
test_ssl_iostream-test-ssl-iostream.o `test -f 'test-ssl-iostream.c' ||
echo './'`test-ssl-iostream.
c
mv -f .deps/test_ssl_iostream-test-ssl-iostream.Tpo
.deps/test_ssl_iostream-test-ssl-iostream.Po
/usr/bin/libtool --tag=CC --mode=link cc -I../../src/lib
-I../../src/lib-test
-DMODULE_DIR=\""/usr/local/lib/dovecot"\"
-std=gnu99 -O2 -pipe -Wall -W -Wmissing-prototypes
-Wmissing-declarations -Wpoi
nter-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast
-fno-builtin-strftime -Wstrict-aliasing=2 -I/usr/include
-L/usr/local/lib -o test-ssl-iostream
test_ssl_iostream-test-ssl-iostream.o libssl_io
stream_openssl.la libssl_iostream.la ../lib-test/libtest.la
../lib/liblib.la -export-dynamic
warning: library filename
/home/brad/ports/pobj/dovecot-2.2.34-no_db-no_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib-ssl-iostream/.libs/libssl_iostream_openssl.so
has no version number
libtool: link: cc -o .libs/test-ssl-iostream -I../../src/lib
-I../../src/lib-test -DMODULE_DIR="/usr/local/lib/dovecot" -std=gnu99
-O2 -pipe -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-ar
ith -Wchar-subscripts -Wformat=2 -Wbad-function-cast
-fno-builtin-strftime -Wstrict-aliasing=2 -I/usr/include -Wl,-E
test_ssl_iostream-test-ssl-iostream.o
/home/brad/ports/pobj/dovecot-2.2.34-no_db-no_ldap-
no_mysql-no_postgresql/dovecot-2.2.34/src/lib-ssl-iostream/.libs/libssl_iostream.a
/home/brad/ports/pobj/dovecot-2.2.34-no_db-no_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib-test/.libs/libtest.a
/home
/brad/ports/pobj/dovecot-2.2.34-no_db-no_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib/.libs/liblib.a
-L.libs -lssl_iostream_openssl -lssl -lcrypto
-Wl,-rpath,/usr/local/lib/dovecot
.libs/libssl_iostream_openssl.so: undefined reference to
`ssl_iostream_cert_match_name'
.libs/libssl_iostream_openssl.so: undefined reference to
`ssl_iostream_context_deinit'
.libs/libssl_iostream_openssl.so: undefined reference to `o_stream_ref'
.libs/libssl_iostream_openssl.so: undefined reference to `t_malloc'
.libs/libssl_iostream_openssl.so: undefined reference to
`buffer_append_space_unsafe'
.libs/libssl_iostream_openssl.so: undefined reference to `i_error'
.libs/libssl_iostream_openssl.so: undefined reference to `o_stream_get_fd'
.libs/libssl_iostream_openssl.so: undefined reference to `i_stream_compress'
.libs/libssl_iostream_openssl.so: undefined reference to
`o_stream_set_max_buffer_size'
.libs/libssl_iostream_openssl.so: undefined reference to `p_strdup'
.libs/libssl_iostream_openssl.so: undefined reference to
`ssl_iostream_handshake'
.libs/libssl_iostream_openssl.so: undefined reference to `o_stream_unref'
.libs/libssl_iostream_openssl.so: undefined reference to `safe_memset'
.libs/libssl_iostream_openssl.so: undefined reference to `i_stream_alloc'
.libs/libssl_iostream_openssl.so: undefined reference to
`i_stream_get_data_size'
.libs/libssl_iostream_openssl.so: undefined reference to
`o_stream_get_buffer_used_size'
.libs/libssl_iostream_openssl.so: undefined reference to `i_strdup_printf'
.libs/libssl_iostream_openssl.so: undefined reference to `o_stream_close'
.libs/libssl_iostream_openssl.so: undefined reference to `i_fatal_status'
.libs/libssl_iostream_openssl.so: undefined reference to `buffer_append'
.libs/libssl_iostream_openssl.so: undefined reference to `i_strdup'
.libs/libssl_iostream_openssl.so: undefined reference to `i_strocpy'
.libs/libssl_iostream_openssl.so: undefined reference to `str_printfa'
.libs/libssl_iostream_openssl.so: undefined reference to
`ssl_iostream_unref'
.libs/libssl_iostream_openssl.so: undefined reference to `i_panic'
.libs/libssl_iostream_openssl.so: undefined reference to
`i_stream_get_max_buffer_size'
.libs/libssl_iostream_openssl.so: undefined reference to
`i_stream_try_alloc'
.libs/libssl_iostream_openssl.so: undefined reference to `i_stream_unref'
.libs/libssl_iostream_openssl.so: undefined reference to
`buffer_append_zero'
.libs/libssl_iostream_openssl.so: undefined reference to `i_stream_get_name'
.libs/libssl_iostream_openssl.so: undefined reference to `i_debug'
.libs/libssl_iostream_openssl.so: undefined reference to `o_stream_set_name'
.libs/libssl_iostream_openssl.so: undefined reference to `i_stream_create'
.libs/libssl_iostream_openssl.so: undefined reference to
`iostream_ssl_module_init'
.libs/libssl_iostream_openssl.so: undefined reference to `i_stream_get_fd'
.libs/libssl_iostream_openssl.so: undefined reference to `i_stream_close'
.libs/libssl_iostream_openssl.so: undefined reference to `o_stream_create'
.libs/libssl_iostream_openssl.so: undefined reference to `i_stream_skip'
.libs/libssl_iostream_openssl.so: undefined reference to
`io_stream_set_error'
.libs/libssl_iostream_openssl.so: undefined reference to `i_fatal'
.libs/libssl_iostream_openssl.so: undefined reference to `str_c'
.libs/libssl_iostream_openssl.so: undefined reference to `o_stream_send'
.libs/libssl_iostream_openssl.so: undefined reference to `o_stream_flush'
.libs/libssl_iostream_openssl.so: undefined reference to `buffer_delete'
.libs/libssl_iostream_openssl.so: undefined reference to
`o_stream_set_flush_pending'
.libs/libssl_iostream_openssl.so: undefined reference to `o_stream_uncork'
.libs/libssl_iostream_openssl.so: undefined reference to `i_stream_get_data'
.libs/libssl_iostream_openssl.so: undefined reference to
`o_stream_switch_ioloop'
.libs/libssl_iostream_openssl.so: undefined reference to
`o_stream_get_error'
.libs/libssl_iostream_openssl.so: undefined reference to
`o_stream_set_flush_callback'
.libs/libssl_iostream_openssl.so: undefined reference to `t_strsplit_spaces'
.libs/libssl_iostream_openssl.so: undefined reference to `o_stream_get_name'
.libs/libssl_iostream_openssl.so: undefined reference to
`i_stream_read_data'
.libs/libssl_iostream_openssl.so: undefined reference to `i_info'
.libs/libssl_iostream_openssl.so: undefined reference to `t_strdup_noconst'
.libs/libssl_iostream_openssl.so: undefined reference to
`i_stream_get_error'
.libs/libssl_iostream_openssl.so: undefined reference to
`o_stream_get_buffer_avail_size'
.libs/libssl_iostream_openssl.so: undefined reference to `t_strndup'
.libs/libssl_iostream_openssl.so: undefined reference to
`i_stream_set_input_pending'
.libs/libssl_iostream_openssl.so: undefined reference to `i_stream_set_name'
.libs/libssl_iostream_openssl.so: undefined reference to
`buffer_create_dynamic'
.libs/libssl_iostream_openssl.so: undefined reference to
`pool_alloconly_create'
.libs/libssl_iostream_openssl.so: undefined reference to
`o_stream_set_no_error_handling'
.libs/libssl_iostream_openssl.so: undefined reference to `default_pool'
.libs/libssl_iostream_openssl.so: undefined reference to
`ssl_iostream_has_valid_client_cert'
.libs/libssl_iostream_openssl.so: undefined reference to `buffer_free'
.libs/libssl_iostream_openssl.so: undefined reference to `t_strdup_printf'
.libs/libssl_iostream_openssl.so: undefined reference to
`buffer_get_writable_size'
.libs/libssl_iostream_openssl.so: undefined reference to `net_ip_compare'
.libs/libssl_iostream_openssl.so: undefined reference to `o_stream_cork'
.libs/libssl_iostream_openssl.so: undefined reference to `t_str_new'
.libs/libssl_iostream_openssl.so: undefined reference to `t_strconcat'
collect2: ld returned 1 exit status
Error while executing cc -o .libs/test-ssl-iostream -I../../src/lib
-I../../src/lib-test -DMODULE_DIR="/usr/local/lib/dovecot" -std=gnu99
-O2 -pipe -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpoi
nter-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast
-fno-builtin-strftime -Wstrict-aliasing=2 -I/usr/include -Wl,-E
test_ssl_iostream-test-ssl-iostream.o
/home/brad/ports/pobj/dovecot-2.2.34-no_db-n
o_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib-ssl-iostream/.libs/libssl_iostream.a
/home/brad/ports/pobj/dovecot-2.2.34-no_db-no_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib-test/.libs/libtest.
a
/home/brad/ports/pobj/dovecot-2.2.34-no_db-no_ldap-no_mysql-no_postgresql/dovecot-2.2.34/src/lib/.libs/liblib.a
-L.libs -lssl_iostream_openssl -lssl -lcrypto
-Wl,-rpath,/usr/local/lib/dovecot