[ 
https://issues.apache.org/jira/browse/THRIFT-5276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17193956#comment-17193956
 ] 

imic edited comment on THRIFT-5276 at 9/11/20, 4:07 AM:
--------------------------------------------------------

[~ulidtko]
 I follow the official documents:
  
{code:java}
 sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev 
libssl-dev libtool make pkg-config

cd thrift-0.13.0

./bootstrap.sh

# ./configure --with-python --with-java (my java --version openjdk 11.0.4 
2019-07-16)
./configure 

{code}
 

!image-2020-09-11-10-27-43-378.png!

 
{code:java}
//代码占位符
 #error on this command line 
make 
{code}
#error on this command line make
{code:java}
opying src/server/TProcessPoolServer.py -> 
build/lib.linux-x86_64-2.7/thrift/server
running build_ext
building 'thrift.protocol.fastbinary' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
creating build/temp.linux-x86_64-2.7/src/ext
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes 
-fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g 
-fdebug-prefix-map=/build/python2.7-2.7.16.1=. -fstack-protector-strong 
-Wformat -Werror=format-security -fPIC -Isrc -I/usr/include/python2.7 -c 
src/ext/module.cpp -o build/temp.linux-x86_64-2.7/src/ext/module.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC 
but not for C++
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes 
-fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g 
-fdebug-prefix-map=/build/python2.7-2.7.16.1=. -fstack-protector-strong 
-Wformat -Werror=format-security -fPIC -Isrc -I/usr/include/python2.7 -c 
src/ext/types.cpp -o build/temp.linux-x86_64-2.7/src/ext/types.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC 
but not for C++
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes 
-fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g 
-fdebug-prefix-map=/build/python2.7-2.7.16.1=. -fstack-protector-strong 
-Wformat -Werror=format-security -fPIC -Isrc -I/usr/include/python2.7 -c 
src/ext/binary.cpp -o build/temp.linux-x86_64-2.7/src/ext/binary.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC 
but not for C++
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes 
-fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g 
-fdebug-prefix-map=/build/python2.7-2.7.16.1=. -fstack-protector-strong 
-Wformat -Werror=format-security -fPIC -Isrc -I/usr/include/python2.7 -c 
src/ext/compact.cpp -o build/temp.linux-x86_64-2.7/src/ext/compact.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC 
but not for C++
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions 
-Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall 
-Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g 
-fdebug-prefix-map=/build/python2.7-2.7.16.1=. -fstack-protector-strong 
-Wformat -Werror=format-security -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 
-g -fdebug-prefix-map=/build/python2.7-2.7.16.1=. -fstack-protector-strong 
-Wformat -Werror=format-security build/temp.linux-x86_64-2.7/src/ext/module.o 
build/temp.linux-x86_64-2.7/src/ext/types.o 
build/temp.linux-x86_64-2.7/src/ext/binary.o 
build/temp.linux-x86_64-2.7/src/ext/compact.o -o 
build/lib.linux-x86_64-2.7/thrift/protocol/fastbinary.so
make[3]: 离开目录“/home/imic/data/app/thrift-0.13.0/lib/py”
Making all in nodejs
make[3]: 进入目录“/home/imic/data/app/thrift-0.13.0/lib/nodejs”
/usr/bin/npm install ../../ || /usr/bin/npm install ../../
npm WARN deprecated istanbul@0.4.5: This module is no longer maintained, try 
this instead:
npm WARN deprecated   npm i nyc
npm WARN deprecated Visit https://istanbul.js.org/integrations for other 
alternatives.
npm WARN deprecated request@2.88.0: request has been deprecated, see 
https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported> 
utf-8-validate@4.0.2 install 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate                   
                                        
> prebuild-install || node-gyp rebuild                                          
>                                                                        
> prebuild-install WARN install No prebuilt binaries found (target=12.18.3 
> runtime=node arch=x64 platform=linux)
make[4]: 
进入目录“/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/build”
  CXX(target) Release/obj.target/validation/src/validation.o
In file included from ../../nan/nan_converters.h:67,
                 from ../../nan/nan.h:202,
                 from ../src/validation.cc:7:
../../nan/nan_converters_43_inl.h: In static member function ‘static 
Nan::imp::ToFactoryBase<v8::Boolean>::return_t 
Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:18:51: warning: ‘v8::MaybeLocal<v8::Boolean> 
v8::Value::ToBoolean(v8::Local<v8::Context>) const’ is deprecated: ToBoolean 
can never throw. Use Local version. [-Wdeprecated-declarations]
       val->To ## TYPE(isolate->GetCurrentContext())                            
\
                                                   ^
../../nan/nan_converters_43_inl.h:22:1: note: in expansion of macro ‘X’
 X(Boolean)
 ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2664:59: note: declared 
here
                 V8_WARN_UNUSED_RESULT MaybeLocal<Boolean> ToBoolean(
                                                           ^~~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../../nan/nan_converters.h:67,
                 from ../../nan/nan.h:202,
                 from ../src/validation.cc:7:
../../nan/nan_converters_43_inl.h: In static member function ‘static 
Nan::imp::ValueFactoryBase<bool>::return_t 
Nan::imp::ToFactory<bool>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:37:57: warning: ‘v8::Maybe<bool> 
v8::Value::BooleanValue(v8::Local<v8::Context>) const’ is deprecated: 
BooleanValue can never throw. Use Isolate version. [-Wdeprecated-declarations]
   return val->NAME ## Value(isolate->GetCurrentContext());                     
\
                                                         ^
../../nan/nan_converters_43_inl.h:40:1: note: in expansion of macro ‘X’
 X(bool, Boolean)
 ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2702:51: note: declared 
here
                 V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
                                                   ^~~~~~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:203,
                 from ../src/validation.cc:7:
../../nan/nan_implementation_12_inl.h: In static member function ‘static 
Nan::imp::FactoryBase<v8::Function>::return_t 
Nan::imp::Factory<v8::Function>::New(Nan::FunctionCallback, 
v8::Local<v8::Value>)’:
../../nan/nan_implementation_12_inl.h:105:32: error: no matching function for 
call to ‘v8::Function::New(v8::Isolate*&, void (&)(const 
v8::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Object>&)’
                           , obj));
                                ^
In file included from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:4275:31: note: candidate: 
‘static v8::MaybeLocal<v8::Function> v8::Function::New(v8::Local<v8::Context>, 
v8::FunctionCallback, v8::Local<v8::Value>, int, v8::ConstructorBehavior, 
v8::SideEffectType)’
   static MaybeLocal<Function> New(
                               ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:4275:31: note:   no known 
conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Local<v8::Context>’
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:203,
                 from ../src/validation.cc:7:
../../nan/nan_implementation_12_inl.h: In static member function ‘static 
Nan::imp::FactoryBase<v8::StringObject>::return_t 
Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)’:
../../nan/nan_implementation_12_inl.h:337:37: error: no matching function for 
call to ‘v8::StringObject::New(v8::Local<v8::String>&)’
   return v8::StringObject::New(value).As<v8::StringObject>();
                                     ^
In file included from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:5531:23: note: candidate: 
‘static v8::Local<v8::Value> v8::StringObject::New(v8::Isolate*, 
v8::Local<v8::String>)’
   static Local<Value> New(Isolate* isolate, Local<String> value);
                       ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:5531:23: note:   candidate 
expects 2 arguments, 1 provided
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:203,
                 from ../src/validation.cc:7:
../../nan/nan_implementation_12_inl.h:337:58: error: expected 
primary-expression before ‘>’ token
   return v8::StringObject::New(value).As<v8::StringObject>();
                                                          ^
../../nan/nan_implementation_12_inl.h:337:60: error: expected 
primary-expression before ‘)’ token
   return v8::StringObject::New(value).As<v8::StringObject>();
                                                            ^
In file included from ../src/validation.cc:7:
../../nan/nan.h: In constructor 
‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
../../nan/nan.h:1034:53: error: no matching function for call to 
‘v8::Value::ToString()’
       v8::Local<v8::String> string = from->ToString();
                                                     ^
In file included from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2668:44: note: candidate: 
‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                            ^~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2668:44: note:   candidate 
expects 1 argument, 0 provided
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2684:31: note: candidate: 
‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
                 Local<String> ToString(Isolate* isolate) const);
                               ^~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2684:31: note:   candidate 
expects 1 argument, 0 provided
                 Local<String> ToString(Isolate* isolate) const);
                               ^~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h:1044:74: error: no matching function for call to 
‘v8::String::WriteUtf8(char*&, int, int, const int&)’
         length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
                                                                          ^
In file included from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2878:7: note: candidate: 
‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’
   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
       ^~~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2878:7: note:   no known 
conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘void 
Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1818:64: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
                                                                ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3499:22: note: declared 
here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘void 
Nan::AsyncWorker::SaveToPersistent(const v8::Local<v8::String>&, const 
v8::Local<v8::Value>&)’:
../../nan/nan.h:1824:42: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     New(persistentHandle)->Set(key, value);
                                          ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3499:22: note: declared 
here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘void 
Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1830:44: warning: ‘bool v8::Object::Set(uint32_t, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     New(persistentHandle)->Set(index, value);
                                            ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3508:22: note: declared 
here
                 bool Set(uint32_t index, Local<Value> value));
                      ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> 
Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../../nan/nan.h:1836:61: warning: ‘v8::Local<v8::Value> 
v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
         New(persistentHandle)->Get(New(key).ToLocalChecked()));
                                                             ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3553:51: note: declared 
here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
                                                   ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> 
Nan::AsyncWorker::GetFromPersistent(const v8::Local<v8::String>&) const’:
../../nan/nan.h:1842:55: warning: ‘v8::Local<v8::Value> 
v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     return scope.Escape(New(persistentHandle)->Get(key));
                                                       ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3553:51: note: declared 
here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
                                                   ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> 
Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../../nan/nan.h:1847:57: warning: ‘v8::Local<v8::Value> 
v8::Object::Get(uint32_t)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     return scope.Escape(New(persistentHandle)->Get(index));
                                                         ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3557:51: note: declared 
here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
                                                   ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2167:62: warning: cast between incompatible function types from 
‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka 
‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /usr/include/c++/8/cassert:44,
                 from 
/home/imic/.cache/node-gyp/12.18.3/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:53,
                 from ../src/validation.cc:7:
../../nan/nan_object_wrap.h: In destructor ‘virtual 
Nan::ObjectWrap::~ObjectWrap()’:
../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent<v8::Object>’ 
has no member named ‘IsNearDeath’
     assert(persistent().IsNearDeath());
                         ^~~~~~~~~~~
In file included from ../../nan/nan.h:2657,
                 from ../src/validation.cc:7:
../../nan/nan_object_wrap.h: In member function ‘void 
Nan::ObjectWrap::MakeWeak()’:
../../nan/nan_object_wrap.h:67:34: warning: ‘void 
v8::PersistentBase<T>::MarkIndependent() [with T = v8::Object]’ is deprecated: 
Weak objects are always considered independent. Use TracedGlobal when trying to 
use EmbedderHeapTracer. Use a strong handle when trying to keep an object 
alive. [-Wdeprecated-declarations]
     persistent().MarkIndependent();
                                  ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:570:22: note: declared here
       V8_INLINE void MarkIndependent());
                      ^~~~~~~~~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from /usr/include/c++/8/cassert:44,
                 from 
/home/imic/.cache/node-gyp/12.18.3/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:53,
                 from ../src/validation.cc:7:
../../nan/nan_object_wrap.h: In static member function ‘static void 
Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’:
../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent<v8::Object>’ 
has no member named ‘IsNearDeath’
     assert(wrap->handle_.IsNearDeath());
                          ^~~~~~~~~~~
In file included from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
../src/validation.cc: At global scope:
/home/imic/.cache/node-gyp/12.18.3/include/node/node.h:608:43: warning: cast 
between incompatible function types from ‘void (*)(v8::Local<v8::Object>, 
v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void 
(*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
       (node::addon_register_func) (regfunc),                          \
                                           ^
/home/imic/.cache/node-gyp/12.18.3/include/node/node.h:642:3: note: in 
expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../src/validation.cc:71:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(validation, init)
 ^~~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In instantiation of ‘void Nan::imp::SetMethodAux(T, 
v8::Local<v8::String>, v8::Local<v8::FunctionTemplate>, ...) [with T = 
v8::Local<v8::Object>]’:
../../nan/nan.h:2353:20:   required from ‘void Nan::SetMethod(HandleType<T>, 
const char*, Nan::FunctionCallback) [with T = v8::Object; HandleType = 
v8::Local; Nan::FunctionCallback = void (*)(const 
Nan::FunctionCallbackInfo<v8::Value>&)]’
../src/validation.cc:68:48:   required from here
../../nan/nan.h:2337:3: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
   recv->Set(name, GetFunction(tpl).ToLocalChecked());
   ^~~~
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3499:22: note: declared 
here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
make[4]: *** 
[validation.target.mk:111:Release/obj.target/validation/src/validation.o] 错误 1
make[4]: 
离开目录“/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/build”
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit 
(/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit 
(internal/child_process.js:275:12)
gyp ERR! System Linux 5.4.50-amd64-desktop
gyp ERR! command "/usr/bin/node" 
"/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! utf-8-validate@4.0.2 install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the utf-8-validate@4.0.2 install script.
npm ERR! This is probably not a problem with npm. There is likely additional 
logging output above.npm ERR! A complete log of this run can be found in:
npm ERR!     /home/imic/.npm/_logs/2020-09-11T03_42_50_952Z-debug.log> 
utf-8-validate@4.0.2 install 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate
> prebuild-install || node-gyp rebuildprebuild-install WARN install No prebuilt 
> binaries found (target=12.18.3 runtime=node arch=x64 platform=linux)
make[4]: 
进入目录“/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/build”
  CXX(target) Release/obj.target/validation/src/validation.o
In file included from ../../nan/nan_converters.h:67,
                 from ../../nan/nan.h:202,
                 from ../src/validation.cc:7:
../../nan/nan_converters_43_inl.h: In static member function ‘static 
Nan::imp::ToFactoryBase<v8::Boolean>::return_t 
Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:18:51: warning: ‘v8::MaybeLocal<v8::Boolean> 
v8::Value::ToBoolean(v8::Local<v8::Context>) const’ is deprecated: ToBoolean 
can never throw. Use Local version. [-Wdeprecated-declarations]
       val->To ## TYPE(isolate->GetCurrentContext())                            
\
                                                   ^
../../nan/nan_converters_43_inl.h:22:1: note: in expansion of macro ‘X’
 X(Boolean)
 ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2664:59: note: declared 
here
                 V8_WARN_UNUSED_RESULT MaybeLocal<Boolean> ToBoolean(
                                                           ^~~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../../nan/nan_converters.h:67,
                 from ../../nan/nan.h:202,
                 from ../src/validation.cc:7:
../../nan/nan_converters_43_inl.h: In static member function ‘static 
Nan::imp::ValueFactoryBase<bool>::return_t 
Nan::imp::ToFactory<bool>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:37:57: warning: ‘v8::Maybe<bool> 
v8::Value::BooleanValue(v8::Local<v8::Context>) const’ is deprecated: 
BooleanValue can never throw. Use Isolate version. [-Wdeprecated-declarations]
   return val->NAME ## Value(isolate->GetCurrentContext());                     
\
                                                         ^
../../nan/nan_converters_43_inl.h:40:1: note: in expansion of macro ‘X’
 X(bool, Boolean)
 ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2702:51: note: declared 
here
                 V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
                                                   ^~~~~~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:203,
                 from ../src/validation.cc:7:
../../nan/nan_implementation_12_inl.h: In static member function ‘static 
Nan::imp::FactoryBase<v8::Function>::return_t 
Nan::imp::Factory<v8::Function>::New(Nan::FunctionCallback, 
v8::Local<v8::Value>)’:
../../nan/nan_implementation_12_inl.h:105:32: error: no matching function for 
call to ‘v8::Function::New(v8::Isolate*&, void (&)(const 
v8::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Object>&)’
                           , obj));
                                ^
In file included from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:4275:31: note: candidate: 
‘static v8::MaybeLocal<v8::Function> v8::Function::New(v8::Local<v8::Context>, 
v8::FunctionCallback, v8::Local<v8::Value>, int, v8::ConstructorBehavior, 
v8::SideEffectType)’
   static MaybeLocal<Function> New(
                               ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:4275:31: note:   no known 
conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Local<v8::Context>’
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:203,
                 from ../src/validation.cc:7:
../../nan/nan_implementation_12_inl.h: In static member function ‘static 
Nan::imp::FactoryBase<v8::StringObject>::return_t 
Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)’:
../../nan/nan_implementation_12_inl.h:337:37: error: no matching function for 
call to ‘v8::StringObject::New(v8::Local<v8::String>&)’
   return v8::StringObject::New(value).As<v8::StringObject>();
                                     ^
In file included from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:5531:23: note: candidate: 
‘static v8::Local<v8::Value> v8::StringObject::New(v8::Isolate*, 
v8::Local<v8::String>)’
   static Local<Value> New(Isolate* isolate, Local<String> value);
                       ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:5531:23: note:   candidate 
expects 2 arguments, 1 provided
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:203,
                 from ../src/validation.cc:7:
../../nan/nan_implementation_12_inl.h:337:58: error: expected 
primary-expression before ‘>’ token
   return v8::StringObject::New(value).As<v8::StringObject>();
                                                          ^
../../nan/nan_implementation_12_inl.h:337:60: error: expected 
primary-expression before ‘)’ token
   return v8::StringObject::New(value).As<v8::StringObject>();
                                                            ^
In file included from ../src/validation.cc:7:
../../nan/nan.h: In constructor 
‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
../../nan/nan.h:1034:53: error: no matching function for call to 
‘v8::Value::ToString()’
       v8::Local<v8::String> string = from->ToString();
                                                     ^
In file included from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2668:44: note: candidate: 
‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                            ^~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2668:44: note:   candidate 
expects 1 argument, 0 provided
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2684:31: note: candidate: 
‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
                 Local<String> ToString(Isolate* isolate) const);
                               ^~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2684:31: note:   candidate 
expects 1 argument, 0 provided
                 Local<String> ToString(Isolate* isolate) const);
                               ^~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h:1044:74: error: no matching function for call to 
‘v8::String::WriteUtf8(char*&, int, int, const int&)’
         length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
                                                                          ^
In file included from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2878:7: note: candidate: 
‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’
   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
       ^~~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:2878:7: note:   no known 
conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘void 
Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1818:64: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
                                                                ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3499:22: note: declared 
here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘void 
Nan::AsyncWorker::SaveToPersistent(const v8::Local<v8::String>&, const 
v8::Local<v8::Value>&)’:
../../nan/nan.h:1824:42: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     New(persistentHandle)->Set(key, value);
                                          ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3499:22: note: declared 
here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘void 
Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1830:44: warning: ‘bool v8::Object::Set(uint32_t, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     New(persistentHandle)->Set(index, value);
                                            ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3508:22: note: declared 
here
                 bool Set(uint32_t index, Local<Value> value));
                      ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> 
Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../../nan/nan.h:1836:61: warning: ‘v8::Local<v8::Value> 
v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
         New(persistentHandle)->Get(New(key).ToLocalChecked()));
                                                             ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3553:51: note: declared 
here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
                                                   ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> 
Nan::AsyncWorker::GetFromPersistent(const v8::Local<v8::String>&) const’:
../../nan/nan.h:1842:55: warning: ‘v8::Local<v8::Value> 
v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     return scope.Escape(New(persistentHandle)->Get(key));
                                                       ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3553:51: note: declared 
here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
                                                   ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> 
Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../../nan/nan.h:1847:57: warning: ‘v8::Local<v8::Value> 
v8::Object::Get(uint32_t)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     return scope.Escape(New(persistentHandle)->Get(index));
                                                         ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3557:51: note: declared 
here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
                                                   ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2167:62: warning: cast between incompatible function types from 
‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka 
‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /usr/include/c++/8/cassert:44,
                 from 
/home/imic/.cache/node-gyp/12.18.3/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:53,
                 from ../src/validation.cc:7:
../../nan/nan_object_wrap.h: In destructor ‘virtual 
Nan::ObjectWrap::~ObjectWrap()’:
../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent<v8::Object>’ 
has no member named ‘IsNearDeath’
     assert(persistent().IsNearDeath());
                         ^~~~~~~~~~~
In file included from ../../nan/nan.h:2657,
                 from ../src/validation.cc:7:
../../nan/nan_object_wrap.h: In member function ‘void 
Nan::ObjectWrap::MakeWeak()’:
../../nan/nan_object_wrap.h:67:34: warning: ‘void 
v8::PersistentBase<T>::MarkIndependent() [with T = v8::Object]’ is deprecated: 
Weak objects are always considered independent. Use TracedGlobal when trying to 
use EmbedderHeapTracer. Use a strong handle when trying to keep an object 
alive. [-Wdeprecated-declarations]
     persistent().MarkIndependent();
                                  ^
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:570:22: note: declared here
       V8_INLINE void MarkIndependent());
                      ^~~~~~~~~~~~~~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from /usr/include/c++/8/cassert:44,
                 from 
/home/imic/.cache/node-gyp/12.18.3/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:53,
                 from ../src/validation.cc:7:
../../nan/nan_object_wrap.h: In static member function ‘static void 
Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’:
../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent<v8::Object>’ 
has no member named ‘IsNearDeath’
     assert(wrap->handle_.IsNearDeath());
                          ^~~~~~~~~~~
In file included from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
../src/validation.cc: At global scope:
/home/imic/.cache/node-gyp/12.18.3/include/node/node.h:608:43: warning: cast 
between incompatible function types from ‘void (*)(v8::Local<v8::Object>, 
v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void 
(*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
       (node::addon_register_func) (regfunc),                          \
                                           ^
/home/imic/.cache/node-gyp/12.18.3/include/node/node.h:642:3: note: in 
expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../src/validation.cc:71:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(validation, init)
 ^~~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In instantiation of ‘void Nan::imp::SetMethodAux(T, 
v8::Local<v8::String>, v8::Local<v8::FunctionTemplate>, ...) [with T = 
v8::Local<v8::Object>]’:
../../nan/nan.h:2353:20:   required from ‘void Nan::SetMethod(HandleType<T>, 
const char*, Nan::FunctionCallback) [with T = v8::Object; HandleType = 
v8::Local; Nan::FunctionCallback = void (*)(const 
Nan::FunctionCallbackInfo<v8::Value>&)]’
../src/validation.cc:68:48:   required from here
../../nan/nan.h:2337:3: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
   recv->Set(name, GetFunction(tpl).ToLocalChecked());
   ^~~~
In file included from 
/home/imic/.cache/node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:27,
                 from /home/imic/.cache/node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/.cache/node-gyp/12.18.3/include/node/v8.h:3499:22: note: declared 
here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/home/imic/.cache/node-gyp/12.18.3/include/node/v8config.h:328:3: note: in 
definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
make[4]: *** 
[validation.target.mk:111:Release/obj.target/validation/src/validation.o] 错误 1
make[4]: 
离开目录“/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/build”
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit 
(/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit 
(internal/child_process.js:275:12)
gyp ERR! System Linux 5.4.50-amd64-desktop
gyp ERR! command "/usr/bin/node" 
"/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! utf-8-validate@4.0.2 install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the utf-8-validate@4.0.2 install script.
npm ERR! This is probably not a problem with npm. There is likely additional 
logging output above.npm ERR! A complete log of this run can be found in:
npm ERR!     /home/imic/.npm/_logs/2020-09-11T03_43_12_018Z-debug.log
make[3]: *** [Makefile:641:deps] 错误 1
make[3]: 离开目录“/home/imic/data/app/thrift-0.13.0/lib/nodejs”
make[2]: *** [Makefile:585:all-recursive] 错误 1
make[2]: 离开目录“/home/imic/data/app/thrift-0.13.0/lib”
make[1]: *** [Makefile:687:all-recursive] 错误 1
make[1]: 离开目录“/home/imic/data/app/thrift-0.13.0”
make: *** [Makefile:601:all] 错误 2
imic@imic-PC:~/data/app/thrift-0.13.0$ 
{code}


was (Author: cj):
[~ulidtko]
 I follow the official documents:
  
{code:java}
 sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev 
libssl-dev libtool make pkg-config

cd thrift-0.13.0

./bootstrap.sh

# ./configure --with-python --with-java (my java --version openjdk 11.0.4 
2019-07-16)
./configure 

{code}
 

!image-2020-09-11-10-27-43-378.png!

 
{code:java}
//代码占位符
 #error on this command line 
make 
{code}
#error on this command line make
{code:java}
//代码占位符
running build
running build_py
running build_ext
make[3]: 离开目录“/home/imic/data/app/thrift-0.13.0/lib/py”
Making all in nodejs
make[3]: 进入目录“/home/imic/data/app/thrift-0.13.0/lib/nodejs”
/usr/bin/npm install ../../ || /usr/bin/npm install ../../
npm WARN deprecated request@2.88.0: request has been deprecated, see 
https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated istanbul@0.4.5: This module is no longer maintained, try 
this instead:
npm WARN deprecated   npm i nyc
npm WARN deprecated Visit https://istanbul.js.org/integrations for other 
alternatives.> utf-8-validate@4.0.2 install 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate
> prebuild-install || node-gyp rebuildprebuild-install WARN install EACCES: 
> permission denied, access '/root/.npm'
gyp WARN EACCES current user ("imic") does not have permission to access the 
dev dir "/root/.cache/node-gyp/12.18.3"
gyp WARN EACCES attempting to reinstall using temporary dev dir 
"/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp"
make[4]: 
进入目录“/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/build”
  CXX(target) Release/obj.target/validation/src/validation.o
In file included from ../../nan/nan_converters.h:67,
                 from ../../nan/nan.h:202,
                 from ../src/validation.cc:7:
../../nan/nan_converters_43_inl.h: In static member function ‘static 
Nan::imp::ToFactoryBase<v8::Boolean>::return_t 
Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:18:51: warning: ‘v8::MaybeLocal<v8::Boolean> 
v8::Value::ToBoolean(v8::Local<v8::Context>) const’ is deprecated: ToBoolean 
can never throw. Use Local version. [-Wdeprecated-declarations]
       val->To ## TYPE(isolate->GetCurrentContext())                            
\
                                                   ^
../../nan/nan_converters_43_inl.h:22:1: note: in expansion of macro ‘X’
 X(Boolean)
 ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2664:59:
 note: declared here
                 V8_WARN_UNUSED_RESULT MaybeLocal<Boolean> ToBoolean(
                                                           ^~~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../../nan/nan_converters.h:67,
                 from ../../nan/nan.h:202,
                 from ../src/validation.cc:7:
../../nan/nan_converters_43_inl.h: In static member function ‘static 
Nan::imp::ValueFactoryBase<bool>::return_t 
Nan::imp::ToFactory<bool>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:37:57: warning: ‘v8::Maybe<bool> 
v8::Value::BooleanValue(v8::Local<v8::Context>) const’ is deprecated: 
BooleanValue can never throw. Use Isolate version. [-Wdeprecated-declarations]
   return val->NAME ## Value(isolate->GetCurrentContext());                     
\
                                                         ^
../../nan/nan_converters_43_inl.h:40:1: note: in expansion of macro ‘X’
 X(bool, Boolean)
 ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2702:51:
 note: declared here
                 V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
                                                   ^~~~~~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:203,
                 from ../src/validation.cc:7:
../../nan/nan_implementation_12_inl.h: In static member function ‘static 
Nan::imp::FactoryBase<v8::Function>::return_t 
Nan::imp::Factory<v8::Function>::New(Nan::FunctionCallback, 
v8::Local<v8::Value>)’:
../../nan/nan_implementation_12_inl.h:105:32: error: no matching function for 
call to ‘v8::Function::New(v8::Isolate*&, void (&)(const 
v8::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Object>&)’
                           , obj));
                                ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:4275:31:
 note: candidate: ‘static v8::MaybeLocal<v8::Function> 
v8::Function::New(v8::Local<v8::Context>, v8::FunctionCallback, 
v8::Local<v8::Value>, int, v8::ConstructorBehavior, v8::SideEffectType)’
   static MaybeLocal<Function> New(
                               ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:4275:31:
 note:   no known conversion for argument 1 from ‘v8::Isolate*’ to 
‘v8::Local<v8::Context>’
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:203,
                 from ../src/validation.cc:7:
../../nan/nan_implementation_12_inl.h: In static member function ‘static 
Nan::imp::FactoryBase<v8::StringObject>::return_t 
Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)’:
../../nan/nan_implementation_12_inl.h:337:37: error: no matching function for 
call to ‘v8::StringObject::New(v8::Local<v8::String>&)’
   return v8::StringObject::New(value).As<v8::StringObject>();
                                     ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:5531:23:
 note: candidate: ‘static v8::Local<v8::Value> 
v8::StringObject::New(v8::Isolate*, v8::Local<v8::String>)’
   static Local<Value> New(Isolate* isolate, Local<String> value);
                       ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:5531:23:
 note:   candidate expects 2 arguments, 1 provided
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:203,
                 from ../src/validation.cc:7:
../../nan/nan_implementation_12_inl.h:337:58: error: expected 
primary-expression before ‘>’ token
   return v8::StringObject::New(value).As<v8::StringObject>();
                                                          ^
../../nan/nan_implementation_12_inl.h:337:60: error: expected 
primary-expression before ‘)’ token
   return v8::StringObject::New(value).As<v8::StringObject>();
                                                            ^
In file included from ../src/validation.cc:7:
../../nan/nan.h: In constructor 
‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
../../nan/nan.h:1034:53: error: no matching function for call to 
‘v8::Value::ToString()’
       v8::Local<v8::String> string = from->ToString();
                                                     ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2668:44:
 note: candidate: ‘v8::MaybeLocal<v8::String> 
v8::Value::ToString(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                            ^~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2668:44:
 note:   candidate expects 1 argument, 0 provided
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2684:31:
 note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) 
const’
                 Local<String> ToString(Isolate* isolate) const);
                               ^~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2684:31:
 note:   candidate expects 1 argument, 0 provided
                 Local<String> ToString(Isolate* isolate) const);
                               ^~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h:1044:74: error: no matching function for call to 
‘v8::String::WriteUtf8(char*&, int, int, const int&)’
         length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
                                                                          ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2878:7:
 note: candidate: ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, 
int) const’
   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
       ^~~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2878:7:
 note:   no known conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘void 
Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1818:64: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
                                                                ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3499:22:
 note: declared here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘void 
Nan::AsyncWorker::SaveToPersistent(const v8::Local<v8::String>&, const 
v8::Local<v8::Value>&)’:
../../nan/nan.h:1824:42: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     New(persistentHandle)->Set(key, value);
                                          ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3499:22:
 note: declared here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘void 
Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1830:44: warning: ‘bool v8::Object::Set(uint32_t, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     New(persistentHandle)->Set(index, value);
                                            ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3508:22:
 note: declared here
                 bool Set(uint32_t index, Local<Value> value));
                      ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> 
Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../../nan/nan.h:1836:61: warning: ‘v8::Local<v8::Value> 
v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
         New(persistentHandle)->Get(New(key).ToLocalChecked()));
                                                             ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3553:51:
 note: declared here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
                                                   ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> 
Nan::AsyncWorker::GetFromPersistent(const v8::Local<v8::String>&) const’:
../../nan/nan.h:1842:55: warning: ‘v8::Local<v8::Value> 
v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     return scope.Escape(New(persistentHandle)->Get(key));
                                                       ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3553:51:
 note: declared here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
                                                   ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> 
Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../../nan/nan.h:1847:57: warning: ‘v8::Local<v8::Value> 
v8::Object::Get(uint32_t)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     return scope.Escape(New(persistentHandle)->Get(index));
                                                         ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3557:51:
 note: declared here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
                                                   ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2167:62: warning: cast between incompatible function types from 
‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka 
‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /usr/include/c++/8/cassert:44,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:53,
                 from ../src/validation.cc:7:
../../nan/nan_object_wrap.h: In destructor ‘virtual 
Nan::ObjectWrap::~ObjectWrap()’:
../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent<v8::Object>’ 
has no member named ‘IsNearDeath’
     assert(persistent().IsNearDeath());
                         ^~~~~~~~~~~
In file included from ../../nan/nan.h:2657,
                 from ../src/validation.cc:7:
../../nan/nan_object_wrap.h: In member function ‘void 
Nan::ObjectWrap::MakeWeak()’:
../../nan/nan_object_wrap.h:67:34: warning: ‘void 
v8::PersistentBase<T>::MarkIndependent() [with T = v8::Object]’ is deprecated: 
Weak objects are always considered independent. Use TracedGlobal when trying to 
use EmbedderHeapTracer. Use a strong handle when trying to keep an object 
alive. [-Wdeprecated-declarations]
     persistent().MarkIndependent();
                                  ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:570:22:
 note: declared here
       V8_INLINE void MarkIndependent());
                      ^~~~~~~~~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from /usr/include/c++/8/cassert:44,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:53,
                 from ../src/validation.cc:7:
../../nan/nan_object_wrap.h: In static member function ‘static void 
Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’:
../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent<v8::Object>’ 
has no member named ‘IsNearDeath’
     assert(wrap->handle_.IsNearDeath());
                          ^~~~~~~~~~~
In file included from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
../src/validation.cc: At global scope:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:608:43:
 warning: cast between incompatible function types from ‘void 
(*)(v8::Local<v8::Object>, v8::Local<v8::Object>)’ to 
‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, 
v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
       (node::addon_register_func) (regfunc),                          \
                                           ^
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:642:3:
 note: in expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../src/validation.cc:71:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(validation, init)
 ^~~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In instantiation of ‘void Nan::imp::SetMethodAux(T, 
v8::Local<v8::String>, v8::Local<v8::FunctionTemplate>, ...) [with T = 
v8::Local<v8::Object>]’:
../../nan/nan.h:2353:20:   required from ‘void Nan::SetMethod(HandleType<T>, 
const char*, Nan::FunctionCallback) [with T = v8::Object; HandleType = 
v8::Local; Nan::FunctionCallback = void (*)(const 
Nan::FunctionCallbackInfo<v8::Value>&)]’
../src/validation.cc:68:48:   required from here
../../nan/nan.h:2337:3: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
   recv->Set(name, GetFunction(tpl).ToLocalChecked());
   ^~~~
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3499:22:
 note: declared here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
make[4]: *** 
[validation.target.mk:111:Release/obj.target/validation/src/validation.o] 错误 1
make[4]: 
离开目录“/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/build”
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit 
(/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit 
(internal/child_process.js:275:12)
gyp ERR! System Linux 5.4.50-amd64-desktop
gyp ERR! command "/usr/bin/node" 
"/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! utf-8-validate@4.0.2 install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the utf-8-validate@4.0.2 install script.
npm ERR! This is probably not a problem with npm. There is likely additional 
logging output above.npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-09-11T02_51_30_447Z-debug.log> 
utf-8-validate@4.0.2 install 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate
> prebuild-install || node-gyp rebuildprebuild-install WARN install EACCES: 
> permission denied, access '/root/.npm'
gyp WARN EACCES current user ("imic") does not have permission to access the 
dev dir "/root/.cache/node-gyp/12.18.3"
gyp WARN EACCES attempting to reinstall using temporary dev dir 
"/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp"
make[4]: 
进入目录“/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/build”
  CXX(target) Release/obj.target/validation/src/validation.o
In file included from ../../nan/nan_converters.h:67,
                 from ../../nan/nan.h:202,
                 from ../src/validation.cc:7:
../../nan/nan_converters_43_inl.h: In static member function ‘static 
Nan::imp::ToFactoryBase<v8::Boolean>::return_t 
Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:18:51: warning: ‘v8::MaybeLocal<v8::Boolean> 
v8::Value::ToBoolean(v8::Local<v8::Context>) const’ is deprecated: ToBoolean 
can never throw. Use Local version. [-Wdeprecated-declarations]
       val->To ## TYPE(isolate->GetCurrentContext())                            
\
                                                   ^
../../nan/nan_converters_43_inl.h:22:1: note: in expansion of macro ‘X’
 X(Boolean)
 ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2664:59:
 note: declared here
                 V8_WARN_UNUSED_RESULT MaybeLocal<Boolean> ToBoolean(
                                                           ^~~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../../nan/nan_converters.h:67,
                 from ../../nan/nan.h:202,
                 from ../src/validation.cc:7:
../../nan/nan_converters_43_inl.h: In static member function ‘static 
Nan::imp::ValueFactoryBase<bool>::return_t 
Nan::imp::ToFactory<bool>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:37:57: warning: ‘v8::Maybe<bool> 
v8::Value::BooleanValue(v8::Local<v8::Context>) const’ is deprecated: 
BooleanValue can never throw. Use Isolate version. [-Wdeprecated-declarations]
   return val->NAME ## Value(isolate->GetCurrentContext());                     
\
                                                         ^
../../nan/nan_converters_43_inl.h:40:1: note: in expansion of macro ‘X’
 X(bool, Boolean)
 ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2702:51:
 note: declared here
                 V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
                                                   ^~~~~~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:203,
                 from ../src/validation.cc:7:
../../nan/nan_implementation_12_inl.h: In static member function ‘static 
Nan::imp::FactoryBase<v8::Function>::return_t 
Nan::imp::Factory<v8::Function>::New(Nan::FunctionCallback, 
v8::Local<v8::Value>)’:
../../nan/nan_implementation_12_inl.h:105:32: error: no matching function for 
call to ‘v8::Function::New(v8::Isolate*&, void (&)(const 
v8::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Object>&)’
                           , obj));
                                ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:4275:31:
 note: candidate: ‘static v8::MaybeLocal<v8::Function> 
v8::Function::New(v8::Local<v8::Context>, v8::FunctionCallback, 
v8::Local<v8::Value>, int, v8::ConstructorBehavior, v8::SideEffectType)’
   static MaybeLocal<Function> New(
                               ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:4275:31:
 note:   no known conversion for argument 1 from ‘v8::Isolate*’ to 
‘v8::Local<v8::Context>’
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:203,
                 from ../src/validation.cc:7:
../../nan/nan_implementation_12_inl.h: In static member function ‘static 
Nan::imp::FactoryBase<v8::StringObject>::return_t 
Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)’:
../../nan/nan_implementation_12_inl.h:337:37: error: no matching function for 
call to ‘v8::StringObject::New(v8::Local<v8::String>&)’
   return v8::StringObject::New(value).As<v8::StringObject>();
                                     ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:5531:23:
 note: candidate: ‘static v8::Local<v8::Value> 
v8::StringObject::New(v8::Isolate*, v8::Local<v8::String>)’
   static Local<Value> New(Isolate* isolate, Local<String> value);
                       ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:5531:23:
 note:   candidate expects 2 arguments, 1 provided
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:203,
                 from ../src/validation.cc:7:
../../nan/nan_implementation_12_inl.h:337:58: error: expected 
primary-expression before ‘>’ token
   return v8::StringObject::New(value).As<v8::StringObject>();
                                                          ^
../../nan/nan_implementation_12_inl.h:337:60: error: expected 
primary-expression before ‘)’ token
   return v8::StringObject::New(value).As<v8::StringObject>();
                                                            ^
In file included from ../src/validation.cc:7:
../../nan/nan.h: In constructor 
‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
../../nan/nan.h:1034:53: error: no matching function for call to 
‘v8::Value::ToString()’
       v8::Local<v8::String> string = from->ToString();
                                                     ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2668:44:
 note: candidate: ‘v8::MaybeLocal<v8::String> 
v8::Value::ToString(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                            ^~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2668:44:
 note:   candidate expects 1 argument, 0 provided
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2684:31:
 note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) 
const’
                 Local<String> ToString(Isolate* isolate) const);
                               ^~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2684:31:
 note:   candidate expects 1 argument, 0 provided
                 Local<String> ToString(Isolate* isolate) const);
                               ^~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h:1044:74: error: no matching function for call to 
‘v8::String::WriteUtf8(char*&, int, int, const int&)’
         length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
                                                                          ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2878:7:
 note: candidate: ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, 
int) const’
   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
       ^~~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:2878:7:
 note:   no known conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘void 
Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1818:64: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
                                                                ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3499:22:
 note: declared here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘void 
Nan::AsyncWorker::SaveToPersistent(const v8::Local<v8::String>&, const 
v8::Local<v8::Value>&)’:
../../nan/nan.h:1824:42: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     New(persistentHandle)->Set(key, value);
                                          ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3499:22:
 note: declared here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘void 
Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1830:44: warning: ‘bool v8::Object::Set(uint32_t, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     New(persistentHandle)->Set(index, value);
                                            ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3508:22:
 note: declared here
                 bool Set(uint32_t index, Local<Value> value));
                      ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> 
Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../../nan/nan.h:1836:61: warning: ‘v8::Local<v8::Value> 
v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
         New(persistentHandle)->Get(New(key).ToLocalChecked()));
                                                             ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3553:51:
 note: declared here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
                                                   ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> 
Nan::AsyncWorker::GetFromPersistent(const v8::Local<v8::String>&) const’:
../../nan/nan.h:1842:55: warning: ‘v8::Local<v8::Value> 
v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     return scope.Escape(New(persistentHandle)->Get(key));
                                                       ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3553:51:
 note: declared here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
                                                   ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> 
Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../../nan/nan.h:1847:57: warning: ‘v8::Local<v8::Value> 
v8::Object::Get(uint32_t)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
     return scope.Escape(New(persistentHandle)->Get(index));
                                                         ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3557:51:
 note: declared here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
                                                   ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2167:62: warning: cast between incompatible function types from 
‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka 
‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /usr/include/c++/8/cassert:44,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:53,
                 from ../src/validation.cc:7:
../../nan/nan_object_wrap.h: In destructor ‘virtual 
Nan::ObjectWrap::~ObjectWrap()’:
../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent<v8::Object>’ 
has no member named ‘IsNearDeath’
     assert(persistent().IsNearDeath());
                         ^~~~~~~~~~~
In file included from ../../nan/nan.h:2657,
                 from ../src/validation.cc:7:
../../nan/nan_object_wrap.h: In member function ‘void 
Nan::ObjectWrap::MakeWeak()’:
../../nan/nan_object_wrap.h:67:34: warning: ‘void 
v8::PersistentBase<T>::MarkIndependent() [with T = v8::Object]’ is deprecated: 
Weak objects are always considered independent. Use TracedGlobal when trying to 
use EmbedderHeapTracer. Use a strong handle when trying to keep an object 
alive. [-Wdeprecated-declarations]
     persistent().MarkIndependent();
                                  ^
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:570:22:
 note: declared here
       V8_INLINE void MarkIndependent());
                      ^~~~~~~~~~~~~~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from /usr/include/c++/8/cassert:44,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:53,
                 from ../src/validation.cc:7:
../../nan/nan_object_wrap.h: In static member function ‘static void 
Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’:
../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent<v8::Object>’ 
has no member named ‘IsNearDeath’
     assert(wrap->handle_.IsNearDeath());
                          ^~~~~~~~~~~
In file included from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
../src/validation.cc: At global scope:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:608:43:
 warning: cast between incompatible function types from ‘void 
(*)(v8::Local<v8::Object>, v8::Local<v8::Object>)’ to 
‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, 
v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
       (node::addon_register_func) (regfunc),                          \
                                           ^
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:642:3:
 note: in expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../src/validation.cc:71:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(validation, init)
 ^~~~~~~~~~~
