The problem manifests itself when I attempt to compile Ruby gem "openssl-3.1.0" (I doubt it relates to OpenSSL release 3.1.0, but I'm not sure). It seems to be related to the fact that 'struct evp_md_ctx_st' is not available? Here's the offending lines (I don't see any problem with them): EVP_MD_CTX *ctx; EVP_PKEY *pkey; GetHMAC(self, ctx); pkey = EVP_PKEY_CTX_get0_pkey(EVP_MD_CTX_get_pkey_ctx(ctx)); Here's the error message: compiling ossl_hmac.c In file included from ossl_hmac.c:10: In file included from ./ossl.h:178: ./openssl_missing.h:195:11: warning: 'TS_VERIFY_CTS_set_certs' macro redefined [-Wmacro-redefined] # define TS_VERIFY_CTS_set_certs(ctx, crts) ((ctx)->certs=(crts)) ^ /opt/local/libexec/openssl3/include/openssl/ts.h:424:11: note: previous definition is here # define TS_VERIFY_CTS_set_certs(ctx, cert) TS_VERIFY_CTX_set_certs(ctx,cert) ^ ossl_hmac.c:249:35: error: incomplete definition of type 'struct evp_md_ctx_st' pkey = EVP_PKEY_CTX_get0_pkey(EVP_MD_CTX_get_pkey_ctx(ctx)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./openssl_missing.h:230:41: note: expanded from macro 'EVP_MD_CTX_get_pkey_ctx' # define EVP_MD_CTX_get_pkey_ctx(x) (x)->pctx ~~~^ /opt/local/libexec/openssl3/include/openssl/types.h:104:16: note: forward declaration of 'struct evp_md_ctx_st' typedef struct evp_md_ctx_st EVP_MD_CTX; ^ 1 warning and 1 error generated. make: *** [ossl_hmac.o] Error 1 I'd appreciate any help or advice. Is it an OpenSSL problem? An openssl-3.1.0-rubygem problem? Do I need to report it on some Rubygems list? Thanks! -- V/R, Uri Blumenthal Voice: (781) 981-1638 Secure Resilient Systems and Technologies Cell: (339) 223-5363 MIT Lincoln Laboratory 244 Wood Street, Lexington, MA 02420-9108 Web: https://www.ll.mit.edu/biographies/uri-blumenthal Root CA: https://www.ll.mit.edu/llrca2.pem There are two ways to design a system. One is to make it so simple there are obviously no deficiencies. The other is to make it so complex there are no obvious deficiencies. - C. A. R. Hoare
Attachment:
smime.p7s
Description: S/MIME cryptographic signature