Skip to content

Fails to build with openssl 1.1 on Windows #13

Open
@lazka

Description

@lazka

X509_LOOKUP and X509_LOOKUP_METHOD structs are opaque now from what I can see.

$ make
make  all-am
make[1]: Entering directory '/home/xy/M/mingw-w64-opusfile/src/build-i686-w64-mingw32'
  CC       src/libopusurl_la-wincerts.lo
../opusfile-0.11/src/wincerts.c: In function 'op_capi_new':
../opusfile-0.11/src/wincerts.c:42:8: error: dereferencing pointer to incomplete type 'X509_LOOKUP {aka struct x509_lookup_st}'
     _lu->method_data=(char *)h_store;
        ^~
../opusfile-0.11/src/wincerts.c: In function 'op_capi_retrieve_by_subject':
../opusfile-0.11/src/wincerts.c:61:3: warning: implicit declaration of function 'CRYPTO_w_lock'; did you mean 'CRYPTO_zalloc'? [-Wimplicit-function-declaration]
   CRYPTO_w_lock(CRYPTO_LOCK_X509_STORE);
   ^~~~~~~~~~~~~
   CRYPTO_zalloc
../opusfile-0.11/src/wincerts.c:61:17: error: 'CRYPTO_LOCK_X509_STORE' undeclared (first use in this function); did you mean 'CRYPTO_EX_INDEX_X509_STORE'?
   CRYPTO_w_lock(CRYPTO_LOCK_X509_STORE);
                 ^~~~~~~~~~~~~~~~~~~~~~
                 CRYPTO_EX_INDEX_X509_STORE
../opusfile-0.11/src/wincerts.c:61:17: note: each undeclared identifier is reported only once for each function it appears in
../opusfile-0.11/src/wincerts.c:63:3: warning: implicit declaration of function 'CRYPTO_w_unlock'; did you mean 'CRYPTO_realloc'? [-Wimplicit-function-declaration]
   CRYPTO_w_unlock(CRYPTO_LOCK_X509_STORE);
   ^~~~~~~~~~~~~~~
   CRYPTO_realloc
../opusfile-0.11/src/wincerts.c:65:9: error: dereferencing pointer to incomplete type 'X509_OBJECT {aka struct x509_object_st}'
     _ret->type=obj->type;
         ^~
../opusfile-0.11/src/wincerts.c: In function 'op_capi_get_by_subject':
../opusfile-0.11/src/wincerts.c:76:11: error: dereferencing pointer to incomplete type 'X509_NAME {aka struct X509_name_st}'
   if(_name->bytes==NULL||_name->bytes->length<=0||_name->modified){
           ^~
../opusfile-0.11/src/wincerts.c: At top level:
../opusfile-0.11/src/wincerts.c:147:1: error: variable 'X509_LOOKUP_CAPI' has initializer but incomplete type
 static X509_LOOKUP_METHOD X509_LOOKUP_CAPI={
 ^~~~~~
../opusfile-0.11/src/wincerts.c:148:3: warning: excess elements in struct initializer
   "Load Crypto API store into cache",
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../opusfile-0.11/src/wincerts.c:148:3: note: (near initialization for 'X509_LOOKUP_CAPI')
../opusfile-0.11/src/wincerts.c:149:3: warning: excess elements in struct initializer
   op_capi_new,
   ^~~~~~~~~~~
../opusfile-0.11/src/wincerts.c:149:3: note: (near initialization for 'X509_LOOKUP_CAPI')
../opusfile-0.11/src/wincerts.c:150:3: warning: excess elements in struct initializer
   op_capi_free,
   ^~~~~~~~~~~~
../opusfile-0.11/src/wincerts.c:150:3: note: (near initialization for 'X509_LOOKUP_CAPI')
../opusfile-0.11/src/wincerts.c:151:3: warning: excess elements in struct initializer
   NULL,
   ^~~~
../opusfile-0.11/src/wincerts.c:151:3: note: (near initialization for 'X509_LOOKUP_CAPI')
../opusfile-0.11/src/wincerts.c:152:3: warning: excess elements in struct initializer
   NULL,
   ^~~~
../opusfile-0.11/src/wincerts.c:152:3: note: (near initialization for 'X509_LOOKUP_CAPI')
../opusfile-0.11/src/wincerts.c:153:3: warning: excess elements in struct initializer
   NULL,
   ^~~~
../opusfile-0.11/src/wincerts.c:153:3: note: (near initialization for 'X509_LOOKUP_CAPI')
../opusfile-0.11/src/wincerts.c:154:3: warning: excess elements in struct initializer
   op_capi_get_by_subject,
   ^~~~~~~~~~~~~~~~~~~~~~
../opusfile-0.11/src/wincerts.c:154:3: note: (near initialization for 'X509_LOOKUP_CAPI')
../opusfile-0.11/src/wincerts.c:155:3: warning: excess elements in struct initializer
   NULL,
   ^~~~
../opusfile-0.11/src/wincerts.c:155:3: note: (near initialization for 'X509_LOOKUP_CAPI')
../opusfile-0.11/src/wincerts.c:156:3: warning: excess elements in struct initializer
   NULL,
   ^~~~
../opusfile-0.11/src/wincerts.c:156:3: note: (near initialization for 'X509_LOOKUP_CAPI')
../opusfile-0.11/src/wincerts.c:157:3: warning: excess elements in struct initializer
   NULL
   ^~~~
../opusfile-0.11/src/wincerts.c:157:3: note: (near initialization for 'X509_LOOKUP_CAPI')
../opusfile-0.11/src/wincerts.c:147:27: error: storage size of 'X509_LOOKUP_CAPI' isn't known
 static X509_LOOKUP_METHOD X509_LOOKUP_CAPI={
                           ^~~~~~~~~~~~~~~~
make[1]: *** [Makefile:671: src/libopusurl_la-wincerts.lo] Error 1
make[1]: Leaving directory '/home/xy/M/mingw-w64-opusfile/src/build-i686-w64-mingw32'
make: *** [Makefile:463: all] Error 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions