Created attachment 240711 [details] poudriere build log card-openpgp.c:1164:7: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype] .. libtool: compile: cc -DHAVE_CONFIG_H -I. -I../.. -DOPENSC_CONF_PATH=\"/usr/local/etc/opensc.conf\" -DDEFAULT_SM_MODULE_PATH=\"/usr/local/lib\" -DDEFAULT_SM_MODULE=\"libsmm-local.so\" -I../../src -I/usr/include -I/usr/local/include/PCSC -pthread -Wall -Wextra -Wno-unused-parameter -Werror -Wstrict-aliasing=2 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -MT libopensc_la-card-openpgp.lo -MD -MP -MF .deps/libopensc_la-card-openpgp.Tpo -c card-openpgp.c -fPIC -DPIC -o .libs/libopensc_la-card-openpgp.o card-openpgp.c:1164:7: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype] func(blob); ^ 1 error generated. gmake[4]: *** [Makefile:1728: libopensc_la-card-openpgp.lo] Error 1
Can you check in my last commit fixed the error?
(In reply to Alex Dupre from comment #1) I'm still seeing a build failure: libtool: link: cc -I/usr/include -Wall -Wextra -Wno-unused-parameter -Werror -Wstrict-aliasing=2 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fstack-protector-strong -o .libs/pkcs11-tool pkcs11_tool-pkcs11-tool.o pkcs11_tool-util.o ../../src/common/.libs/libpkcs11.a -L/usr/lib ../../src/libopensc/.libs/libopensc.so -L/usr/local/lib ../../src/common/.libs/libscdl.a ../../src/common/.libs/libcompat.a -lz -ldl -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl -lcrypto -pthread -Wl,-rpath -Wl,/usr/local/lib ld: error: undefined symbol: d2i_KeyParams >>> referenced by pkcs11-tool.c >>> pkcs11_tool-pkcs11-tool.o:(read_object) cc: error: linker command failed with exit code 1 (use -v to see invocation) gmake[5]: *** [Makefile:971: pkcs11-tool] Error 1 Because we're OpenSSL 3 now it's trying to use d2i_KeyParams() rather than d2i_ECParameters(), and from my initial digging it looks like we (i.e. freebsd-src) are not actually building the file that function lives in.
(In reply to Kristof Provost from comment #2) I'm test-building with this patch: diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Makefile index 28258e796984..ef5652e8c27c 100644 --- a/secure/lib/libcrypto/Makefile +++ b/secure/lib/libcrypto/Makefile @@ -74,7 +74,7 @@ SRCS+= n_pkey.c nsseq.c p5_pbe.c p5_pbev2.c p5_scrypt.c p8_pkey.c SRCS+= t_bitst.c t_pkey.c t_spki.c tasn_dec.c tasn_enc.c tasn_fre.c SRCS+= tasn_new.c tasn_prn.c tasn_scn.c tasn_typ.c tasn_utl.c x_algor.c SRCS+= x_bignum.c x_info.c x_int64.c x_long.c x_pkey.c x_sig.c x_spki.c -SRCS+= x_val.c +SRCS+= x_val.c d2i_param.c # async SRCS+= async.c async_err.c async_posix.c async_wait.c diff --git a/secure/lib/libcrypto/Version.map b/secure/lib/libcrypto/Version.map index 421819324961..74d0b8b3cef1 100644 --- a/secure/lib/libcrypto/Version.map +++ b/secure/lib/libcrypto/Version.map @@ -3564,6 +3564,8 @@ OPENSSL_1_1_0 { d2i_IPAddressOrRange; d2i_IPAddressRange; d2i_ISSUING_DIST_POINT; + d2i_KeyParams; + d2i_KeyParams_bio; d2i_NETSCAPE_CERT_SEQUENCE; d2i_NETSCAPE_SPKAC; d2i_NETSCAPE_SPKI; and that appears to work. I'll poke the openssl-in-src people about this.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=ebd508a0b2719e15575e8a2224f0730c4d37afec commit ebd508a0b2719e15575e8a2224f0730c4d37afec Author: Kristof Provost <kp@FreeBSD.org> AuthorDate: 2023-07-07 19:25:34 +0000 Commit: Kristof Provost <kp@FreeBSD.org> CommitDate: 2023-07-09 13:18:21 +0000 openssl: include d2i_KeyParams() and d2i_KeyParams_bio() These functions are new, and some ports (e.g.opensc) expect to have them available. Add the file they're defined in to the build, and add them to Version.map. PR: 270076 Reviewed by: markj, emaste, pierre Fixes: b077aed33b7b ("Merge OpenSSL 3.0.9") Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D40914 secure/lib/libcrypto/Makefile | 4 ++-- secure/lib/libcrypto/Version.map | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-)