With libressl 2.1.2, I observe:
> ldd -r /usr/lib64/libtls.so.1
linux-vdso.so.1 (0x00007ffe5462e000)
libc.so.6 => /lib64/libc.so.6 (0x00007ffe5405f000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffe54630000)
undefined symbol: GENERAL_NAME_free (/usr/lib64/libtls.so.1)
undefined symbol: X509_NAME_get_text_by_NID (/usr/lib64/libtls.so.1)
undefined symbol: ASN1_STRING_length (/usr/lib64/libtls.so.1)
undefined symbol: SSL_get_error (/usr/lib64/libtls.so.1)
undefined symbol: OBJ_txt2nid (/usr/lib64/libtls.so.1)
undefined symbol: sk_pop_free (/usr/lib64/libtls.so.1)
undefined symbol: SSL_write (/usr/lib64/libtls.so.1)
undefined symbol: SSLv23_client_method (/usr/lib64/libtls.so.1)
undefined symbol: sk_value (/usr/lib64/libtls.so.1)
[...]
Is this intentional, or would you concur that libressl-2.1.2/tls/Makefile.am
should get a
libtls_la_LIBADD = ../ssl/libssl.la
line?
In addition, when building for mingw, there is a warning.
libtool: link: warning: undefined symbols not allowed in
x86_64-w64-mingw32 shared libraries
To solve that, simply add
libcrypto_la_LDFLAGS = -no-undefined
[same for libssl,libtls]
Without this, the DLLs won't be produced.