include/openssl/x509.h:86:28: error: unknown type name ‘X509_TRUST’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      |                            ^~~~~~~~~~
include/openssl/safestack.h:82:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   82 |     static ossl_unused ossl_inline t2 *sk_##t1##_pop(STACK_OF(t1) *sk) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:86:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h: In function ‘sk_X509_TRUST_pop’:
include/openssl/x509.h:86:28: error: ‘X509_TRUST’ undeclared (first use in this function); did you mean ‘X509_CRL’?
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      |                            ^~~~~~~~~~
include/openssl/safestack.h:84:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   84 |         return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:86:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:84:21: error: expected expression before ‘)’ token
   84 |         return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:86:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h: At top level:
include/openssl/x509.h:86:28: error: unknown type name ‘X509_TRUST’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      |                            ^~~~~~~~~~
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:86:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h: In function ‘sk_X509_TRUST_shift’:
include/openssl/x509.h:86:28: error: ‘X509_TRUST’ undeclared (first use in this function); did you mean ‘X509_CRL’?
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      |                            ^~~~~~~~~~
include/openssl/safestack.h:88:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   88 |         return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:86:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:88:21: error: expected expression before ‘)’ token
   88 |         return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:86:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h: At top level:
include/openssl/safestack.h:90:78: error: unknown type name ‘sk_X509_TRUST_freefunc’; did you mean ‘sk_X509_TRUST_copyfunc’?
   90 | unused ossl_inline void sk_##t1##_pop_free(STACK_OF(t1) *sk, sk_##t1##_freefunc freefunc) \
      |                                                              ^~~

include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:86:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:86:28: error: unknown type name ‘X509_TRUST’; did you mean ‘X509_CRL’?
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      |                            ^~~~~~~~~~
include/openssl/safestack.h:94:75: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   94 | sl_unused ossl_inline int sk_##t1##_insert(STACK_OF(t1) *sk, t2 *ptr, int idx) \
      |                                                              ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:86:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:86:28: error: unknown type name ‘X509_TRUST’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      |                            ^~~~~~~~~~
include/openssl/safestack.h:98:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   98 |     static ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:86:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:86:28: error: unknown type name ‘X509_TRUST’; did you mean ‘X509_CRL’?
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      |                            ^~~~~~~~~~
include/openssl/safestack.h:98:81: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   98 | ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:86:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:86:28: error: unknown type name ‘X509_TRUST’; did you mean ‘X509_CRL’?
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      |                            ^~~~~~~~~~
include/openssl/safestack.h:102:73: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
  102 |  static ossl_unused ossl_inline int sk_##t1##_find(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:86:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:86:28: error: unknown type name ‘X509_TRUST’; did you mean ‘X509_CRL’?
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      |                            ^~~~~~~~~~
include/openssl/safestack.h:106:76: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
  106 | atic ossl_unused ossl_inline int sk_##t1##_find_ex(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:86:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:124:53: error: unknown type name ‘sk_X509_TRUST_freefunc’; did you mean ‘sk_X509_TRUST_copyfunc’?
  124 |                                                     sk_##t1##_freefunc freefunc) \
      |                                                     ^~~
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:86:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   86 | DEFINE_OR_DECLARE_STACK_OF(X509_TRUST)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:30:45: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   30 |     typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \
      |                                             ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:30:66: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   30 |   typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \
      |                                                                ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:31:40: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   31 |     typedef void (*sk_##t1##_freefunc)(t3 *a); \
      |                                        ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:32:13: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   32 |     typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \
      |             ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:32:46: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   32 |     typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \
      |                                              ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:37:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   37 |     static ossl_unused ossl_inline t2 *sk_##t1##_value(const STACK_OF(t1) *sk, int idx) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h: In function ‘sk_X509_INFO_value’:
include/openssl/x509.h:89:28: error: ‘X509_INFO’ undeclared (first use in this function)
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:39:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   39 |         return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:39:21: error: expected expression before ‘)’ token
   39 |         return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h: At top level:
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:65:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   65 |     static ossl_unused ossl_inline t2 *sk_##t1##_delete(STACK_OF(t1) *sk, int i) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h: In function ‘sk_X509_INFO_delete’:
include/openssl/x509.h:89:28: error: ‘X509_INFO’ undeclared (first use in this function)
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:67:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   67 |         return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:67:21: error: expected expression before ‘)’ token
   67 |         return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h: At top level:
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:69:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   69 |     static ossl_unused ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:69:79: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   69 | c ossl_unused ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:74:73: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   74 |  static ossl_unused ossl_inline int sk_##t1##_push(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:78:76: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   78 | atic ossl_unused ossl_inline int sk_##t1##_unshift(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:82:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   82 |     static ossl_unused ossl_inline t2 *sk_##t1##_pop(STACK_OF(t1) *sk) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h: In function ‘sk_X509_INFO_pop’:
include/openssl/x509.h:89:28: error: ‘X509_INFO’ undeclared (first use in this function)
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:84:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   84 |         return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:84:21: error: expected expression before ‘)’ token
   84 |         return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h: At top level:
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:86:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   86 |     static ossl_unused ossl_inline t2 *sk_##t1##_shift(STACK_OF(t1) *sk) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h: In function ‘sk_X509_INFO_shift’:
include/openssl/x509.h:89:28: error: ‘X509_INFO’ undeclared (first use in this function)
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:88:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   88 |         return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:88:21: error: expected expression before ‘)’ token
   88 |         return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h: At top level:
include/openssl/safestack.h:90:78: error: unknown type name ‘sk_X509_INFO_freefunc’; did you mean ‘sk_X509_INFO_copyfunc’?
   90 | unused ossl_inline void sk_##t1##_pop_free(STACK_OF(t1) *sk, sk_##t1##_freefunc freefunc) \
      |                                                              ^~~

include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:94:75: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   94 | sl_unused ossl_inline int sk_##t1##_insert(STACK_OF(t1) *sk, t2 *ptr, int idx) \
      |                                                              ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:98:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   98 |     static ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:98:81: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   98 | ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:102:73: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
  102 |  static ossl_unused ossl_inline int sk_##t1##_find(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/x509.h:89:28: error: unknown type name ‘X509_INFO’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      |                            ^~~~~~~~~
include/openssl/safestack.h:106:76: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
  106 | atic ossl_unused ossl_inline int sk_##t1##_find_ex(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:124:53: error: unknown type name ‘sk_X509_INFO_freefunc’; did you mean ‘sk_X509_INFO_copyfunc’?
  124 |                                                     sk_##t1##_freefunc freefunc) \
      |                                                     ^~~
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/x509.h:89:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   89 | DEFINE_OR_DECLARE_STACK_OF(X509_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/openssl/types.h:20,
                 from include/openssl/x509.h:21,
                 from a.c:1:
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:30:45: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   30 |     typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \
      |                                             ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:30:66: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   30 |   typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \
      |                                                                ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’; did you mean ‘PKCS8_PRIV_KEY_INFO’?
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:32:13: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   32 |     typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \
      |             ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:32:46: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   32 |     typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \
      |                                              ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:37:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   37 |     static ossl_unused ossl_inline t2 *sk_##t1##_value(const STACK_OF(t1) *sk, int idx) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: In function ‘sk_PKCS7_SIGNER_INFO_value’:
include/openssl/pkcs7.h:31:28: error: ‘PKCS7_SIGNER_INFO’ undeclared (first use in this function); did you mean ‘sk_PKCS7_SIGNER_INFO_num’?
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:39:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   39 |         return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:39:21: error: expected expression before ‘)’ token
   39 |         return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: At top level:
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:65:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   65 |     static ossl_unused ossl_inline t2 *sk_##t1##_delete(STACK_OF(t1) *sk, int i) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: In function ‘sk_PKCS7_SIGNER_INFO_delete’:
include/openssl/pkcs7.h:31:28: error: ‘PKCS7_SIGNER_INFO’ undeclared (first use in this function); did you mean ‘sk_PKCS7_SIGNER_INFO_new’?
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:67:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   67 |         return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:67:21: error: expected expression before ‘)’ token
   67 |         return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: At top level:
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:69:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   69 |     static ossl_unused ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’; did you mean ‘PKCS8_PRIV_KEY_INFO’?
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:69:79: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   69 | c ossl_unused ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’; did you mean ‘PKCS8_PRIV_KEY_INFO’?
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:74:73: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   74 |  static ossl_unused ossl_inline int sk_##t1##_push(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’; did you mean ‘PKCS8_PRIV_KEY_INFO’?
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:78:76: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   78 | atic ossl_unused ossl_inline int sk_##t1##_unshift(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:82:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   82 |     static ossl_unused ossl_inline t2 *sk_##t1##_pop(STACK_OF(t1) *sk) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: In function ‘sk_PKCS7_SIGNER_INFO_pop’:
include/openssl/pkcs7.h:31:28: error: ‘PKCS7_SIGNER_INFO’ undeclared (first use in this function); did you mean ‘sk_PKCS7_SIGNER_INFO_pop’?
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:84:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   84 |         return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:84:21: error: expected expression before ‘)’ token
   84 |         return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: At top level:
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:86:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   86 |     static ossl_unused ossl_inline t2 *sk_##t1##_shift(STACK_OF(t1) *sk) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: In function ‘sk_PKCS7_SIGNER_INFO_shift’:
include/openssl/pkcs7.h:31:28: error: ‘PKCS7_SIGNER_INFO’ undeclared (first use in this function); did you mean ‘sk_PKCS7_SIGNER_INFO_pop’?
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:88:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   88 |         return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:88:21: error: expected expression before ‘)’ token
   88 |         return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: At top level:
