embarklabs / embark

Framework for serverless Decentralized Applications using Ethereum, IPFS and other platforms
https://framework.embarklabs.io/
MIT License
3.79k stars 494 forks source link

embark will not install and throws a ton of errors #1646

Open mikezentz opened 5 years ago

mikezentz commented 5 years ago

mike@pop-os:~$ sudo npm -g install embark npm WARN deprecated istanbul@0.4.5: This module is no longer maintained, try this instead: npm WARN deprecated npm i nyc npm WARN deprecated Visit https://istanbul.js.org/integrations for other alternatives. npm WARN deprecated ipfs-api@17.2.4: ipfs-api has been renamed to ipfs-http-client, please update your package.json to get the latest version. npm WARN deprecated tar.gz@1.0.7: ⚠️ WARNING ⚠️ tar.gz module has been deprecated and your application is vulnerable. Please use tar module instead: https://npmjs.com/tar npm WARN deprecated fs-promise@2.0.3: Use mz or fs-extra^3.0 with Promise Support

scrypt@6.0.3 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

scrypt@6.0.3 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

typechecker@2.0.8 preinstall /usr/local/lib/node_modules/embark/node_modules/extract-opts/node_modules/typechecker node ./cyclic.js

typechecker@2.0.8 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

keccak@1.4.0 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."

keccak@1.4.0 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! keccak@1.4.0 rebuild: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the keccak@1.4.0 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.

scrypt@6.0.3 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

secp256k1@3.5.2 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."

secp256k1@3.5.2 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! secp256k1@3.5.2 rebuild: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the secp256k1@3.5.2 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.

sha3@1.2.2 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 remix-tests@0.1.1 requires a peer of yo-yoify@latest but none is installed. You must install peer dependencies yourself. npm WARN ajv-keywords@3.4.0 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself. npm WARN acorn-dynamic-import@4.0.0 requires a peer of acorn@^6.0.0 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/embark/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: scrypt@6.0.3 (node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/scrypt): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: scrypt@6.0.3 install: node-gyp rebuild npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! sha3@1.2.2 install: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the sha3@1.2.2 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! /home/mike/.npm/_logs/2019-05-30T03_11_39_089Z-debug.log mike@pop-os:~$ embark embark: command not found mike@pop-os:~$

mikezentz commented 5 years ago

2019-05-30T03_24_49_139Z-debug.log

jrainville commented 5 years ago

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.

mikezentz commented 5 years ago

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::ToFactoryBase::return_t Nan::imp::ToFactory::convert(v8::Local)’: ../../nan/nan_converters_43_inl.h:18:51: warning: ‘v8::MaybeLocal v8::Value::ToBoolean(v8::Local) 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 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::Local)’: ../../nan/nan_converters_43_inl.h:37:57: warning: ‘v8::Maybe v8::Value::BooleanValue(v8::Local) 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::FactoryBase::return_t Nan::imp::Factory::New(Nan::FunctionCallback, v8::Local)’: ../../nan/nan_implementation_12_inl.h:105:32: error: no matching function for call to ‘v8::Function::New(v8::Isolate&, void (&)(const v8::FunctionCallbackInfo&), v8::Local&)’ , 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::MaybeLocal v8::Function::New(v8::Local, v8::FunctionCallback, v8::Local, int, v8::ConstructorBehavior, v8::SideEffectType)’ static MaybeLocal 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::Local’ 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::FactoryBase::return_t Nan::imp::Factory::New(v8::Local)’: ../../nan/nan_implementation_12_inl.h:337:37: error: no matching function for call to ‘v8::StringObject::New(v8::Local&)’ return v8::StringObject::New(value).As(); ^ 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::Local v8::StringObject::New(v8::Isolate, v8::Local)’ static Local New(Isolate isolate, Local 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).As(); ^ ../../nan/nan_implementation_12_inl.h:337:60: error: expected primary-expression before ‘)’ token return v8::StringObject::New(value).As(); ^ In file included from ../src/node-boilerplate/scrypt_common.cc:28: ../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local)’: ../../nan/nan.h:1034:53: error: no matching function for call to ‘v8::Value::ToString()’ v8::Local 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::MaybeLocal v8::Value::ToString(v8::Local) const’ V8_WARN_UNUSED_RESULT MaybeLocal 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::Local v8::Value::ToString(v8::Isolate) const’ Local 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 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::Local&)’: ../../nan/nan.h:1818:64: warning: ‘bool v8::Object::Set(v8::Local, v8::Local)’ 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 key, Local 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::Local&, const v8::Local&)’: ../../nan/nan.h:1824:42: warning: ‘bool v8::Object::Set(v8::Local, v8::Local)’ 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 key, Local 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::Local&)’: ../../nan/nan.h:1830:44: warning: ‘bool v8::Object::Set(uint32_t, v8::Local)’ 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)); ^~~ /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::Local Nan::AsyncWorker::GetFromPersistent(const char) const’: ../../nan/nan.h:1836:61: warning: ‘v8::Local v8::Object::Get(v8::Local)’ 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 Get(Local 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::Local Nan::AsyncWorker::GetFromPersistent(const v8::Local&) const’: ../../nan/nan.h:1842:55: warning: ‘v8::Local v8::Object::Get(v8::Local)’ 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 Get(Local 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::Local Nan::AsyncWorker::GetFromPersistent(uint32_t) const’: ../../nan/nan.h:1847:57: warning: ‘v8::Local 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 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(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::Persistent’ 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::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::WeakCallbackInfo&)’: ../../nan/nan_objectwrap.h:124:26: error: ‘class Nan::Persistent’ 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::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: /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::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: ../../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::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} 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

secp256k1@3.5.2 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."

secp256k1@3.5.2 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::ToFactoryBase::return_t Nan::imp::ToFactory::convert(v8::Local)’: ../../nan/nan_converters_43_inl.h:18:51: warning: ‘v8::MaybeLocal v8::Value::ToBoolean(v8::Local) 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 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::Local)’: ../../nan/nan_converters_43_inl.h:37:57: warning: ‘v8::Maybe v8::Value::BooleanValue(v8::Local) 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::FactoryBase::return_t Nan::imp::Factory::New(Nan::FunctionCallback, v8::Local)’: ../../nan/nan_implementation_12_inl.h:105:32: error: no matching function for call to ‘v8::Function::New(v8::Isolate&, void (&)(const v8::FunctionCallbackInfo&), v8::Local&)’ , 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::MaybeLocal v8::Function::New(v8::Local, v8::FunctionCallback, v8::Local, int, v8::ConstructorBehavior, v8::SideEffectType)’ static MaybeLocal 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::Local’ 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::FactoryBase::return_t Nan::imp::Factory::New(v8::Local)’: ../../nan/nan_implementation_12_inl.h:337:37: error: no matching function for call to ‘v8::StringObject::New(v8::Local&)’ return v8::StringObject::New(value).As(); ^ 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::Local v8::StringObject::New(v8::Isolate, v8::Local)’ static Local New(Isolate isolate, Local 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).As(); ^ ../../nan/nan_implementation_12_inl.h:337:60: error: expected primary-expression before ‘)’ token return v8::StringObject::New(value).As(); ^ In file included from ../src/addon.cc:2: ../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local)’: ../../nan/nan.h:1034:53: error: no matching function for call to ‘v8::Value::ToString()’ v8::Local 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::MaybeLocal v8::Value::ToString(v8::Local) const’ V8_WARN_UNUSED_RESULT MaybeLocal 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::Local v8::Value::ToString(v8::Isolate) const’ Local 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 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::Local&)’: ../../nan/nan.h:1818:64: warning: ‘bool v8::Object::Set(v8::Local, v8::Local)’ 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 key, Local 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::Local&, const v8::Local&)’: ../../nan/nan.h:1824:42: warning: ‘bool v8::Object::Set(v8::Local, v8::Local)’ 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 key, Local 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::Local&)’: ../../nan/nan.h:1830:44: warning: ‘bool v8::Object::Set(uint32_t, v8::Local)’ 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)); ^~~ /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::Local Nan::AsyncWorker::GetFromPersistent(const char) const’: ../../nan/nan.h:1836:61: warning: ‘v8::Local v8::Object::Get(v8::Local)’ 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 Get(Local 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::Local Nan::AsyncWorker::GetFromPersistent(const v8::Local&) const’: ../../nan/nan.h:1842:55: warning: ‘v8::Local v8::Object::Get(v8::Local)’ 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 Get(Local 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::Local Nan::AsyncWorker::GetFromPersistent(uint32_t) const’: ../../nan/nan.h:1847:57: warning: ‘v8::Local 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 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(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::Persistent’ 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::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::WeakCallbackInfo&)’: ../../nan/nan_objectwrap.h:124:26: error: ‘class Nan::Persistent’ 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::Local)’} to ‘node::addon_register_func’ {aka ‘void ()(v8::Local, v8::Local, 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::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: /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::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: ../../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::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} 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! secp256k1@3.5.2 rebuild: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the secp256k1@3.5.2 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.

sha3@1.2.2 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::ToFactoryBase::return_t Nan::imp::ToFactory::convert(v8::Local)’: ../../nan/nan_converters_43_inl.h:18:51: warning: ‘v8::MaybeLocal v8::Value::ToBoolean(v8::Local) 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 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::Local)’: ../../nan/nan_converters_43_inl.h:37:57: warning: ‘v8::Maybe v8::Value::BooleanValue(v8::Local) 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::FactoryBase::return_t Nan::imp::Factory::New(Nan::FunctionCallback, v8::Local)’: ../../nan/nan_implementation_12_inl.h:105:32: error: no matching function for call to ‘v8::Function::New(v8::Isolate&, void (&)(const v8::FunctionCallbackInfo&), v8::Local&)’ , 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::MaybeLocal v8::Function::New(v8::Local, v8::FunctionCallback, v8::Local, int, v8::ConstructorBehavior, v8::SideEffectType)’ static MaybeLocal 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::Local’ 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::FactoryBase::return_t Nan::imp::Factory::New(v8::Local)’: ../../nan/nan_implementation_12_inl.h:337:37: error: no matching function for call to ‘v8::StringObject::New(v8::Local&)’ return v8::StringObject::New(value).As(); ^ 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::Local v8::StringObject::New(v8::Isolate, v8::Local)’ static Local New(Isolate isolate, Local 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).As(); ^ ../../nan/nan_implementation_12_inl.h:337:60: error: expected primary-expression before ‘)’ token return v8::StringObject::New(value).As(); ^ In file included from ../src/addon.cpp:4: ../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local)’: ../../nan/nan.h:1034:53: error: no matching function for call to ‘v8::Value::ToString()’ v8::Local 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::MaybeLocal v8::Value::ToString(v8::Local) const’ V8_WARN_UNUSED_RESULT MaybeLocal 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::Local v8::Value::ToString(v8::Isolate) const’ Local 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 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::Local&)’: ../../nan/nan.h:1818:64: warning: ‘bool v8::Object::Set(v8::Local, v8::Local)’ 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 key, Local 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::Local&, const v8::Local&)’: ../../nan/nan.h:1824:42: warning: ‘bool v8::Object::Set(v8::Local, v8::Local)’ 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 key, Local 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::Local&)’: ../../nan/nan.h:1830:44: warning: ‘bool v8::Object::Set(uint32_t, v8::Local)’ 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)); ^~~ /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::Local Nan::AsyncWorker::GetFromPersistent(const char) const’: ../../nan/nan.h:1836:61: warning: ‘v8::Local v8::Object::Get(v8::Local)’ 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 Get(Local 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::Local Nan::AsyncWorker::GetFromPersistent(const v8::Local&) const’: ../../nan/nan.h:1842:55: warning: ‘v8::Local v8::Object::Get(v8::Local)’ 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 Get(Local 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::Local Nan::AsyncWorker::GetFromPersistent(uint32_t) const’: ../../nan/nan.h:1847:57: warning: ‘v8::Local 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 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(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::Persistent’ 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::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::WeakCallbackInfo&)’: ../../nan/nan_objectwrap.h:124:26: error: ‘class Nan::Persistent’ 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::Local) const’ V8_WARN_UNUSED_RESULT Maybe Int32Value(Local 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::MaybeLocal v8::FunctionTemplate::GetFunction(v8::Local)’ V8_WARN_UNUSED_RESULT MaybeLocal 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("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::MaybeLocal v8::FunctionTemplate::GetFunction(v8::Local)’ V8_WARN_UNUSED_RESULT MaybeLocal 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 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::MaybeLocal v8::Value::ToObject(v8::Local) const’ V8_WARN_UNUSED_RESULT MaybeLocal 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::Local v8::Value::ToObject(v8::Isolate) const’ Local 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 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::Local)’} to ‘node::addon_register_func’ {aka ‘void ()(v8::Local, v8::Local, 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::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: /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::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~ /home/mike/.node-gyp/12.3.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfo&)]’: ../../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::WeakCallbackInfo::Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} 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 remix-tests@0.1.1 requires a peer of yo-yoify@latest but none is installed. You must install peer dependencies yourself. npm WARN ajv-keywords@3.4.0 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself. npm WARN acorn-dynamic-import@4.0.0 requires a peer of acorn@^6.0.0 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/embark/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: scrypt@6.0.3 (node_modules/embark/node_modules/ganache-cli/node_modules/ganache-core/node_modules/scrypt): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: scrypt@6.0.3 install: node-gyp rebuild npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! sha3@1.2.2 install: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the sha3@1.2.2 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! /home/mike/.npm/_logs/2019-05-30T23_00_08_196Z-debug.log

mikezentz commented 5 years ago

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

michaelsbradleyjr commented 5 years ago

@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 commented 5 years ago
nvm install v10.16.0
michaelsbradleyjr commented 5 years ago

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.

TrevorJTClarke commented 5 years ago

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 embark@4.0.2). You have the best contract runtime, I want to introduce new developers using this, but its impossible without install working :)

jrainville commented 5 years ago

@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.

TrevorJTClarke commented 5 years ago

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

  • python2.7
  • node-gyp@3.8.0
  • nodejs - 10.6, 10.16, 11.9, 11.15
  • npm 6.7.0

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

jrainville commented 5 years ago

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

matronator commented 3 years ago

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 embark@4.0.2). 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?

basherfarm commented 3 years ago

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