Re: Felix Lechner > There may be an alternative for some cases mentioned here. The wolfSSL > encryption library is a FIPS-certified, commercial product with a > fully usable, although incomplete, OpenSSL compatibility layer.
Interesting pointer, thanks. For postgresql-12, it fails at the configure stage, though: configure:11890: checking for CRYPTO_new_ex_data in -lcrypto configure:11915: gcc -o conftest -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmis sing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-trun cation -O2 -D_GNU_SOURCE conftest.c -lcrypto -lz -ledit -lrt -lcrypt -ldl -lm >&5 /usr/bin/ld: cannot find -lcrypto collect2: error: ld returned 1 exit status configure:11915: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "PostgreSQL" | #define PACKAGE_TARNAME "postgresql" | #define PACKAGE_VERSION "12.2" | #define PACKAGE_STRING "PostgreSQL 12.2" | #define PACKAGE_BUGREPORT "[email protected]" | #define PACKAGE_URL "" | #define PG_MAJORVERSION "12" | #define PG_VERSION "12.2" | #define DEF_PGPORT 5432 | #define DEF_PGPORT_STR "5432" | #define BLCKSZ 8192 | #define RELSEG_SIZE 131072 | #define XLOG_BLCKSZ 8192 | #define ENABLE_THREAD_SAFETY 1 | #define PG_KRB_SRVNAM "postgres" | #define USE_OPENSSL 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_PTHREAD_PRIO_INHERIT 1 | #define HAVE_PTHREAD 1 | #define HAVE_STRERROR_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GETHOSTBYNAME_R 1 | #define HAVE_LIBM 1 | #define HAVE_LIBREADLINE 1 | #define HAVE_LIBZ 1 | #define HAVE_SPINLOCKS 1 | #define HAVE_ATOMICS 1 | /* end confdefs.h. */ | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char CRYPTO_new_ex_data (); | int | main () | { | return CRYPTO_new_ex_data (); | ; | return 0; | } configure:11924: result: no configure:11934: error: library 'crypto' is required for OpenSSL Christoph