In file included from ../src/validation.cc:7:
../../nan/nan.h: In instantiation of ‘void Nan::imp::SetMethodAux(T, 
v8::Local<v8::String>, v8::Local<v8::FunctionTemplate>, ...) [with T = 
v8::Local<v8::Object>]’:
../../nan/nan.h:2353:20:   required from ‘void Nan::SetMethod(HandleType<T>, 
const char*, Nan::FunctionCallback) [with T = v8::Object; HandleType = 
v8::Local; Nan::FunctionCallback = void (*)(const 
Nan::FunctionCallbackInfo<v8::Value>&)]’
../src/validation.cc:68:48:   required from here
../../nan/nan.h:2337:3: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, 
v8::Local<v8::Value>)’ is deprecated: Use maybe version 
[-Wdeprecated-declarations]
   recv->Set(name, GetFunction(tpl).ToLocalChecked());
   ^~~~
In file included from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8-internal.h:14,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:27,
                 from 
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/node.h:67,
                 from ../../nan/nan.h:51,
                 from ../src/validation.cc:7:
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8.h:3499:22:
 note: declared here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
 note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
make[4]: *** 
[validation.target.mk:111:Release/obj.target/validation/src/validation.o] 错误 1
make[4]: 
离开目录“/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/build”
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit 
(/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit 
(internal/child_process.js:275:12)
gyp ERR! System Linux 5.4.50-amd64-desktop
gyp ERR! command "/usr/bin/node" 
"/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! utf-8-validate@4.0.2 install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the utf-8-validate@4.0.2 install script.
npm ERR! This is probably not a problem with npm. There is likely additional 
logging output above.npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-09-11T02_51_43_493Z-debug.log
make[3]: *** [Makefile:641:deps] 错误 1
make[3]: 离开目录“/home/imic/data/app/thrift-0.13.0/lib/nodejs”
make[2]: *** [Makefile:585:all-recursive] 错误 1
make[2]: 离开目录“/home/imic/data/app/thrift-0.13.0/lib”
make[1]: *** [Makefile:686:all-recursive] 错误 1
make[1]: 离开目录“/home/imic/data/app/thrift-0.13.0”
make: *** [Makefile:600:all] 错误 2
imic@imic-PC:~/data/app/thr
{code}

> Compile failed on linux
> -----------------------
>
>                 Key: THRIFT-5276
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5276
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Compiler
>    Affects Versions: 0.13.0
>         Environment: linux deepin20(debian10.5)
>            Reporter: imic
>            Priority: Major
>         Attachments: image-2020-09-11-10-27-43-378.png
>
>
>  
> compile failed on debian10.5
>  
> {code:java}
> //代码占位符
> /home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/.node-gyp/12.18.3/include/node/v8config.h:328:3:
>  note: in definition of macro ‘V8_DEPRECATED’
>    declarator __attribute__((deprecated(message)))
>    ^~~~~~~~~~
> make[4]: *** 
> [validation.target.mk:111:Release/obj.target/validation/src/validation.o] 错误 1
> make[4]: 
> 离开目录“/home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate/build”
> gyp ERR! build error 
> gyp ERR! stack Error: `make` failed with exit code: 2
> gyp ERR! stack     at ChildProcess.onExit 
> (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
> gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
> gyp ERR! stack     at Process.ChildProcess._handle.onexit 
> (internal/child_process.js:275:12)
> gyp ERR! System Linux 5.4.50-amd64-desktop
> gyp ERR! command "/usr/bin/node" 
> "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
> gyp ERR! cwd /home/imic/data/app/thrift-0.13.0/node_modules/utf-8-validate
> gyp ERR! node -v v12.18.3
> gyp ERR! node-gyp -v v5.1.0
> gyp ERR! not ok 
> npm ERR! code ELIFECYCLE
> npm ERR! errno 1
> npm ERR! utf-8-validate@4.0.2 install: `prebuild-install || node-gyp rebuild`
> npm ERR! Exit status 1
> npm ERR! 
> npm ERR! Failed at the utf-8-validate@4.0.2 install script.
> npm ERR! This is probably not a problem with npm. There is likely additional 
> logging output above.npm ERR! A complete log of this run can be found in:
> npm ERR!     /root/.npm/_logs/2020-09-10T10_53_30_810Z-debug.log
> make[3]: *** [Makefile:641:deps] 错误 1
> make[3]: 离开目录“/home/imic/data/app/thrift-0.13.0/lib/nodejs”
> make[2]: *** [Makefile:585:all-recursive] 错误 1
> make[2]: 离开目录“/home/imic/data/app/thrift-0.13.0/lib”
> make[1]: *** [Makefile:687:all-recursive] 错误 1
> make[1]: 离开目录“/home/imic/data/app/thrift-0.13.0”
> make: *** [Makefile:601:all] 错误 2
> {code}
>  
>  
> err log 
>  
> {code:java}
> //代码占位符
> 1418 silly saveTree └─┬ ws@5.2.2
> 1418 silly saveTree   └── async-limiter@1.0.1
> 1419 verbose stack Error: utf-8-validate@4.0.2 install: `prebuild-install || 
> node-gyp rebuild`
> 1419 verbose stack Exit status 1
> 1419 verbose stack     at EventEmitter.<anonymous> 
> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
> 1419 verbose stack     at EventEmitter.emit (events.js:315:20)
> 1419 verbose stack     at ChildProcess.<anonymous> 
> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
> 1419 verbose stack     at ChildProcess.emit (events.js:315:20)
> 1419 verbose stack     at maybeClose (internal/child_process.js:1021:16)
> 1419 verbose stack     at Process.ChildProcess._handle.onexit 
> (internal/child_process.js:286:5)
> 1420 verbose pkgid utf-8-validate@4.0.2
> 1421 verbose cwd /home/imic/data/app/thrift-0.13.0/lib/nodejs
> 1422 verbose Linux 5.4.50-amd64-desktop
> 1423 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "../../"
> 1424 verbose node v12.18.3
> 1425 verbose npm  v6.14.6
> 1426 error code ELIFECYCLE
> 1427 error errno 1
> 1428 error utf-8-validate@4.0.2 install: `prebuild-install || node-gyp 
> rebuild`
> 1428 error Exit status 1
> 1429 error Failed at the utf-8-validate@4.0.2 install script.
> 1429 error This is probably not a problem with npm. There is likely 
> additional logging output above.
> 1430 verbose exit [ 1, true ]
> {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to