Hi Pascal,
Thanks for your report. I think your are trying to build lftp with GnuTLS (it builds fine with OpenSSL). Can you try the attached patch and tell me if it fixes your problem ?
Best regards,
Ganael.

Hi Kamigishi, Pascal,
OK, you are using OpenSSL from *ports* while I was testing the build against OpenSSL from *base*.
I can now reproduce the problem when using OpenSSL from ports (with 'DEFAULT_VERSIONS+= ssl=openssl' set in make.conf).
Adding -pthread fixes the problem too.
Can you try the more generic patch attached ? It now adds the missing -pthead flag unconditionally.

Seems “openssl version -f” will have -pthread for ports-built OpenSSL. The problem is that we would have to test for /usr/local/bin/openssl first, because base has PATH priority.
Base OpenSSL's version -f shows just “clang”.
The other, likely safer, option is to check “ldd /path/to/openssl” output for libthr.so.

A commit references this bug:
Author: martymac
Date: Mon Aug 27 10:16:03 UTC 2018
New revision: 478188
URL: https://svnweb.freebsd.org/changeset/ports/478188
Log:
Fix build when selected SSL library is linked to libthr
When a non-default SSL library is used (GnuTLS, OpenSSL or LibreSSL from
ports) and if it is linked to libthr, compilation fails with the following
error :
/usr/bin/ld: undefined reference to symbol `pthread_mutexattr_gettype@@FBSD_1.0' (try adding -lthr)
//lib/libthr.so.3: could not read symbols: Bad value
As OpenSSL-like ports (OpenSSL from base, OpenSSL and OpenSSL-devel from ports,
LibreSSL and LibreSSL-devel from ports) may or may not be linked to libthr, fix
build by detecting if the selected library is linked to libthr or not.
PR: 230813
Submitted by: Pascal Christen <pascal.christen@hostpoint.ch>
Changes:
head/ftp/lftp/Makefile