embark icon indicating copy to clipboard operation
embark copied to clipboard

embark will not install and throws a ton of errors

Open mikezentz opened this issue 5 years ago • 13 comments

mike@pop-os:~$ sudo npm -g install embark npm WARN deprecated [email protected]: 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 [email protected]: ipfs-api has been renamed to ipfs-http-client, please update your package.json to get the latest version. npm WARN deprecated [email protected]: ⚠️ WARNING ⚠️ tar.gz module has been deprecated and your application is vulnerable. Please use tar module instead: https://npmjs.com/tar npm WARN deprecated [email protected]: Use mz or fs-extra^3.0 with Promise Support

[email protected] preinstall /usr/local/lib/node_modules/embark/node_modules/scrypt node node-scrypt-preinstall.js

Error: Error: Command failed: ./configure ./configure: line 1900: config.log: Permission denied ./configure: line 1910: config.log: Permission denied

[email protected] preinstall /usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/scrypt node node-scrypt-preinstall.js

Error: Error: Command failed: ./configure ./configure: line 1900: config.log: Permission denied ./configure: line 1910: config.log: Permission denied

[email protected] preinstall /usr/local/lib/node_modules/embark/node_modules/extract-opts/node_modules/typechecker node ./cyclic.js

[email protected] preinstall /usr/local/lib/node_modules/embark/node_modules/extendr/node_modules/typechecker node ./cyclic.js

/usr/local/bin/embark -> /usr/local/lib/node_modules/embark/bin/embark

[email protected] install /usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/keccak npm run rebuild || echo "Keccak bindings compilation fail. Pure JS implementation will be used."

[email protected] rebuild /usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/keccak node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/home/mike/.node-gyp/10.15.2" gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/keccak/.node-gyp" gyp WARN install got an error, rolling back install gyp WARN install got an error, rolling back install gyp ERR! configure error gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/keccak/.node-gyp' gyp ERR! System Linux 5.0.0-15-generic gyp ERR! command "/usr/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/keccak gyp ERR! node -v v10.15.2 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] rebuild: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] rebuild script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. Keccak bindings compilation fail. Pure JS implementation will be used.

[email protected] install /usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/scrypt node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/home/mike/.node-gyp/10.15.2" gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/scrypt/.node-gyp" gyp WARN install got an error, rolling back install gyp WARN install got an error, rolling back install gyp ERR! configure error gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/scrypt/.node-gyp' gyp ERR! System Linux 5.0.0-15-generic gyp ERR! command "/usr/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/scrypt gyp ERR! node -v v10.15.2 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok

[email protected] install /usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/secp256k1 npm run rebuild || echo "Secp256k1 bindings compilation fail. Pure JS implementation will be used."

[email protected] rebuild /usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/secp256k1 node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/home/mike/.node-gyp/10.15.2" gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/secp256k1/.node-gyp" gyp WARN install got an error, rolling back install gyp WARN install got an error, rolling back install gyp ERR! configure error gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/secp256k1/.node-gyp' gyp ERR! System Linux 5.0.0-15-generic gyp ERR! command "/usr/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/secp256k1 gyp ERR! node -v v10.15.2 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] rebuild: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] rebuild script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. Secp256k1 bindings compilation fail. Pure JS implementation will be used.

[email protected] install /usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/sha3 node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/home/mike/.node-gyp/10.15.2" gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/sha3/.node-gyp" gyp WARN install got an error, rolling back install gyp WARN install got an error, rolling back install gyp ERR! configure error gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/sha3/.node-gyp' gyp ERR! System Linux 5.0.0-15-generic gyp ERR! command "/usr/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /usr/local/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/sha3 gyp ERR! node -v v10.15.2 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm WARN [email protected] requires a peer of yo-yoify@latest but none is installed. You must install peer dependencies yourself. npm WARN [email protected] requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself. npm WARN [email protected] requires a peer of acorn@^6.0.0 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/embark/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/scrypt): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: node-gyp rebuild npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] install: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] 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/mike/.npm/_logs/2019-05-30T03_11_39_089Z-debug.log mike@pop-os:~$ embark embark: command not found mike@pop-os:~$

mikezentz avatar May 30 '19 03:05 mikezentz

Hi @mikezentz , I see you tried to install Embark with sudo, but it is never recommended to install npm packages using sudo, because, like in your case, it causes permission issues.

Let's start by seeing if you have the right dependencies.

The most annoying dependency to install is scrypt, which needs node-gyp. Make sure you have the prerequisites listed here for it: https://embark.status.im/docs/troubleshooting.html#node-gyp-problems

Also, we highly recommend installign Node using NVM (https://github.com/nvm-sh/nvm) It is a simple Node installer that let's you switch Node version and also makes sure you no longer have permission issues.

Hopefully, this let's you install Embark correctly.

jrainville avatar May 30 '19 12:05 jrainville

I did a fresh default install of Ubuntu 19. Installed nvm, installed npm, installed node-gyp. And here is the output when installing embark.

COPY Release/scrypt_lib.a CXX(target) Release/obj.target/scrypt/src/node-boilerplate/scrypt_common.o In file included from ../../nan/nan_converters.h:67, from ../../nan/nan.h:202, from ../src/node-boilerplate/scrypt_common.cc:28: ../../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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2524:63: note: declared here V8_WARN_UNUSED_RESULT MaybeLocal<Boolean> ToBoolean( ^~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../../nan/nan_converters.h:67, from ../../nan/nan.h:202, from ../src/node-boilerplate/scrypt_common.cc:28: ../../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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2562:51: note: declared here V8_WARN_UNUSED_RESULT Maybe BooleanValue( ^~~~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:307: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/node-boilerplate/scrypt_common.cc:28: ../../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 /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:4125: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<Function> New( ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:4125:31: note: no known conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Localv8::Context’ In file included from ../../nan/nan_new.h:189, from ../../nan/nan.h:203, from ../src/node-boilerplate/scrypt_common.cc:28: ../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBasev8::StringObject::return_t Nan::imp::Factoryv8::StringObject::New(v8::Localv8::String)’: ../../nan/nan_implementation_12_inl.h:337:37: error: no matching function for call to ‘v8::StringObject::New(v8::Localv8::String&)’ return v8::StringObject::New(value).Asv8::StringObject(); ^ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:5380:23: note: candidate: ‘static v8::Localv8::Value v8::StringObject::New(v8::Isolate*, v8::Localv8::String)’ static Local<Value> New(Isolate* isolate, Local<String> value); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:5380:23: note: candidate expects 2 arguments, 1 provided In file included from ../../nan/nan_new.h:189, from ../../nan/nan.h:203, from ../src/node-boilerplate/scrypt_common.cc:28: ../../nan/nan_implementation_12_inl.h:337:58: error: expected primary-expression before ‘>’ token return v8::StringObject::New(value).Asv8::StringObject(); ^ ../../nan/nan_implementation_12_inl.h:337:60: error: expected primary-expression before ‘)’ token return v8::StringObject::New(value).Asv8::StringObject(); ^ In file included from ../src/node-boilerplate/scrypt_common.cc:28: ../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Localv8::Value)’: ../../nan/nan.h:1034:53: error: no matching function for call to ‘v8::Value::ToString()’ v8::Localv8::String string = from->ToString(); ^ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2528:44: note: candidate: ‘v8::MaybeLocalv8::String v8::Value::ToString(v8::Localv8::Context) const’ V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString( ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:2528:44: note: candidate expects 1 argument, 0 provided In file included from /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2544:35: note: candidate: ‘v8::Localv8::String v8::Value::ToString(v8::Isolate*) const’ Local<String> ToString(Isolate* isolate) const); ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:2544:35: note: candidate expects 1 argument, 0 provided Local<String> ToString(Isolate* isolate) const); ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/node-boilerplate/scrypt_common.cc:28: ../../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(len), 0, flags); ^ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2738:7: note: candidate: ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’ int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:2738:7: note: no known conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’ In file included from ../src/node-boilerplate/scrypt_common.cc:28: ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Localv8::Value&)’: ../../nan/nan.h:1818: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3359:26: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/node-boilerplate/scrypt_common.cc:28: ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Localv8::String&, const v8::Localv8::Value&)’: ../../nan/nan.h:1824: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3359:26: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/node-boilerplate/scrypt_common.cc:28: ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Localv8::Value&)’: ../../nan/nan.h:1830: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3368:26: note: declared here bool Set(uint32_t index, Local<Value> value)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/node-boilerplate/scrypt_common.cc:28: ../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(const char*) const’: ../../nan/nan.h:1836: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3412:55: note: declared here V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(Local<Value> key)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/node-boilerplate/scrypt_common.cc:28: ../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(const v8::Localv8::String&) const’: ../../nan/nan.h:1842: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3412:55: note: declared here V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(Local<Value> key)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/node-boilerplate/scrypt_common.cc:28: ../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(uint32_t) const’: ../../nan/nan.h:1847: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3416:55: note: declared here V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(uint32_t index)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/node-boilerplate/scrypt_common.cc:28: ../../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/mike/.node-gyp/12.3.1/include/node/node_object_wrap.h:26, from ../../nan/nan.h:53, from ../src/node-boilerplate/scrypt_common.cc:28: ../../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:2657, from ../src/node-boilerplate/scrypt_common.cc:28: ../../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/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h:567:22: note: declared here V8_INLINE void MarkIndependent()); ^~~~~~~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:307:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from /usr/include/c++/8/cassert:44, from /home/mike/.node-gyp/12.3.1/include/node/node_object_wrap.h:26, from ../../nan/nan.h:53, from ../src/node-boilerplate/scrypt_common.cc:28: ../../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 /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../../nan/nan.h:51, from ../src/node-boilerplate/scrypt_common.cc:28: /home/mike/.node-gyp/12.3.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfonode::ObjectWrap&)]’: /home/mike/.node-gyp/12.3.1/include/node/node_object_wrap.h:84:78: required from here /home/mike/.node-gyp/12.3.1/include/node/v8.h:9817:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfonode::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfonode::ObjectWrap&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)]’: ../../nan/nan_object_wrap.h:66:61: required from here /home/mike/.node-gyp/12.3.1/include/node/v8.h:9817:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfoNan::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] make: *** [scrypt.target.mk:127: Release/obj.target/scrypt/src/node-boilerplate/scrypt_common.o] Error 1 make: Leaving directory '/home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/scrypt/build' gyp ERR! build error gyp ERR! stack Error: make failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23) gyp ERR! stack at ChildProcess.emit (events.js:200:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) gyp ERR! System Linux 5.0.0-15-generic gyp ERR! command "/home/mike/.nvm/versions/node/v12.3.1/bin/node" "/home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/scrypt gyp ERR! node -v v12.3.1 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok

[email protected] install /home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/secp256k1 npm run rebuild || echo "Secp256k1 bindings compilation fail. Pure JS implementation will be used."

[email protected] rebuild /home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/secp256k1 node-gyp rebuild

make: Entering directory '/home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/secp256k1/build' CXX(target) Release/obj.target/secp256k1/src/addon.o In file included from ../../nan/nan_converters.h:67, from ../../nan/nan.h:202, from ../src/addon.cc:2: ../../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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2524:63: note: declared here V8_WARN_UNUSED_RESULT MaybeLocal<Boolean> ToBoolean( ^~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../../nan/nan_converters.h:67, from ../../nan/nan.h:202, from ../src/addon.cc:2: ../../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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2562:51: note: declared here V8_WARN_UNUSED_RESULT Maybe BooleanValue( ^~~~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:307: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/addon.cc:2: ../../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 /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:4125: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<Function> New( ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:4125:31: note: no known conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Localv8::Context’ In file included from ../../nan/nan_new.h:189, from ../../nan/nan.h:203, from ../src/addon.cc:2: ../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBasev8::StringObject::return_t Nan::imp::Factoryv8::StringObject::New(v8::Localv8::String)’: ../../nan/nan_implementation_12_inl.h:337:37: error: no matching function for call to ‘v8::StringObject::New(v8::Localv8::String&)’ return v8::StringObject::New(value).Asv8::StringObject(); ^ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:5380:23: note: candidate: ‘static v8::Localv8::Value v8::StringObject::New(v8::Isolate*, v8::Localv8::String)’ static Local<Value> New(Isolate* isolate, Local<String> value); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:5380:23: note: candidate expects 2 arguments, 1 provided In file included from ../../nan/nan_new.h:189, from ../../nan/nan.h:203, from ../src/addon.cc:2: ../../nan/nan_implementation_12_inl.h:337:58: error: expected primary-expression before ‘>’ token return v8::StringObject::New(value).Asv8::StringObject(); ^ ../../nan/nan_implementation_12_inl.h:337:60: error: expected primary-expression before ‘)’ token return v8::StringObject::New(value).Asv8::StringObject(); ^ In file included from ../src/addon.cc:2: ../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Localv8::Value)’: ../../nan/nan.h:1034:53: error: no matching function for call to ‘v8::Value::ToString()’ v8::Localv8::String string = from->ToString(); ^ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2528:44: note: candidate: ‘v8::MaybeLocalv8::String v8::Value::ToString(v8::Localv8::Context) const’ V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString( ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:2528:44: note: candidate expects 1 argument, 0 provided In file included from /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2544:35: note: candidate: ‘v8::Localv8::String v8::Value::ToString(v8::Isolate*) const’ Local<String> ToString(Isolate* isolate) const); ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:2544:35: note: candidate expects 1 argument, 0 provided Local<String> ToString(Isolate* isolate) const); ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cc:2: ../../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(len), 0, flags); ^ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2738:7: note: candidate: ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’ int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:2738:7: note: no known conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’ In file included from ../src/addon.cc:2: ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Localv8::Value&)’: ../../nan/nan.h:1818: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3359:26: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cc:2: ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Localv8::String&, const v8::Localv8::Value&)’: ../../nan/nan.h:1824: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3359:26: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cc:2: ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Localv8::Value&)’: ../../nan/nan.h:1830: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3368:26: note: declared here bool Set(uint32_t index, Local<Value> value)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cc:2: ../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(const char*) const’: ../../nan/nan.h:1836: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3412:55: note: declared here V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(Local<Value> key)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cc:2: ../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(const v8::Localv8::String&) const’: ../../nan/nan.h:1842: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3412:55: note: declared here V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(Local<Value> key)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cc:2: ../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(uint32_t) const’: ../../nan/nan.h:1847: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3416:55: note: declared here V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(uint32_t index)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cc:2: ../../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/mike/.node-gyp/12.3.1/include/node/node_object_wrap.h:26, from ../../nan/nan.h:53, from ../src/addon.cc:2: ../../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:2657, from ../src/addon.cc:2: ../../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/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:567:22: note: declared here V8_INLINE void MarkIndependent()); ^~~~~~~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:307:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from /usr/include/c++/8/cassert:44, from /home/mike/.node-gyp/12.3.1/include/node/node_object_wrap.h:26, from ../../nan/nan.h:53, from ../src/addon.cc:2: ../../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/addon.cc:1: ../src/addon.cc: At global scope: /home/mike/.node-gyp/12.3.1/include/node/node.h:556:43: warning: cast between incompatible function types from ‘void ()(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void ()(v8::Localv8::Object)’} to ‘node::addon_register_func’ {aka ‘void ()(v8::Localv8::Object, v8::Localv8::Value, void)’} [-Wcast-function-type] (node::addon_register_func) (regfunc),
^ /home/mike/.node-gyp/12.3.1/include/node/node.h:590:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/addon.cc:50:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(secp256k1, Init) ^~~~~~~~~~~ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cc:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfonode::ObjectWrap&)]’: /home/mike/.node-gyp/12.3.1/include/node/node_object_wrap.h:84:78: required from here /home/mike/.node-gyp/12.3.1/include/node/v8.h:9817:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfonode::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfonode::ObjectWrap&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)]’: ../../nan/nan_object_wrap.h:66:61: required from here /home/mike/.node-gyp/12.3.1/include/node/v8.h:9817:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfoNan::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] make: *** [secp256k1.target.mk:155: Release/obj.target/secp256k1/src/addon.o] Error 1 make: Leaving directory '/home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/secp256k1/build' gyp ERR! build error gyp ERR! stack Error: make failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23) gyp ERR! stack at ChildProcess.emit (events.js:200:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) gyp ERR! System Linux 5.0.0-15-generic gyp ERR! command "/home/mike/.nvm/versions/node/v12.3.1/bin/node" "/home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/secp256k1 gyp ERR! node -v v12.3.1 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] rebuild: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] rebuild 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/mike/.npm/_logs/2019-05-30T23_00_05_655Z-debug.log Secp256k1 bindings compilation fail. Pure JS implementation will be used.

[email protected] install /home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/sha3 node-gyp rebuild

make: Entering directory '/home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/sha3/build' CXX(target) Release/obj.target/sha3/src/addon.o In file included from ../../nan/nan_converters.h:67, from ../../nan/nan.h:202, from ../src/addon.cpp:4: ../../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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2524:63: note: declared here V8_WARN_UNUSED_RESULT MaybeLocal<Boolean> ToBoolean( ^~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../../nan/nan_converters.h:67, from ../../nan/nan.h:202, from ../src/addon.cpp:4: ../../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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2562:51: note: declared here V8_WARN_UNUSED_RESULT Maybe BooleanValue( ^~~~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:307: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/addon.cpp:4: ../../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 /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:4125: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<Function> New( ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:4125:31: note: no known conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Localv8::Context’ In file included from ../../nan/nan_new.h:189, from ../../nan/nan.h:203, from ../src/addon.cpp:4: ../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBasev8::StringObject::return_t Nan::imp::Factoryv8::StringObject::New(v8::Localv8::String)’: ../../nan/nan_implementation_12_inl.h:337:37: error: no matching function for call to ‘v8::StringObject::New(v8::Localv8::String&)’ return v8::StringObject::New(value).Asv8::StringObject(); ^ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:5380:23: note: candidate: ‘static v8::Localv8::Value v8::StringObject::New(v8::Isolate*, v8::Localv8::String)’ static Local<Value> New(Isolate* isolate, Local<String> value); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:5380:23: note: candidate expects 2 arguments, 1 provided In file included from ../../nan/nan_new.h:189, from ../../nan/nan.h:203, from ../src/addon.cpp:4: ../../nan/nan_implementation_12_inl.h:337:58: error: expected primary-expression before ‘>’ token return v8::StringObject::New(value).Asv8::StringObject(); ^ ../../nan/nan_implementation_12_inl.h:337:60: error: expected primary-expression before ‘)’ token return v8::StringObject::New(value).Asv8::StringObject(); ^ In file included from ../src/addon.cpp:4: ../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Localv8::Value)’: ../../nan/nan.h:1034:53: error: no matching function for call to ‘v8::Value::ToString()’ v8::Localv8::String string = from->ToString(); ^ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2528:44: note: candidate: ‘v8::MaybeLocalv8::String v8::Value::ToString(v8::Localv8::Context) const’ V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString( ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:2528:44: note: candidate expects 1 argument, 0 provided In file included from /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2544:35: note: candidate: ‘v8::Localv8::String v8::Value::ToString(v8::Isolate*) const’ Local<String> ToString(Isolate* isolate) const); ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:2544:35: note: candidate expects 1 argument, 0 provided Local<String> ToString(Isolate* isolate) const); ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cpp:4: ../../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(len), 0, flags); ^ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2738:7: note: candidate: ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’ int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:2738:7: note: no known conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’ In file included from ../src/addon.cpp:4: ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Localv8::Value&)’: ../../nan/nan.h:1818: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3359:26: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cpp:4: ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Localv8::String&, const v8::Localv8::Value&)’: ../../nan/nan.h:1824: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3359:26: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cpp:4: ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Localv8::Value&)’: ../../nan/nan.h:1830: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3368:26: note: declared here bool Set(uint32_t index, Local<Value> value)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cpp:4: ../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(const char*) const’: ../../nan/nan.h:1836: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3412:55: note: declared here V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(Local<Value> key)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cpp:4: ../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(const v8::Localv8::String&) const’: ../../nan/nan.h:1842: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3412:55: note: declared here V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(Local<Value> key)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cpp:4: ../../nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(uint32_t) const’: ../../nan/nan.h:1847: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 /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:3416:55: note: declared here V8_DEPRECATE_SOON("Use maybe version", Local<Value> Get(uint32_t index)); ^~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cpp:4: ../../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/mike/.node-gyp/12.3.1/include/node/node_object_wrap.h:26, from ../../nan/nan.h:53, from ../src/addon.cpp:4: ../../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:2657, from ../src/addon.cpp:4: ../../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/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:567:22: note: declared here V8_INLINE void MarkIndependent()); ^~~~~~~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:307:3: note: in definition of macro ‘V8_DEPRECATED’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from /usr/include/c++/8/cassert:44, from /home/mike/.node-gyp/12.3.1/include/node/node_object_wrap.h:26, from ../../nan/nan.h:53, from ../src/addon.cpp:4: ../../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()); ^~~~~~~~~~~ ../src/addon.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE SHA3Hash::New(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/addon.cpp:36:64: error: no matching function for call to ‘v8::Value::Int32Value()’ hashlen = info[0]->IsUndefined() ? 512 : info[0]->Int32Value(); ^ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2569:40: note: candidate: ‘v8::Maybe v8::Value::Int32Value(v8::Localv8::Context) const’ V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const; ^~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:2569:40: note: candidate expects 1 argument, 0 provided ../src/addon.cpp:49:23: warning: ‘new’ of type ‘SHA3Hash’ with extended alignment 32 [-Waligned-new=] obj = new SHA3Hash(); ^ ../src/addon.cpp:49:23: note: uses ‘void* operator new(std::size_t)’, which does not have an alignment parameter ../src/addon.cpp:49:23: note: use ‘-faligned-new’ to enable C++17 over-aligned new support ../src/addon.cpp: In static member function ‘static void SHA3Hash::Init(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’: ../src/addon.cpp:76:36: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’ constructor.Reset(t->GetFunction()); ^ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:5947:46: note: candidate: ‘v8::MaybeLocalv8::Function v8::FunctionTemplate::GetFunction(v8::Localv8::Context)’ V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction( ^~~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:5947:46: note: candidate expects 1 argument, 0 provided ../src/addon.cpp:77:77: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’ target->Set(Nan::New<String>("SHA3Hash").ToLocalChecked(), t->GetFunction()); ^ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:5947:46: note: candidate: ‘v8::MaybeLocalv8::Function v8::FunctionTemplate::GetFunction(v8::Localv8::Context)’ V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction( ^~~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:5947:46: note: candidate expects 1 argument, 0 provided ../src/addon.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE SHA3Hash::Update(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/addon.cpp:97:49: error: no matching function for call to ‘v8::Value::ToObject()’ Local<Object> buffer_obj = info[0]->ToObject(); ^ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2532:44: note: candidate: ‘v8::MaybeLocalv8::Object v8::Value::ToObject(v8::Localv8::Context) const’ V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject( ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:2532:44: note: candidate expects 1 argument, 0 provided In file included from /home/mike/.node-gyp/12.3.1/include/node/v8-internal.h:14, from /home/mike/.node-gyp/12.3.1/include/node/v8.h:25, from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h:2546:35: note: candidate: ‘v8::Localv8::Object v8::Value::ToObject(v8::Isolate*) const’ Local<Object> ToObject(Isolate* isolate) const); ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h:2546:35: note: candidate expects 1 argument, 0 provided Local<Object> ToObject(Isolate* isolate) const); ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’ declarator attribute((deprecated(message))) ^~~~~~~~~~ In file included from ../src/addon.cpp:1: ../src/addon.cpp: At global scope: /home/mike/.node-gyp/12.3.1/include/node/node.h:556:43: warning: cast between incompatible function types from ‘void ()(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void ()(v8::Localv8::Object)’} to ‘node::addon_register_func’ {aka ‘void ()(v8::Localv8::Object, v8::Localv8::Value, void)’} [-Wcast-function-type] (node::addon_register_func) (regfunc),
^ /home/mike/.node-gyp/12.3.1/include/node/node.h:590:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/addon.cpp:164:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(sha3, SHA3Hash::Init) ^~~~~~~~~~~ In file included from /home/mike/.node-gyp/12.3.1/include/node/node.h:63, from ../src/addon.cpp:1: /home/mike/.node-gyp/12.3.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfonode::ObjectWrap&)]’: /home/mike/.node-gyp/12.3.1/include/node/node_object_wrap.h:84:78: required from here /home/mike/.node-gyp/12.3.1/include/node/v8.h:9817:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfonode::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfonode::ObjectWrap&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)]’: ../../nan/nan_object_wrap.h:66:61: required from here /home/mike/.node-gyp/12.3.1/include/node/v8.h:9817:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfoNan::ObjectWrap::Callback’ {aka ‘void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] make: *** [sha3.target.mk:111: Release/obj.target/sha3/src/addon.o] Error 1 make: Leaving directory '/home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/sha3/build' gyp ERR! build error gyp ERR! stack Error: make failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23) gyp ERR! stack at ChildProcess.emit (events.js:200:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) gyp ERR! System Linux 5.0.0-15-generic gyp ERR! command "/home/mike/.nvm/versions/node/v12.3.1/bin/node" "/home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /home/mike/.nvm/versions/node/v12.3.1/lib/node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/sha3 gyp ERR! node -v v12.3.1 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm WARN [email protected] requires a peer of yo-yoify@latest but none is installed. You must install peer dependencies yourself. npm WARN [email protected] requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself. npm WARN [email protected] requires a peer of acorn@^6.0.0 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/embark/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/scrypt): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: node-gyp rebuild npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] install: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] 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/mike/.npm/_logs/2019-05-30T23_00_08_196Z-debug.log

mikezentz avatar May 30 '19 23:05 mikezentz

I'm happy to do another fresh install and follow an exact sequence of instructions to get this working.

mikezentz avatar May 30 '19 23:05 mikezentz

@mikezentz unfortunately embark has dependencies that aren't compatible with NodeJS v12.x, though we'll be looking to fix that. For now, please use either the latest 10.x (currently 10.16.0) or the latest 8.x (currently 8.16.0).

michaelsbradleyjr avatar May 30 '19 23:05 michaelsbradleyjr

nvm install v10.16.0

michaelsbradleyjr avatar May 30 '19 23:05 michaelsbradleyjr

There's a merged PR that makes it more clear what versions of NodeJS are supported but those changes aren't yet part of a released version of Embark: https://github.com/embark-framework/embark/pull/1639.

michaelsbradleyjr avatar May 30 '19 23:05 michaelsbradleyjr

Any progress here? This install is a huge barrier to entry for many (we tried this at a meetup, and only 2 were able to get past install). Just tried again with 10.16, 11.9, 11.15, none are working currently. Is there a stable version available? (Even tried npm install -g [email protected]). You have the best contract runtime, I want to introduce new developers using this, but its impossible without install working :)

TrevorJTClarke avatar Jun 25 '19 21:06 TrevorJTClarke

