Hello Gilles, Tried to rebuild on Fedora 30, but got compile errors (providing below with warnings in case if you find them useful): ----------- < cut here > ----------- gcc -DHAVE_CONFIG_H -I. -I../.. -I../../smtpd -I../../openbsd-compat -I../../openbsd-compat/err_h -I../../openbsd-compat/paths_h -I. -I/usr/include -DSMTPD_CONFDIR=\"/etc/opensmtpd\" -DPATH_CHROOT=\"/var/empty/smtpd\" -DPATH_SMTPCTL=\"/usr/sbin/smtpctl\" -DPATH_MAILLOCAL=\"/usr/libexec/opensmtpd/mail.local\" -DPATH_LIBEXEC=\"/usr/libexec/opensmtpd\" -DHAVE_CONFIG_H -DIO_SSL -DCA_FILE=\"/etc/pki/tls/cert.pem\" -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -DPIC -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wsizeof-pointer-memaccess -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -fno-builtin-memset -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_GNU_SOURCE -DNEED_EVENT_ASR_RUN -c -o ../../smtpd/smtpd-ca.o `test -f '../../smtpd/ca.c' || echo './'`../../smtpd/ca.c ../../smtpd/aliases.c: In function 'aliases_get': ../../smtpd/aliases.c:56:23: warning: variable 'userbase' set but not used [-Wunused-but-set-variable] 56 | struct table *userbase = NULL; | ^~~~~~~~ ../../smtpd/aliases.c: In function 'aliases_virtual_get': ../../smtpd/aliases.c:114:23: warning: variable 'userbase' set but not used [-Wunused-but-set-variable] 114 | struct table *userbase = NULL; | ^~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../.. -I../../smtpd -I../../openbsd-compat -I../../openbsd-compat/err_h -I../../openbsd-compat/paths_h -I. -I/usr/include -DSMTPD_CONFDIR=\"/etc/opensmtpd\" -DPATH_CHROOT=\"/var/empty/smtpd\" -DPATH_SMTPCTL=\"/usr/sbin/smtpctl\" -DPATH_MAILLOCAL=\"/usr/libexec/opensmtpd/mail.local\" -DPATH_LIBEXEC=\"/usr/libexec/opensmtpd\" -DHAVE_CONFIG_H -DIO_SSL -DCA_FILE=\"/etc/pki/tls/cert.pem\" -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -DPIC -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wsizeof-pointer-memaccess -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -fno-builtin-memset -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_GNU_SOURCE -DNEED_EVENT_ASR_RUN -c -o ../../smtpd/smtpd-compress_backend.o `test -f '../../smtpd/compress_backend.c' || echo './'`../../smtpd/compress_backend.c ../../smtpd/ca.c: In function 'ca_X509_verify': ../../smtpd/ca.c:204:47: error: dereferencing pointer to incomplete type 'X509_STORE_CTX' {aka 'struct x509_store_ctx_st'} 204 | *errstr = X509_verify_cert_error_string(xsc->error); | ^~ ../../smtpd/ca.c: At top level: ../../smtpd/ca.c:307:1: error: variable 'rsae_method' has initializer but incomplete type 307 | static RSA_METHOD rsae_method = { | ^~~~~~ ../../smtpd/ca.c:308:2: warning: excess elements in struct initializer 308 | "RSA privsep engine", | ^~~~~~~~~~~~~~~~~~~~ ../../smtpd/ca.c:308:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c:309:2: warning: excess elements in struct initializer 309 | rsae_pub_enc, | ^~~~~~~~~~~~ ../../smtpd/ca.c:309:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c:310:2: warning: excess elements in struct initializer 310 | rsae_pub_dec, | ^~~~~~~~~~~~ ../../smtpd/ca.c:310:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c:311:2: warning: excess elements in struct initializer 311 | rsae_priv_enc, | ^~~~~~~~~~~~~ ../../smtpd/ca.c:311:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c:312:2: warning: excess elements in struct initializer 312 | rsae_priv_dec, | ^~~~~~~~~~~~~ ../../smtpd/ca.c:312:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c:313:2: warning: excess elements in struct initializer 313 | rsae_mod_exp, | ^~~~~~~~~~~~ ../../smtpd/ca.c:313:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c:314:2: warning: excess elements in struct initializer 314 | rsae_bn_mod_exp, | ^~~~~~~~~~~~~~~ ../../smtpd/ca.c:314:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c:315:2: warning: excess elements in struct initializer 315 | rsae_init, | ^~~~~~~~~ ../../smtpd/ca.c:315:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c:316:2: warning: excess elements in struct initializer 316 | rsae_finish, | ^~~~~~~~~~~ ../../smtpd/ca.c:316:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c:317:2: warning: excess elements in struct initializer 317 | 0, | ^ ../../smtpd/ca.c:317:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c:318:2: warning: excess elements in struct initializer 318 | NULL, | ^~~~ ../../smtpd/ca.c:318:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c:319:2: warning: excess elements in struct initializer 319 | NULL, | ^~~~ ../../smtpd/ca.c:319:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c:320:2: warning: excess elements in struct initializer 320 | NULL, | ^~~~ ../../smtpd/ca.c:320:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c:321:2: warning: excess elements in struct initializer 321 | rsae_keygen | ^~~~~~~~~~~ ../../smtpd/ca.c:321:2: note: (near initialization for 'rsae_method') ../../smtpd/ca.c: In function 'rsae_pub_enc': ../../smtpd/ca.c:407:21: error: dereferencing pointer to incomplete type 'RSA_METHOD' {aka 'const struct rsa_meth_st'} 407 | return (rsa_default->rsa_pub_enc(flen, from, to, rsa, padding)); | ^~ ../../smtpd/ca.c: In function 'ca_engine_init': ../../smtpd/ca.c:493:38: error: invalid use of incomplete typedef 'RSA_METHOD' {aka 'struct rsa_meth_st'} 493 | if (!ENGINE_set_name(e, rsae_method.name)) { | ^ ../../smtpd/ca.c:511:27: error: 'RSA_FLAG_SIGN_VER' undeclared (first use in this function) 511 | if (rsa_default->flags & RSA_FLAG_SIGN_VER) | ^~~~~~~~~~~~~~~~~ ../../smtpd/ca.c:511:27: note: each undeclared identifier is reported only once for each function it appears in ../../smtpd/ca.c:515:14: error: invalid use of incomplete typedef 'RSA_METHOD' {aka 'struct rsa_meth_st'} 515 | rsae_method.rsa_mod_exp = NULL; | ^ ../../smtpd/ca.c:517:14: error: invalid use of incomplete typedef 'RSA_METHOD' {aka 'struct rsa_meth_st'} 517 | rsae_method.bn_mod_exp = NULL; | ^ ../../smtpd/ca.c:519:14: error: invalid use of incomplete typedef 'RSA_METHOD' {aka 'struct rsa_meth_st'} 519 | rsae_method.rsa_keygen = NULL; | ^ ../../smtpd/ca.c:520:13: error: invalid use of incomplete typedef 'RSA_METHOD' {aka 'struct rsa_meth_st'} 520 | rsae_method.flags = rsa_default->flags | | ^ ../../smtpd/ca.c:522:13: error: invalid use of incomplete typedef 'RSA_METHOD' {aka 'struct rsa_meth_st'} 522 | rsae_method.app_data = rsa_default->app_data; | ^ ../../smtpd/ca.c: At top level: ../../smtpd/ca.c:307:19: error: storage size of 'rsae_method' isn't known 307 | static RSA_METHOD rsae_method = { | ^~~~~~~~~~~ make[3]: *** [Makefile:742: ../../smtpd/smtpd-ca.o] Error 1 make[3]: *** Waiting for unfinished jobs.... ../../smtpd/bounce.c: In function 'bounce_add': ../../smtpd/bounce.c:189:43: warning: '%s' directive output may be truncated writing up to 2047 bytes into a region of size between 1535 and 2045 [-Wformat-truncation=] 189 | (void)snprintf(buf, sizeof(buf), "%s@%s: %s\n", evp.dest.user, | ^~ In file included from /usr/include/stdio.h:867, from ../../openbsd-compat/openbsd-compat.h:189, from ../../openbsd-compat/includes.h:67, from ../../smtpd/bounce.c:21: /usr/include/bits/stdio2.h:67:10: note: '__builtin___snprintf_chk' output between 5 and 2562 bytes into a destination of size 2048 67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 68 | __bos (__s), __fmt, __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[3]: Leaving directory '/home/mock/rpmbuild/BUILD/opensmtpd-6.4.2p1/mk/smtpd' make[2]: *** [Makefile:371: all-recursive] Error 1 make[2]: Leaving directory '/home/mock/rpmbuild/BUILD/opensmtpd-6.4.2p1/mk' make[1]: *** [Makefile:418: all-recursive] Error 1 make[1]: Leaving directory '/home/mock/rpmbuild/BUILD/opensmtpd-6.4.2p1' make: *** [Makefile:350: all] Error 2
----------- < cut here > ----------- [mock@fedora30-amd64 ~]$ openssl version OpenSSL 1.1.1c FIPS 28 May 2019 [mock@fedora30-amd64 ~]$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/9/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-redhat-linux Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl= http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux Thread model: posix gcc version 9.1.1 20190503 (Red Hat 9.1.1-1) (GCC) --- wbr, Denis.