Closed smanders closed 4 years ago
attempting to build the current version of activemq () against openssl 1.1.1c
[ 0%] Building CXX object src/main/CMakeFiles/activemqcpp.dir/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp.o
...
/home/smanders/src/externpro/_bldx/xpbase/Source/activemqcpp/src/main/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp: In member function ‘void decaf::internal::net::ssl::openssl::OpenSSLSocket::verifyServerCert(const string&)’:
/home/smanders/src/externpro/_bldx/xpbase/Source/activemqcpp/src/main/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp:667:50: error: invalid use of incomplete type ‘X509_EXTENSION {aka struct X509_extension_st}’
const unsigned char* data = extension->value->data;
^~
In file included from /home/smanders/src/externpro/_bldx/externpro_smanders-dirtyrepo-19.06.1-36-g6133a71-p-gcc740-64/include/openssl_1.1.1c/openssl/ssl.h:20:0,
from /home/smanders/src/externpro/_bldx/xpbase/Source/activemqcpp/src/main/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp:21:
/home/smanders/src/externpro/_bldx/externpro_smanders-dirtyrepo-19.06.1-36-g6133a71-p-gcc740-64/include/openssl_1.1.1c/openssl/x509.h:81:16: note: forward declaration of ‘X509_EXTENSION {aka struct X509_extension_st}’
typedef struct X509_extension_st X509_EXTENSION;
^~~~~~~~~~~~~~~~~
/home/smanders/src/externpro/_bldx/xpbase/Source/activemqcpp/src/main/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp:670:65: error: invalid use of incomplete type ‘X509_EXTENSION {aka struct X509_extension_st}’
ASN1_item_d2i(NULL, &data, extension->value->length, ASN1_ITEM_ptr(method->it)) :
^~
In file included from /home/smanders/src/externpro/_bldx/externpro_smanders-dirtyrepo-19.06.1-36-g6133a71-p-gcc740-64/include/openssl_1.1.1c/openssl/ssl.h:20:0,
from /home/smanders/src/externpro/_bldx/xpbase/Source/activemqcpp/src/main/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp:21:
/home/smanders/src/externpro/_bldx/externpro_smanders-dirtyrepo-19.06.1-36-g6133a71-p-gcc740-64/include/openssl_1.1.1c/openssl/x509.h:81:16: note: forward declaration of ‘X509_EXTENSION {aka struct X509_extension_st}’
typedef struct X509_extension_st X509_EXTENSION;
^~~~~~~~~~~~~~~~~
/home/smanders/src/externpro/_bldx/xpbase/Source/activemqcpp/src/main/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp:671:63: error: invalid use of incomplete type ‘X509_EXTENSION {aka struct X509_extension_st}’
method->d2i(NULL, &data, extension->value->length), NULL);
^~
In file included from /home/smanders/src/externpro/_bldx/externpro_smanders-dirtyrepo-19.06.1-36-g6133a71-p-gcc740-64/include/openssl_1.1.1c/openssl/ssl.h:20:0,
from /home/smanders/src/externpro/_bldx/xpbase/Source/activemqcpp/src/main/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp:21:
/home/smanders/src/externpro/_bldx/externpro_smanders-dirtyrepo-19.06.1-36-g6133a71-p-gcc740-64/include/openssl_1.1.1c/openssl/x509.h:81:16: note: forward declaration of ‘X509_EXTENSION {aka struct X509_extension_st}’
typedef struct X509_extension_st X509_EXTENSION;
^~~~~~~~~~~~~~~~~
/home/smanders/src/externpro/_bldx/xpbase/Source/activemqcpp/src/main/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp:697:100: warning: ‘unsigned char* ASN1_STRING_data(ASN1_STRING*)’ is deprecated [-Wdeprecated-declarations]
const char * entryText = (const char *) ASN1_STRING_data(X509_NAME_ENTRY_get_data(entry));
^
In file included from /home/smanders/src/externpro/_bldx/externpro_smanders-dirtyrepo-19.06.1-36-g6133a71-p-gcc740-64/include/openssl_1.1.1c/openssl/e_os2.h:13:0,
from /home/smanders/src/externpro/_bldx/externpro_smanders-dirtyrepo-19.06.1-36-g6133a71-p-gcc740-64/include/openssl_1.1.1c/openssl/ssl.h:15,
from /home/smanders/src/externpro/_bldx/xpbase/Source/activemqcpp/src/main/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp:21:
/home/smanders/src/externpro/_bldx/externpro_smanders-dirtyrepo-19.06.1-36-g6133a71-p-gcc740-64/include/openssl_1.1.1c/openssl/asn1.h:554:1: note: declared here
DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
^
src/main/CMakeFiles/activemqcpp.dir/build.make:4456: recipe for target 'src/main/CMakeFiles/activemqcpp.dir/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp.o' failed
make[5]: *** [src/main/CMakeFiles/activemqcpp.dir/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp.o] Error 1
CMakeFiles/Makefile2:90: recipe for target 'src/main/CMakeFiles/activemqcpp.dir/all' failed
make[4]: *** [src/main/CMakeFiles/activemqcpp.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles/activemqcpp_Release.dir/build.make:113: recipe for target 'xpbase/Stamp/activemqcpp_Release/activemqcpp_Release-build' failed
make[2]: *** [xpbase/Stamp/activemqcpp_Release/activemqcpp_Release-build] Error 2
CMakeFiles/Makefile2:365: recipe for target 'CMakeFiles/activemqcpp_Release.dir/all' failed
make[1]: *** [CMakeFiles/activemqcpp_Release.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2
until there is an activemqcpp update to support openssl 1.1, it should find the openssl it depends on in it's use script (so that even if other things are using openssl 1.1, activemqcpp will use openssl 1.0)
completed with commits to dev branch referenced above
to move to OpenSSL 1.1.1c (and away from 1.0.2a) activemq (which depends on OpenSSL) needs to be updated to a version that supports the new OpenSSL API
OpenSSL 1.1.1c (and 1.0.2a) are both available with https://github.com/smanders/externpro/issues/36