@TrevorJTClarke Is the installation errrors you get related to Node's version? If so, Node 10.x should work. I am currently on 10.13.0. Installing with NVM also gets rid of most permission issues.

There are a couple other factors that can make the installation fail. The biggest one is scrypt, because it depends on node-gyp, which requires Python 2.7 and a C++ compiler. You can find our troubleshooting guide for that type of problem here: https://embark.status.im/docs/troubleshooting.html#node-gyp-problems.

In the end, most, if not all, Embark versions should be installable. It's only that we depends on a couple of hard to install dependencies that it often causes problems.

jrainville avatar Jun 26 '19 13:06 jrainville

Thanks for the response @jrainville, I did the troubleshooting doc yesterday, heres my current versions:

Its still failing primarily due to node-gyp, any ideas?

TrevorJTClarke avatar Jun 26 '19 15:06 TrevorJTClarke

@TrevorJTClarke what OS do you use? Do you have a valid C++ compiler? Also, what is the error that you get when installing Embark?

jrainville avatar Jun 26 '19 17:06 jrainville

Any progress here? This install is a huge barrier to entry for many (we tried this at a meetup, and only 2 were able to get past install). Just tried again with 10.16, 11.9, 11.15, none are working currently. Is there a stable version available? (Even tried npm install -g [email protected]). You have the best contract runtime, I want to introduce new developers using this, but its impossible without install working :)

Right? I would've thought that things would be better since the last time I worked with ETH (2017), but it's still the same buggy messy painful process as then. Maybe check in another 3 years, I guess?

matronator avatar Sep 22 '20 22:09 matronator

Still this issue is not solved, right? I still got same problem as mentioned above when i install npm -g install embark, any solution

basherfarm avatar Oct 13 '20 11:10 basherfarm