Hi,
please consider a more recent version of Thrift.
Seriously.
Have fun,
JensG
-----Ursprüngliche Nachricht-----
From: Kautuk Consul
Sent: Thursday, July 8, 2021 2:56 AM
To: user@thrift.apache.org
Subject: Re: Not able to compile thrift-0.9.2.
Hi All,
I am trying to compile thrift-0.9.2 but am getting the following
compilation
errors:
<snip>
make[4]: Entering directory '/home/sterlite/src/thrift/lib/cpp'
depbase=`echo src/thrift/transport/TSSLSocket.lo | sed
's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H
-I. -I../.. -I../../lib/cpp/src/thrift -I/usr/include -I./src -Wall
-Wextra -pedantic -g -O2 -MT
src/thrift/transport/TSSLSocket.lo -MD -MP -MF
$depbase.Tpo -c -o src/thrift/transport/TSSLSocket.lo
src/thrift/transport/TSSLSocket.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../..
-I../../lib/cpp/src/thrift -I/usr/include -I./src -Wall -Wextra -pedantic
-g -O2 -MT src/thrift/transport/TSSLSocket.lo -MD -MP -MF
src/thrift/transport/.deps/TSSLSocket.Tpo -c
src/thrift/transport/TSSLSocket.cpp -fPIC -DPIC -o
src/thrift/transport/.libs/TSSLSocket.o
src/thrift/transport/TSSLSocket.cpp: In function ‘void
apache::thrift::transport::initializeOpenSSL()’:
src/thrift/transport/TSSLSocket.cpp:99:39: error: expected
primary-expression before ‘(’ token
mutexes = boost::shared_array<Mutex>(new Mutex[::CRYPTO_num_locks()]);
^
In file included from /usr/include/openssl/bio.h:20:0,
from /usr/include/openssl/err.h:21,
from src/thrift/transport/TSSLSocket.cpp:33:
src/thrift/transport/TSSLSocket.cpp:99:52: error: expected id-expression
before ‘(’ token
mutexes = boost::shared_array<Mutex>(new Mutex[::CRYPTO_num_locks()]);
^
src/thrift/transport/TSSLSocket.cpp: In function ‘void
apache::thrift::transport::cleanupOpenSSL()’:
src/thrift/transport/TSSLSocket.cpp:130:21: warning: ‘void
ERR_remove_state(long unsigned int)’ is deprecated
[-Wdeprecated-declarations]
ERR_remove_state(0);
^
In file included from /usr/include/openssl/e_os2.h:13:0,
from /usr/include/openssl/err.h:13,
from src/thrift/transport/TSSLSocket.cpp:33:
/usr/include/openssl/err.h:260:1: note: declared here
DEPRECATEDIN_1_0_0(void ERR_remove_state(unsigned long pid))
^
src/thrift/transport/TSSLSocket.cpp: In constructor
‘apache::thrift::transport::SSLContext::SSLContext(const
apache::thrift::transport::SSLProtocol&)’:
src/thrift/transport/TSSLSocket.cpp:146:24: error: ‘SSLv3_method’ was not
declared in this scope
ctx_ = SSL_CTX_new(SSLv3_method());
^~~~~~~~~~~~
src/thrift/transport/TSSLSocket.cpp:146:24: note: suggested alternative:
‘SSLv23_method’
ctx_ = SSL_CTX_new(SSLv3_method());
^~~~~~~~~~~~
SSLv23_method
src/thrift/transport/TSSLSocket.cpp:150:37: warning: ‘const SSL_METHOD*
TLSv1_method()’ is deprecated [-Wdeprecated-declarations]
ctx_ = SSL_CTX_new(TLSv1_method());
^
In file included from /usr/include/openssl/e_os2.h:13:0,
from /usr/include/openssl/err.h:13,
from src/thrift/transport/TSSLSocket.cpp:33:
/usr/include/openssl/ssl.h:1852:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_method(void)) /*
TLSv1.0 */
^
src/thrift/transport/TSSLSocket.cpp:154:39: warning: ‘const SSL_METHOD*
TLSv1_1_method()’ is deprecated [-Wdeprecated-declarations]
ctx_ = SSL_CTX_new(TLSv1_1_method());
^
In file included from /usr/include/openssl/e_os2.h:13:0,
from /usr/include/openssl/err.h:13,
from src/thrift/transport/TSSLSocket.cpp:33:
/usr/include/openssl/ssl.h:1858:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_method(void)) /*
TLSv1.1 */
^
src/thrift/transport/TSSLSocket.cpp:158:39: warning: ‘const SSL_METHOD*
TLSv1_2_method()’ is deprecated [-Wdeprecated-declarations]
ctx_ = SSL_CTX_new(TLSv1_2_method());
^
In file included from /usr/include/openssl/e_os2.h:13:0,
from /usr/include/openssl/err.h:13,
from src/thrift/transport/TSSLSocket.cpp:33:
/usr/include/openssl/ssl.h:1864:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_method(void)) /*
TLSv1.2 */
^
src/thrift/transport/TSSLSocket.cpp: In member function ‘virtual void
apache::thrift::transport::TSSLSocket::close()’:
src/thrift/transport/TSSLSocket.cpp:269:23: warning: ‘void
ERR_remove_state(long unsigned int)’ is deprecated
[-Wdeprecated-declarations]
ERR_remove_state(0);
^
In file included from /usr/include/openssl/e_os2.h:13:0,
from /usr/include/openssl/err.h:13,
from src/thrift/transport/TSSLSocket.cpp:33:
/usr/include/openssl/err.h:260:1: note: declared here
DEPRECATEDIN_1_0_0(void ERR_remove_state(unsigned long pid))
^
src/thrift/transport/TSSLSocket.cpp: In member function ‘virtual void
apache::thrift::transport::TSSLSocket::authorize()’:
src/thrift/transport/TSSLSocket.cpp:407:55: warning: ‘unsigned char*
ASN1_STRING_data(ASN1_STRING*)’ is deprecated [-Wdeprecated-declarations]
char* data = (char*)ASN1_STRING_data(name->d.ia5);
^
In file included from /usr/include/openssl/e_os2.h:13:0,
from /usr/include/openssl/err.h:13,
from src/thrift/transport/TSSLSocket.cpp:33:
/usr/include/openssl/asn1.h:554:1: note: declared here
DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
^
src/thrift/transport/TSSLSocket.cpp: At global scope:
src/thrift/transport/TSSLSocket.cpp:87:13: warning: ‘void
apache::thrift::transport::dyn_destroy(CRYPTO_dynlock_value*, const char*,
int)’ defined but not used [-Wunused-function]
static void dyn_destroy(struct CRYPTO_dynlock_value* lock, const char*,
int) {
^~~~~~~~~~~
src/thrift/transport/TSSLSocket.cpp:75:13: warning: ‘void
apache::thrift::transport::dyn_lock(int, CRYPTO_dynlock_value*, const
char*, int)’ defined but not used [-Wunused-function]
static void dyn_lock(int mode,
^~~~~~~~
src/thrift/transport/TSSLSocket.cpp:71:30: warning: ‘CRYPTO_dynlock_value*
apache::thrift::transport::dyn_create(const char*, int)’ defined but not
used [-Wunused-function]
static CRYPTO_dynlock_value* dyn_create(const char*, int) {
^~~~~~~~~~
src/thrift/transport/TSSLSocket.cpp:57:13: warning: ‘void
apache::thrift::transport::callbackLocking(int, int, const char*, int)’
defined but not used [-Wunused-function]
static void callbackLocking(int mode, int n, const char*, int) {
^~~~~~~~~~~~~~~
Makefile:1181: recipe for target 'src/thrift/transport/TSSLSocket.lo'
failed
make[4]: *** [src/thrift/transport/TSSLSocket.lo] Error 1
make[4]: Leaving directory '/home/sterlite/src/thrift/lib/cpp'
Makefile:1454: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/home/sterlite/src/thrift/lib/cpp'
Makefile:505: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/sterlite/src/thrift/lib'
Makefile:542: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/sterlite/src/thrift'
Makefile:464: recipe for target 'all' failed
make: *** [all] Error 2
I have the latest g++ compiler on my system.
I tried downgrading g++ also but still the same issue is there.
Can anyone please help me on this ?
Thanks and Regards.