Skip to content

Deprecated warning when building POCO with OpenSSL in submodule + cmake #2802

@jhonabreul

Description

@jhonabreul

I am trying to build POCO 1.9.4 using cmake and the version of OpenSSL in POCO/openssl (submodule) on Linux (Fedora 29) using gcc version 8.3.1 20190223 (Red Hat 8.3.1-2) (GCC) . These are some of the warnings I'm getting:

1:

/home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/src/OpenSSLInitializer.cpp: In static member function ‘static void Poco::Crypto::OpenSSLInitializer::initialize()’:
/home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/src/OpenSSLInitializer.cpp:89:22: warning: ‘void OPENSSL_config(const char*)’ is deprecated [-Wdeprecated-declarations]
OPENSSL_config(NULL);
^
In file included from /usr/include/openssl/opensslconf.h:42,
from /usr/include/openssl/e_os2.h:13,
from /usr/include/openssl/crypto.h:17,
from /home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/include/Poco/Crypto/OpenSSLInitializer.h:24,
from /home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/src/OpenSSLInitializer.cpp:15:
/usr/include/openssl/conf.h:91:1: note: declared here
DEPRECATEDIN_1_1_0(void OPENSSL_config(const char config_name))
^~~~~~~~~~~~~~~~~~
/home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/src/OpenSSLInitializer.cpp:89:22: warning: ‘void OPENSSL_config(const char
)’ is deprecated [-Wdeprecated-declarations]
OPENSSL_config(NULL);
^
In file included from /usr/include/openssl/opensslconf.h:42,
from /usr/include/openssl/e_os2.h:13,
from /usr/include/openssl/crypto.h:17,
from /home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/include/Poco/Crypto/OpenSSLInitializer.h:24,
from /home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/src/OpenSSLInitializer.cpp:15:
/usr/include/openssl/conf.h:91:1: note: declared here
DEPRECATEDIN_1_1_0(void OPENSSL_config(const char *config_name))
^~~~~~~~~~~~~~~~~~

2:

/home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/src/X509Certificate.cpp: In member function ‘void Poco::Crypto::X509Certificate::extractNames(std::__cxx11::string&, std::set<std::__cxx11::basic_string >&) const’:
/home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/src/X509Certificate.cpp:258:76: warning: ‘unsigned char* ASN1_STRING_data(ASN1_STRING*)’ is deprecated [-Wdeprecated-declarations]
const char* data = reinterpret_cast<char*>(ASN1_STRING_data(name->d.ia5));
^
In file included from /usr/include/openssl/opensslconf.h:42,
from /usr/include/openssl/e_os2.h:13,
from /usr/include/openssl/crypto.h:17,
from /home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/include/Poco/Crypto/OpenSSLInitializer.h:24,
from /home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/include/Poco/Crypto/X509Certificate.h:22,
from /home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/src/X509Certificate.cpp:15:
/usr/include/openssl/asn1.h:554:1: note: declared here
DEPRECATEDIN_1_1_0(unsigned char ASN1_STRING_data(ASN1_STRING x))
^~~~~~~~~~~~~~~~~~
/home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/src/X509Certificate.cpp:258:76: warning: ‘unsigned char
ASN1_STRING_data(ASN1_STRING
)’ is deprecated [-Wdeprecated-declarations]
const char* data = reinterpret_cast<char*>(ASN1_STRING_data(name->d.ia5));
^
In file included from /usr/include/openssl/opensslconf.h:42,
from /usr/include/openssl/e_os2.h:13,
from /usr/include/openssl/crypto.h:17,
from /home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/include/Poco/Crypto/OpenSSLInitializer.h:24,
from /home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/include/Poco/Crypto/X509Certificate.h:22,
from /home/jhonathan/work/repos/deep-backend-services/external/poco/Crypto/src/X509Certificate.cpp:15:
/usr/include/openssl/asn1.h:554:1: note: declared here
DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
^~~~~~~~~~~~~~~~~~

3: More warnings in the attached file
warnings.txt

I get similar warnings when building POCO with the OpenSSL installed using dnf (OpenSSL 1.1.1a 20 Nov 2018).

Is this a normal behavior or am I doing something wrong? Which version of OpenSSL is required by POCO?

Thank you so much in advance.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions