When I use Yarn to install dependencies I got this error:
OS: linux ubuntu 18.04
node -v: 12.13.1
npm -v OR yarn: npm: 6.12.1, yarn: 1.19.2
error /home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp: Command failed.
Exit code: 1
Command: (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
Arguments:
Directory: /home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp
Output:
info sharp Using cached /home/mohamedsgap/.npm/libvips/libvips-8.6.1-linux-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=12.13.1 runtime=node arch=x64 platform=linux)
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | linux | x64
gyp info find Python using Python version 2.7.15 found at "/usr/bin/python"
gyp WARN EACCES current user ("mohamedsgap") does not have permission to access the dev dir "/home/mohamedsgap/.cache/node-gyp/12.13.1"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/tmp/.node-gyp"
gyp info spawn /usr/bin/python
gyp info spawn args [
gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/tmp/.node-gyp/12.13.1/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/tmp/.node-gyp/12.13.1',
gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/tmp/.node-gyp/12.13.1/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp/build'
TOUCH Release/obj.target/libvips-cpp.stamp
CXX(target) Release/obj.target/sharp/src/common.o
In file included from ../../nan/nan_converters.h:67:0,
from ../../nan/nan.h:221,
from ../src/common.cc:24:
../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBasev8::Boolean::return_t Nan::imp::ToFactoryv8::Boolean::convert(v8::Localv8::Value)’:
../../nan/nan_converters_43_inl.h:18:51: warning: ‘v8::MaybeLocalv8::Boolean v8::Value::ToBoolean(v8::Localv8::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 /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:2568:59: note: declared here
V8_WARN_UNUSED_RESULT MaybeLocal ToBoolean(
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../../nan/nan_converters.h:67:0,
from ../../nan/nan.h:221,
from ../src/common.cc:24:
../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ValueFactoryBase::return_t Nan::imp::ToFactory::convert(v8::Localv8::Value)’:
../../nan/nan_converters_43_inl.h:37:57: warning: ‘v8::Maybe v8::Value::BooleanValue(v8::Localv8::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 /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:2606:51: note: declared here
V8_WARN_UNUSED_RESULT Maybe BooleanValue(
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:222,
from ../src/common.cc:24:
../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBasev8::Function::return_t Nan::imp::Factoryv8::Function::New(Nan::FunctionCallback, v8::Localv8::Value)’:
../../nan/nan_implementation_12_inl.h:105:32: error: no matching function for call to ‘v8::Function::New(v8::Isolate*&, void (&)(const v8::FunctionCallbackInfov8::Value&), v8::Localv8::Object&)’
, obj));
^
In file included from /tmp/.node-gyp/12.13.1/include/node/node.h:63:0,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:4170:31: note: candidate: static v8::MaybeLocalv8::Function v8::Function::New(v8::Localv8::Context, v8::FunctionCallback, v8::Localv8::Value, int, v8::ConstructorBehavior, v8::SideEffectType)
static MaybeLocal New(
^~~
/tmp/.node-gyp/12.13.1/include/node/v8.h:4170:31: note: no known conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Localv8::Context’
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Localv8::Value)’:
../../nan/nan.h:1064:78: warning: ‘v8::Localv8::String v8::Value::ToString(v8::Isolate*) const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::Localv8::String string = from->ToString(v8::Isolate::GetCurrent());
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:2588:31: note: declared here
Local ToString(Isolate* isolate) const);
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Localv8::Value&)’:
../../nan/nan.h:1855:64: warning: ‘bool v8::Object::Set(v8::Localv8::Value, v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:3403:22: note: declared here
bool Set(Local key, Local value));
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Localv8::String&, const v8::Localv8::Value&)’:
../../nan/nan.h:1861:42: warning: ‘bool v8::Object::Set(v8::Localv8::Value, v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Set(key, value);
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:3403:22: note: declared here
bool Set(Local key, Local value));
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Localv8::Value&)’:
../../nan/nan.h:1867:44: warning: ‘bool v8::Object::Set(uint32_t, v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Set(index, value);
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:3412:22: note: declared here
bool Set(uint32_t index, Local value));
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../../nan/nan.h:1873:61: warning: ‘v8::Localv8::Value v8::Object::Get(v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Get(New(key).ToLocalChecked()));
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:3457:51: note: declared here
V8_DEPRECATED("Use maybe version", Local Get(Local key));
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(const v8::Localv8::String&) const’:
../../nan/nan.h:1879:55: warning: ‘v8::Localv8::Value v8::Object::Get(v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return scope.Escape(New(persistentHandle)->Get(key));
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:3457:51: note: declared here
V8_DEPRECATED("Use maybe version", Local Get(Local key));
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/common.cc:24:0:
../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../../nan/nan.h:1884:57: warning: ‘v8::Localv8::Value v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return scope.Escape(New(persistentHandle)->Get(index));
^
In file included from /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:3461:51: note: declared here
V8_DEPRECATED("Use maybe version", Local Get(uint32_t index));
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from /usr/include/c++/7/cassert:44:0,
from /tmp/.node-gyp/12.13.1/include/node/node_object_wrap.h:26,
from ../../nan/nan.h:54,
from ../src/common.cc:24:
../../nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’:
../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistentv8::Object’ has no member named ‘IsNearDeath’
assert(persistent().IsNearDeath());
^
In file included from ../../nan/nan.h:2698:0,
from ../src/common.cc:24:
../../nan/nan_object_wrap.h: In member function ‘void Nan::ObjectWrap::MakeWeak()’:
../../nan/nan_object_wrap.h:67:34: warning: ‘void v8::PersistentBase::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 /tmp/.node-gyp/12.13.1/include/node/v8-internal.h:14:0,
from /tmp/.node-gyp/12.13.1/include/node/v8.h:25,
from /tmp/.node-gyp/12.13.1/include/node/node.h:63,
from ../src/common.cc:22:
/tmp/.node-gyp/12.13.1/include/node/v8.h:567:22: note: declared here
V8_INLINE void MarkIndependent());
^
/tmp/.node-gyp/12.13.1/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from /usr/include/c++/7/cassert:44:0,
from /tmp/.node-gyp/12.13.1/include/node/node_object_wrap.h:26,
from ../../nan/nan.h:54,
from ../src/common.cc:24:
../../nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfoNan::ObjectWrap&)’:
../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistentv8::Object’ has no member named ‘IsNearDeath’
assert(wrap->handle.IsNearDeath());
^
In file included from ../src/common.cc:27:0:
../src/common.h: At global scope:
../src/common.h:82:20: error: ‘Handle’ is not a member of ‘v8’
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
^~~~~~
../src/common.h:82:37: error: expected primary-expression before ‘>’ token
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
^
../src/common.h:82:39: error: ‘obj’ was not declared in this scope
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
^~~
../src/common.h:82:56: error: expected primary-expression before ‘attr’
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
^~~~
../src/common.h:82:60: error: expression list treated as compound expression in initializer [-fpermissive]
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
^
../src/common.h:83:29: error: ‘Handle’ is not a member of ‘v8’
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
^~~~~~
../src/common.h:83:46: error: expected primary-expression before ‘>’ token
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
^
../src/common.h:83:48: error: ‘obj’ was not declared in this scope
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
^~~
../src/common.h:83:65: error: expected primary-expression before ‘attr’
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
^~~~
../src/common.h:84:48: error: ‘Handle’ is not a member of ‘v8’
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.h:84:65: error: expected primary-expression before ‘>’ token
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.h:84:67: error: ‘obj’ was not declared in this scope
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^~~
../src/common.h:84:84: error: expected primary-expression before ‘attr’
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^~~~
../src/common.h:84:37: warning: variable templates only available with -std=c++14 or -std=gnu++14
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.h:84:90: error: expected ‘;’ before ‘{’ token
template v8::Local AttrAs(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.h:87:37: error: ‘Handle’ is not a member of ‘v8’
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.h:87:54: error: expected primary-expression before ‘>’ token
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.h:87:56: error: ‘obj’ was not declared in this scope
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^~~
../src/common.h:87:73: error: expected primary-expression before ‘attr’
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^~~~
../src/common.h:87:26: warning: variable templates only available with -std=c++14 or -std=gnu++14
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.h:87:79: error: expected ‘;’ before ‘{’ token
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.h:90:37: error: ‘Handle’ is not a member of ‘v8’
template T AttrTo(v8::Handlev8::Object obj, int attr) {
^~~~~~
../src/common.h:90:54: error: expected primary-expression before ‘>’ token
template T AttrTo(v8::Handlev8::Object obj, int attr) {
^
../src/common.h:90:56: error: ‘obj’ was not declared in this scope
template T AttrTo(v8::Handlev8::Object obj, int attr) {
^~~
../src/common.h:90:61: error: expected primary-expression before ‘int’
template T AttrTo(v8::Handlev8::Object obj, int attr) {
^~~
../src/common.h:87:26: warning: variable templates only available with -std=c++14 or -std=gnu++14
template T AttrTo(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.h:90:71: error: expected ‘;’ before ‘{’ token
template T AttrTo(v8::Handlev8::Object obj, int attr) {
^
../src/common.h:96:9: error: ‘Handle’ is not a member of ‘v8’
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^~~~~~
../src/common.h:96:26: error: expected primary-expression before ‘>’ token
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^
../src/common.h:96:28: error: ‘input’ was not declared in this scope
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^~~~~
../src/common.h:96:28: note: suggested alternative: ‘ino_t’
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^~~~~
ino_t
../src/common.h:96:70: error: expected primary-expression before ‘&’ token
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^
../src/common.h:96:71: error: ‘buffersToPersist’ was not declared in this scope
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^~~~~~~~~~~~~~~~
../src/common.h:96:87: error: expression list treated as compound expression in initializer [-fpermissive]
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist);
^
../src/common.cc:34:20: error: redefinition of ‘bool sharp::HasAttr’
bool HasAttr(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:82:8: note: ‘bool sharp::HasAttr’ previously defined here
bool HasAttr(v8::Handlev8::Object obj, std::string attr);
^~~~~~~
../src/common.cc:34:20: error: ‘Handle’ is not a member of ‘v8’
bool HasAttr(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.cc:34:37: error: expected primary-expression before ‘>’ token
bool HasAttr(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.cc:34:39: error: ‘obj’ was not declared in this scope
bool HasAttr(v8::Handlev8::Object obj, std::string attr) {
^~~
../src/common.cc:34:56: error: expected primary-expression before ‘attr’
bool HasAttr(v8::Handlev8::Object obj, std::string attr) {
^~~~
../src/common.cc:37:29: error: redefinition of ‘std::string sharp::AttrAsStr’
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:83:15: note: ‘std::string sharp::AttrAsStr’ previously declared here
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr);
^~~~~~~~~
../src/common.cc:37:29: error: ‘Handle’ is not a member of ‘v8’
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr) {
^~~~~~
../src/common.cc:37:46: error: expected primary-expression before ‘>’ token
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr) {
^
../src/common.cc:37:48: error: ‘obj’ was not declared in this scope
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr) {
^~~
../src/common.cc:37:65: error: expected primary-expression before ‘attr’
std::string AttrAsStr(v8::Handlev8::Object obj, std::string attr) {
^~~~
../src/common.cc:43:9: error: redefinition of ‘sharp::InputDescriptor* sharp::CreateInputDescriptor’
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^~~~~~
In file included from ../src/common.cc:27:0:
../src/common.h:95:20: note: ‘sharp::InputDescriptor* sharp::CreateInputDescriptor’ previously defined here
InputDescriptor* CreateInputDescriptor(
^~~~~~~~~~~~~~~~~~~~~
../src/common.cc:43:9: error: ‘Handle’ is not a member of ‘v8’
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^~~~~~
../src/common.cc:43:26: error: expected primary-expression before ‘>’ token
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^
../src/common.cc:43:28: error: ‘input’ was not declared in this scope
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^~~~~
../src/common.cc:43:28: note: suggested alternative: ‘ino_t’
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^~~~~
ino_t
../src/common.cc:43:70: error: expected primary-expression before ‘&’ token
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^
../src/common.cc:43:71: error: ‘buffersToPersist’ was not declared in this scope
v8::Handlev8::Object input, std::vector<v8::Localv8::Object> &buffersToPersist
^~~~~~~~~~~~~~~~
sharp.target.mk:134: recipe for target 'Release/obj.target/sharp/src/common.o' failed
make: *** [Release/obj.target/sharp/src/common.o] Error 1
make: Leaving directory '/home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp/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:210:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Linux 4.15.0-1065-oem
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/mohamedsgap/Development/open-source/ar.reactjs.org/node_modules/sharp
gyp ERR! node -v v12.13.1