include/openssl/safestack.h:90:78: error: unknown type name ‘sk_PKCS7_SIGNER_INFO_freefunc’; did you mean ‘sk_PKCS7_SIGNER_INFO_copyfunc’?
   90 | unused ossl_inline void sk_##t1##_pop_free(STACK_OF(t1) *sk, sk_##t1##_freefunc freefunc) \
      |                                                              ^~~

include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’; did you mean ‘PKCS8_PRIV_KEY_INFO’?
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:94:75: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   94 | sl_unused ossl_inline int sk_##t1##_insert(STACK_OF(t1) *sk, t2 *ptr, int idx) \
      |                                                              ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:98:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   98 |     static ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’; did you mean ‘PKCS8_PRIV_KEY_INFO’?
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:98:81: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   98 | ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’; did you mean ‘PKCS8_PRIV_KEY_INFO’?
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:102:73: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
  102 |  static ossl_unused ossl_inline int sk_##t1##_find(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:28: error: unknown type name ‘PKCS7_SIGNER_INFO’; did you mean ‘PKCS8_PRIV_KEY_INFO’?
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      |                            ^~~~~~~~~~~~~~~~~
include/openssl/safestack.h:106:76: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
  106 | atic ossl_unused ossl_inline int sk_##t1##_find_ex(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:124:53: error: unknown type name ‘sk_PKCS7_SIGNER_INFO_freefunc’; did you mean ‘sk_PKCS7_SIGNER_INFO_copyfunc’?
  124 |                                                     sk_##t1##_freefunc freefunc) \
      |                                                     ^~~
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:31:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   31 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:30:45: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   30 |     typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \
      |                                             ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:30:66: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   30 |   typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \
      |                                                                ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:31:40: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   31 |     typedef void (*sk_##t1##_freefunc)(t3 *a); \
      |                                        ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:37:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   37 |     static ossl_unused ossl_inline t2 *sk_##t1##_value(const STACK_OF(t1) *sk, int idx) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: In function ‘sk_PKCS7_RECIP_INFO_value’:
include/openssl/pkcs7.h:32:28: error: ‘PKCS7_RECIP_INFO’ undeclared (first use in this function); did you mean ‘sk_PKCS7_RECIP_INFO_num’?
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:39:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   39 |         return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:39:21: error: expected expression before ‘)’ token
   39 |         return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: At top level:
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:65:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   65 |     static ossl_unused ossl_inline t2 *sk_##t1##_delete(STACK_OF(t1) *sk, int i) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: In function ‘sk_PKCS7_RECIP_INFO_delete’:
include/openssl/pkcs7.h:32:28: error: ‘PKCS7_RECIP_INFO’ undeclared (first use in this function); did you mean ‘sk_PKCS7_RECIP_INFO_new’?
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:67:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   67 |         return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:67:21: error: expected expression before ‘)’ token
   67 |         return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: At top level:
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:69:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   69 |     static ossl_unused ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:69:79: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   69 | c ossl_unused ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:74:73: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   74 |  static ossl_unused ossl_inline int sk_##t1##_push(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:78:76: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   78 | atic ossl_unused ossl_inline int sk_##t1##_unshift(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:82:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   82 |     static ossl_unused ossl_inline t2 *sk_##t1##_pop(STACK_OF(t1) *sk) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: In function ‘sk_PKCS7_RECIP_INFO_pop’:
include/openssl/pkcs7.h:32:28: error: ‘PKCS7_RECIP_INFO’ undeclared (first use in this function); did you mean ‘sk_PKCS7_RECIP_INFO_pop’?
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:84:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   84 |         return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:84:21: error: expected expression before ‘)’ token
   84 |         return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: At top level:
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:86:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   86 |     static ossl_unused ossl_inline t2 *sk_##t1##_shift(STACK_OF(t1) *sk) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: In function ‘sk_PKCS7_RECIP_INFO_shift’:
include/openssl/pkcs7.h:32:28: error: ‘PKCS7_RECIP_INFO’ undeclared (first use in this function); did you mean ‘sk_PKCS7_RECIP_INFO_pop’?
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:88:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   88 |         return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:88:21: error: expected expression before ‘)’ token
   88 |         return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: At top level:
include/openssl/safestack.h:90:78: error: unknown type name ‘sk_PKCS7_RECIP_INFO_freefunc’; did you mean ‘sk_PKCS7_RECIP_INFO_copyfunc’?
   90 | unused ossl_inline void sk_##t1##_pop_free(STACK_OF(t1) *sk, sk_##t1##_freefunc freefunc) \
      |                                                              ^~~

include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:94:75: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   94 | sl_unused ossl_inline int sk_##t1##_insert(STACK_OF(t1) *sk, t2 *ptr, int idx) \
      |                                                              ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:98:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   98 |     static ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:98:81: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   98 | ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:102:73: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
  102 |  static ossl_unused ossl_inline int sk_##t1##_find(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:28: error: unknown type name ‘PKCS7_RECIP_INFO’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      |                            ^~~~~~~~~~~~~~~~
include/openssl/safestack.h:106:76: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
  106 | atic ossl_unused ossl_inline int sk_##t1##_find_ex(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:124:53: error: unknown type name ‘sk_PKCS7_RECIP_INFO_freefunc’; did you mean ‘sk_PKCS7_RECIP_INFO_copyfunc’?
  124 |                                                     sk_##t1##_freefunc freefunc) \
      |                                                     ^~~
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:32:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   32 | DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:30:45: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   30 |     typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \
      |                                             ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:30:66: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   30 |   typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \
      |                                                                ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:31:40: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   31 |     typedef void (*sk_##t1##_freefunc)(t3 *a); \
      |                                        ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:32:13: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   32 |     typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \
      |             ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:32:46: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   32 |     typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \
      |                                              ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:37:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   37 |     static ossl_unused ossl_inline t2 *sk_##t1##_value(const STACK_OF(t1) *sk, int idx) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: In function ‘sk_PKCS7_value’:
include/openssl/pkcs7.h:33:28: error: ‘PKCS7’ undeclared (first use in this function)
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:39:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   39 |         return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:39:21: error: expected expression before ‘)’ token
   39 |         return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: At top level:
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:65:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   65 |     static ossl_unused ossl_inline t2 *sk_##t1##_delete(STACK_OF(t1) *sk, int i) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: In function ‘sk_PKCS7_delete’:
include/openssl/pkcs7.h:33:28: error: ‘PKCS7’ undeclared (first use in this function)
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:67:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   67 |         return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:67:21: error: expected expression before ‘)’ token
   67 |         return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: At top level:
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:69:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   69 |     static ossl_unused ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:69:79: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   69 | c ossl_unused ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:74:73: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   74 |  static ossl_unused ossl_inline int sk_##t1##_push(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:78:76: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   78 | atic ossl_unused ossl_inline int sk_##t1##_unshift(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:82:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   82 |     static ossl_unused ossl_inline t2 *sk_##t1##_pop(STACK_OF(t1) *sk) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: In function ‘sk_PKCS7_pop’:
include/openssl/pkcs7.h:33:28: error: ‘PKCS7’ undeclared (first use in this function)
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:84:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   84 |         return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:84:21: error: expected expression before ‘)’ token
   84 |         return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: At top level:
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:86:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   86 |     static ossl_unused ossl_inline t2 *sk_##t1##_shift(STACK_OF(t1) *sk) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: In function ‘sk_PKCS7_shift’:
include/openssl/pkcs7.h:33:28: error: ‘PKCS7’ undeclared (first use in this function)
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:88:17: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   88 |         return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \
      |                 ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:88:21: error: expected expression before ‘)’ token
   88 |         return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \
      |                     ^
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h: At top level:
include/openssl/safestack.h:90:78: error: unknown type name ‘sk_PKCS7_freefunc’; did you mean ‘sk_PKCS7_copyfunc’?
   90 | unused ossl_inline void sk_##t1##_pop_free(STACK_OF(t1) *sk, sk_##t1##_freefunc freefunc) \
      |                                                              ^~~

include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:94:75: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   94 | sl_unused ossl_inline int sk_##t1##_insert(STACK_OF(t1) *sk, t2 *ptr, int idx) \
      |                                                              ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:98:36: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   98 |     static ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \
      |                                    ^~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:98:81: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
   98 | ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:102:73: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
  102 |  static ossl_unused ossl_inline int sk_##t1##_find(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:28: error: unknown type name ‘PKCS7’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      |                            ^~~~~
include/openssl/safestack.h:106:76: note: in definition of macro ‘SKM_DEFINE_STACK_OF’
  106 | atic ossl_unused ossl_inline int sk_##t1##_find_ex(STACK_OF(t1) *sk, t2 *ptr) \
      |                                                                      ^~

include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:124:53: error: unknown type name ‘sk_PKCS7_freefunc’; did you mean ‘sk_PKCS7_copyfunc’?
  124 |                                                     sk_##t1##_freefunc freefunc) \
      |                                                     ^~~
include/openssl/safestack.h:135:29: note: in expansion of macro ‘SKM_DEFINE_STACK_OF’
  135 | # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
      |                             ^~~~~~~~~~~~~~~~~~~
include/openssl/safestack.h:175:40: note: in expansion of macro ‘DEFINE_STACK_OF’
  175 | # define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s)
      |                                        ^~~~~~~~~~~~~~~
include/openssl/pkcs7.h:33:1: note: in expansion of macro ‘DEFINE_OR_DECLARE_STACK_OF’
   33 | DEFINE_OR_DECLARE_STACK_OF(PKCS7)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~

What do I have to do further for you to understand what I'm saying?

Ouch, sorry for the wall of log.  I'm amazed how much gcc has to say...

In https://github.com/openssl/openssl/pull/10669#issuecomment-571866472 you said something different, which is what I tried and showed that it worked for me; see https://github.com/openssl/openssl/pull/10669#issuecomment-572165728
But, again, this is a WIP.  The "unknown type" errors can be resolved by re-orderng some things, as you pointed out in https://github.com/openssl/openssl/pull/10669#discussion_r365574109 and others.  Those can be fixed trivially of course and I will do so if the OPENSSL_BUILDING_OPENSSL flag gets propagated to all of the openssl builds because this PR depends on that and the rationale for that has been explained before in the opening description of #10666.

This will define OPENSSL_BUILDING_OPENSSL across the board.
I disagree with it, but think you should still be able to play around with it.
diff --git a/Configurations/00-base-templates.conf b/Configurations/00-base-templates.conf
index 451a808f1e..20d06063e9 100644
--- a/Configurations/00-base-templates.conf
+++ b/Configurations/00-base-templates.conf
@@ -10,7 +10,7 @@ my %targets=(
 	includes	=> [],
 	lib_cflags	=> "",
 	lib_cppflags	=> "",
-	lib_defines	=> [ 'OPENSSL_BUILDING_OPENSSL' ],
+	lib_defines	=> [],
 	thread_scheme	=> "(unknown)", # Assume we don't know
 	thread_defines	=> [],

@@ -47,7 +47,7 @@ my %targets=(

 	defines		=>
 	    sub {
-                my @defs = ();
+                my @defs = ( 'OPENSL_BUILDING_OPENSSL' );
                 push @defs, "ZLIB" unless $disabled{zlib};
                 push @defs, "ZLIB_SHARED" unless $disabled{"zlib-dynamic"};
                 return [ @defs ];

@petrovr please try your test now; I believe it will work.
@levitte this now seems to work for various configuration builds.

updated commit pushed to fix "no-deprecated" build.

rebased to address conflicts and pushed.

Rebased to fix conflict in apps/pkcs12.c

Unfortunately there is one more conflict now.

Please see https://github.com/openssl/openssl/pull/11263#issuecomment-614049158

rebased.  added some missing cases.  i forgot about my promise to not rebase again.  just like the project forgets to look at PR's :)

24 hours has passed since 'approval: done' was set, but this PR has failing CI tests.  Once the tests pass it will get moved to 'approval: ready to merge' automatically, alternatively please review and set the label manually.

Merged to master. Thank you, Rich, for your cleanup work.

Thanks for not giving up on this.

This seems to have broken stuff.
See failing build log here:
https://travis-ci.org/github/openssl/openssl/jobs/679519464

Also:
https://oss-fuzz-build-logs.storage.googleapis.com/log-73ba3005-9cf1-4417-9ed5-61c5f5919839.txt

@mattcaswell, see #11655

@mattcaswell, see #11655

I suspect #11655 is not sufficient. The oss-fuzz build log above is complaining about issues in srp.h.