I am building a js wrapper for cpp using swig. I tried it on fedora and it is working perfectly fine(fedora 30. gcc version 9.1.1).
But when I am building same code on arm64 operating system(gcc - 7.3). It gives me following error. Is it because different gcc version? or there is any other reason? Please help !
Giving small part of error as it is too big.
CXX(target) Release/obj.target/facerec/facerec_wrap.o
../facerec_wrap.cxx:966:27: error: 'WeakCallbackData' in namespace 'v8' does not name a template type
void (*dtor) (const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data);
^~~~~~~~~~~~~~~~
../facerec_wrap.cxx:966:43: error: expected ',' or '...' before '<' token
void (*dtor) (const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data);
^
../facerec_wrap.cxx:1014:53: error: 'WeakCallbackData' in namespace 'v8' does not name a template type
SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
^~~~~~~~~~~~~~~~
../facerec_wrap.cxx:1014:69: error: expected ',' or '...' before '<' token
SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
^
../facerec_wrap.cxx: In function 'void SWIGV8_Proxy_DefaultDtor(int)':
../facerec_wrap.cxx:1015:25: error: 'data' was not declared in this scope
SWIGV8_Proxy *proxy = data.GetParameter();
^~~~
../facerec_wrap.cxx: In function 'void SWIGV8_SetPrivateData(v8::Handle<v8::Object>, void*, swig_type_info*, int)':
../facerec_wrap.cxx:1086:78: error: no matching function for call to 'v8::Persistent<v8::Object>::SetWeak(SWIGV8_Proxy*&, void (*&)(int))'
cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor);
^
In file included from /home/shunya/.cache/node-gyp/8.4.0/include/node/node.h:63:0,
from ../facerec_wrap.cxx:171:
/home/shunya/.cache/node-gyp/8.4.0/include/node/v8.h:544:18: note: candidate: template<class P> void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = P; T = v8::Object]
V8_INLINE void SetWeak(P* parameter,
^~~~~~~
/home/shunya/.cache/node-gyp/8.4.0/include/node/v8.h:544:18: note: template argument deduction/substitution failed:
../facerec_wrap.cxx:1086:78: note: candidate expects 3 arguments, 2 provided
cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor);