Being able to install ganache cli as expected and run ganache from the Mac OS command line using the command below:
$ ganache cli
When trying to install ganache cli, the errors pasted below appear and it is not possible to start ganache cli.
Manual Installation of Node.js 10.16.3 LTS for Mac OS from https://nodejs.org
$ npm -v
6.11.3
$ node -v
v10.16.3
$ sudo npm install -g ganache-cli
/usr/local/bin/ganache-cli -> /usr/local/lib/node_modules/ganache-cli/cli.js
[email protected] install /usr/local/lib/node_modules/ganache-cli/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/ganache-cli/node_modules/keccak
node-gyp rebuild
gyp ERR! clean error
gyp ERR! stack Error: EACCES: permission denied, rmdir 'build'
gyp ERR! System Darwin 18.7.0
gyp ERR! command "/usr/local/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/ganache-cli/node_modules/keccak
gyp ERR! node -v v10.16.3
gyp ERR! node-gyp -v v5.0.3
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/ganache-cli/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/ganache-cli/node_modules/secp256k1
node-gyp rebuild
gyp ERR! clean error
gyp ERR! stack Error: EACCES: permission denied, rmdir 'build'
gyp ERR! System Darwin 18.7.0
gyp ERR! command "/usr/local/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/ganache-cli/node_modules/secp256k1
gyp ERR! node -v v10.16.3
gyp ERR! node-gyp -v v5.0.3
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.
Thank for opening the issue, @Wiesel2000!
You really shouldn't be installing node modules with sudo, as it's likely to cause issues like this.
Can you try running npm uninstall -g ganache-cli && npm install -g ganache-cli?
Also, in your step 4 the command should be ganache-cli, not ganache cli (probably just a typo, but I just want to make sure)
Thank you for your reply, @davidmurdoch
Noted for the fact that sudo is not recommended.
However if I do not use sudo I simply can not install ganache cli since the "checkPermission is Missing write access to /usr/local/lib/node_modules" (see error pasted below).
Indeed if I run npm uninstall -g ganache-cli && npm install -g ganache-cli I get the error below:
$ npm uninstall -g ganache-cli && npm install -g ganache-cli
up to date in 0.06s
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! { [Error: EACCES: permission denied, access '/usr/local/lib/node_modules']
npm ERR! stack:
npm ERR! 'Error: EACCES: permission denied, access \'/usr/local/lib/node_modules\'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib/node_modules' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/me/.npm/_logs/2019-09-10T12_24_26_070Z-debug.log
It would seem that your node installation is misconfigured. Can you try the solutions listed in https://stackoverflow.com/questions/33725639/npm-install-g-less-does-not-work
Thank you for your reply @davidmurdoch
I am struggling as I am very new to this.
I have checked the link you sent and tried the procedure but could not pass through step 3 which says:
Open or create a ~/.profile file and add this line:
export PATH = ~/.npm-global/bin:$PATH
How do I "open or create a ~/.profile file" ?
Here is a summary below of the steps I did:
$ mkdir ~ /.npm-global
$ npm config set prefix '~ /.npm-global'
$ export PATH =~/.npm-global/bin:$PATH
$ source ~/.profile
-bash: /Users/me/.profile: No such file or directory
Thank you for your assistance.
Best regards.
~/.profile is referring to a file named .profile located in your home directory. See https://apple.stackexchange.com/a/99836/20910 for ways you can create/edit it yourself.
Thank you,
It looks like I am getting closer as the installation has progressed further and took longer than before, however I am still not able to start ganache cli.
Please see below the commands I did to create the profile and then the ganache cli installation log. You will notice at the end that ganache does not start.
$ cd ~
$ sudo nano .bash_profile
Password:
$ source ~/.bash_profile
$ mkdir ~/.npm-global
mkdir: /Users/me/.npm-global: File exists
$ npm config set prefix '~/.npm-global'
$ source ~/.bash_profile
$ export PATH=~/.npm-global/bin:$PATH
$ source ~/.bash_profile
$ npm install -g jshint
/Users/me.npm-global/bin/jshint -> /Users/me/.npm-global/lib/node_modules/jshint/bin/jshint
[email protected] install /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/keccak
npm run rebuild || echo "Keccak bindings compilation fail. Pure JS implementation will be used."
[email protected] rebuild /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/keccak
node-gyp rebuild
CXX(target) Release/obj.target/keccak/src/addon.o
../src/addon.cc:37:34: warning: 'IntegerValue' is deprecated [-Wdeprecated-declarations]
unsigned int rate = info[0]->IntegerValue();
^
/Users/me/Library/Caches/node-gyp/10.16.3/include/node/v8.h:2476:3: note:
'IntegerValue' has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
^
/Users/me/Library/Caches/node-gyp/10.16.3/include/node/v8config.h:327:29: note:
expanded from macro 'V8_DEPRECATED'
declarator __attribute__((deprecated))
^
../src/addon.cc:38:38: warning: 'IntegerValue' is deprecated [-Wdeprecated-declarations]
unsigned int capacity = info[1]->IntegerValue();
^
/Users/me/Library/Caches/node-gyp/10.16.3/include/node/v8.h:2476:3: note:
'IntegerValue' has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
^
/Users/meLibrary/Caches/node-gyp/10.16.3/include/node/v8config.h:327:29: note:
expanded from macro 'V8_DEPRECATED'
declarator __attribute__((deprecated))
^
../src/addon.cc:56:35: warning: 'IntegerValue' is deprecated [-Wdeprecated-declarations]
unsigned char bits = info[0]->IntegerValue();
^
/Users/me/Library/Caches/node-gyp/10.16.3/include/node/v8.h:2476:3: note:
'IntegerValue' has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
^
/Users/me/Library/Caches/node-gyp/10.16.3/include/node/v8config.h:327:29: note:
expanded from macro 'V8_DEPRECATED'
declarator __attribute__((deprecated))
^
../src/addon.cc:64:30: warning: 'IntegerValue' is deprecated [-Wdeprecated-declarations]
size_t length = info[0]->IntegerValue();
^
/Users/me/Library/Caches/node-gyp/10.16.3/include/node/v8.h:2476:3: note:
'IntegerValue' has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
^
/Users/me/Library/Caches/node-gyp/10.16.3/include/node/v8config.h:327:29: note:
expanded from macro 'V8_DEPRECATED'
declarator __attribute__((deprecated))
^
../src/addon.cc:75:73: warning: 'ToObject' is deprecated [-Wdeprecated-declarations]
KeccakWrapper* to = Nan::ObjectWrap::Unwrap
^
/Users/me/Library/Caches/node-gyp/10.16.3/include/node/v8.h:2455:10: note: 'ToObject'
has been explicitly marked deprecated here
inline V8_DEPRECATED("Use maybe version", Local
[email protected] install /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/secp256k1
npm run rebuild || echo "Secp256k1 bindings compilation fail. Pure JS implementation will be used."
[email protected] rebuild /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/secp256k1
node-gyp rebuild
CXX(target) Release/obj.target/secp256k1/src/addon.o
CXX(target) Release/obj.target/secp256k1/src/privatekey.o
../src/privatekey.cc:73:3: warning: ignoring return value of function declared with
'warn_unused_result' attribute [-Wunused-result]
secp256k1_ec_privkey_negate(secp256k1ctx, &private_key[0]);
^~~~~~~ ~~~~~~~~~
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:10:
In file included from ../src/secp256k1-src/src/group.h:11:
../src/secp256k1-src/src/field.h:36:13: warning: unused function 'secp256k1_fe_normalize'
[-Wunused-function]
static void secp256k1_fe_normalize(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:39:13: warning: unused function 'secp256k1_fe_normalize_weak'
[-Wunused-function]
static void secp256k1_fe_normalize_weak(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:42:13: warning: unused function 'secp256k1_fe_normalize_var'
[-Wunused-function]
static void secp256k1_fe_normalize_var(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:46:12: warning: unused function 'secp256k1_fe_normalizes_to_zero'
[-Wunused-function]
static int secp256k1_fe_normalizes_to_zero(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:50:12: warning: unused function 'secp256k1_fe_normalizes_to_zero_var'
[-Wunused-function]
static int secp256k1_fe_normalizes_to_zero_var(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:53:13: warning: unused function 'secp256k1_fe_set_int'
[-Wunused-function]
static void secp256k1_fe_set_int(secp256k1_fe *r, int a);
^
../src/secp256k1-src/src/field.h:56:13: warning: unused function 'secp256k1_fe_clear'
[-Wunused-function]
static void secp256k1_fe_clear(secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:59:12: warning: unused function 'secp256k1_fe_is_zero'
[-Wunused-function]
static int secp256k1_fe_is_zero(const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:62:12: warning: unused function 'secp256k1_fe_is_odd'
[-Wunused-function]
static int secp256k1_fe_is_odd(const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:65:12: warning: unused function 'secp256k1_fe_equal'
[-Wunused-function]
static int secp256k1_fe_equal(const secp256k1_fe *a, const secp256k1_fe *b);
^
../src/secp256k1-src/src/field.h:68:12: warning: unused function 'secp256k1_fe_equal_var'
[-Wunused-function]
static int secp256k1_fe_equal_var(const secp256k1_fe *a, const secp256k1_fe *b);
^
../src/secp256k1-src/src/field.h:71:12: warning: unused function 'secp256k1_fe_cmp_var'
[-Wunused-function]
static int secp256k1_fe_cmp_var(const secp256k1_fe *a, const secp256k1_fe *b);
^
../src/secp256k1-src/src/field.h:74:12: warning: unused function 'secp256k1_fe_set_b32'
[-Wunused-function]
static int secp256k1_fe_set_b32(secp256k1_fe *r, const unsigned char *a);
^
../src/secp256k1-src/src/field.h:77:13: warning: unused function 'secp256k1_fe_get_b32'
[-Wunused-function]
static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:81:13: warning: unused function 'secp256k1_fe_negate'
[-Wunused-function]
static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k1_fe *a, int m);
^
../src/secp256k1-src/src/field.h:85:13: warning: unused function 'secp256k1_fe_mul_int'
[-Wunused-function]
static void secp256k1_fe_mul_int(secp256k1_fe *r, int a);
^
../src/secp256k1-src/src/field.h:88:13: warning: unused function 'secp256k1_fe_add' [-Wunused-function]
static void secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:92:13: warning: unused function 'secp256k1_fe_mul' [-Wunused-function]
static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, const secp256k1_fe * SECP2...
^
../src/secp256k1-src/src/field.h:96:13: warning: unused function 'secp256k1_fe_sqr' [-Wunused-function]
static void secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:103:12: warning: unused function 'secp256k1_fe_sqrt'
[-Wunused-function]
static int secp256k1_fe_sqrt(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:106:12: warning: unused function 'secp256k1_fe_is_quad_var'
[-Wunused-function]
static int secp256k1_fe_is_quad_var(const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:110:13: warning: unused function 'secp256k1_fe_inv'
[-Wunused-function]
static void secp256k1_fe_inv(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:113:13: warning: unused function 'secp256k1_fe_inv_var'
[-Wunused-function]
static void secp256k1_fe_inv_var(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:118:13: warning: unused function 'secp256k1_fe_inv_all_var'
[-Wunused-function]
static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_fe *a, size_t len);
^
../src/secp256k1-src/src/field.h:121:13: warning: unused function 'secp256k1_fe_to_storage'
[-Wunused-function]
static void secp256k1_fe_to_storage(secp256k1_fe_storage *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:124:13: warning: unused function 'secp256k1_fe_from_storage'
[-Wunused-function]
static void secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_fe_storage *a);
^
../src/secp256k1-src/src/field.h:127:13: warning: unused function 'secp256k1_fe_storage_cmov'
[-Wunused-function]
static void secp256k1_fe_storage_cmov(secp256k1_fe_storage *r, const secp256k1_fe_storage *a, i...
^
../src/secp256k1-src/src/field.h:130:13: warning: unused function 'secp256k1_fe_cmov'
[-Wunused-function]
static void secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe *a, int flag);
^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:10:
../src/secp256k1-src/src/group.h:44:13: warning: unused function 'secp256k1_ge_set_xy'
[-Wunused-function]
static void secp256k1_ge_set_xy(secp256k1_ge *r, const secp256k1_fe *x, const secp256k1_fe *y);
^
../src/secp256k1-src/src/group.h:50:12: warning: unused function 'secp256k1_ge_set_xquad'
[-Wunused-function]
static int secp256k1_ge_set_xquad(secp256k1_ge *r, const secp256k1_fe *x);
^
../src/secp256k1-src/src/group.h:54:12: warning: unused function 'secp256k1_ge_set_xo_var'
[-Wunused-function]
static int secp256k1_ge_set_xo_var(secp256k1_ge *r, const secp256k1_fe *x, int odd);
^
../src/secp256k1-src/src/group.h:57:12: warning: unused function 'secp256k1_ge_is_infinity'
[-Wunused-function]
static int secp256k1_ge_is_infinity(const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:60:12: warning: unused function 'secp256k1_ge_is_valid_var'
[-Wunused-function]
static int secp256k1_ge_is_valid_var(const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:62:13: warning: unused function 'secp256k1_ge_neg' [-Wunused-function]
static void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:65:13: warning: unused function 'secp256k1_ge_set_gej'
[-Wunused-function]
static void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:68:13: warning: unused function 'secp256k1_ge_set_all_gej_var'
[-Wunused-function]
static void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k1_gej *a, size_t len);
^
../src/secp256k1-src/src/group.h:75:13: warning: unused function 'secp256k1_ge_globalz_set_table_gej'
[-Wunused-function]
static void secp256k1_ge_globalz_set_table_gej(size_t len, secp256k1_ge *r, secp256k1_fe *globa...
^
../src/secp256k1-src/src/group.h:78:13: warning: unused function 'secp256k1_ge_set_infinity'
[-Wunused-function]
static void secp256k1_ge_set_infinity(secp256k1_ge *r);
^
../src/secp256k1-src/src/group.h:81:13: warning: unused function 'secp256k1_gej_set_infinity'
[-Wunused-function]
static void secp256k1_gej_set_infinity(secp256k1_gej *r);
^
../src/secp256k1-src/src/group.h:84:13: warning: unused function 'secp256k1_gej_set_ge'
[-Wunused-function]
static void secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:87:12: warning: unused function 'secp256k1_gej_eq_x_var'
[-Wunused-function]
static int secp256k1_gej_eq_x_var(const secp256k1_fe *x, const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:90:13: warning: unused function 'secp256k1_gej_neg'
[-Wunused-function]
static void secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:93:12: warning: unused function 'secp256k1_gej_is_infinity'
[-Wunused-function]
static int secp256k1_gej_is_infinity(const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:96:12: warning: unused function 'secp256k1_gej_has_quad_y_var'
[-Wunused-function]
static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:100:13: warning: unused function 'secp256k1_gej_double_nonzero'
[-Wunused-function]
static void secp256k1_gej_double_nonzero(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr);
^
../src/secp256k1-src/src/group.h:103:13: warning: unused function 'secp256k1_gej_double_var'
[-Wunused-function]
static void secp256k1_gej_double_var(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr);
^
../src/secp256k1-src/src/group.h:106:13: warning: unused function 'secp256k1_gej_add_var'
[-Wunused-function]
static void secp256k1_gej_add_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge...
^
../src/secp256k1-src/src/group.h:109:13: warning: unused function 'secp256k1_gej_add_ge'
[-Wunused-function]
static void secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b);
^
../src/secp256k1-src/src/group.h:114:13: warning: unused function 'secp256k1_gej_add_ge_var'
[-Wunused-function]
static void secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_...
^
../src/secp256k1-src/src/group.h:117:13: warning: unused function 'secp256k1_gej_add_zinv_var'
[-Wunused-function]
static void secp256k1_gej_add_zinv_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k...
^
../src/secp256k1-src/src/group.h:125:13: warning: unused function 'secp256k1_gej_clear'
[-Wunused-function]
static void secp256k1_gej_clear(secp256k1_gej *r);
^
../src/secp256k1-src/src/group.h:128:13: warning: unused function 'secp256k1_ge_clear'
[-Wunused-function]
static void secp256k1_ge_clear(secp256k1_ge *r);
^
../src/secp256k1-src/src/group.h:131:13: warning: unused function 'secp256k1_ge_to_storage'
[-Wunused-function]
static void secp256k1_ge_to_storage(secp256k1_ge_storage *r, const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:134:13: warning: unused function 'secp256k1_ge_from_storage'
[-Wunused-function]
static void secp256k1_ge_from_storage(secp256k1_ge *r, const secp256k1_ge_storage *a);
^
../src/secp256k1-src/src/group.h:137:13: warning: unused function 'secp256k1_ge_storage_cmov'
[-Wunused-function]
static void secp256k1_ge_storage_cmov(secp256k1_ge_storage *r, const secp256k1_ge_storage *a, i...
^
../src/secp256k1-src/src/group.h:140:13: warning: unused function 'secp256k1_gej_rescale'
[-Wunused-function]
static void secp256k1_gej_rescale(secp256k1_gej *r, const secp256k1_fe *b);
^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:20:
../src/secp256k1-src/src/scalar_4x64_impl.h:83:12: warning: unused function 'secp256k1_scalar_add'
[-Wunused-function]
static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1...
^
../src/secp256k1-src/src/scalar_4x64_impl.h:897:12: warning: unused function 'secp256k1_scalar_shr_int'
[-Wunused-function]
static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n) {
^
In file included from ../src/privatekey.cc:4:
../src/secp256k1-src/src/scalar_impl.h:225:13: warning: unused function 'secp256k1_scalar_inverse_var'
[-Wunused-function]
static void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar *x) {
^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:20:
../src/secp256k1-src/src/scalar_4x64_impl.h:140:13: warning: unused function 'secp256k1_scalar_negate'
[-Wunused-function]
static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar *a) {
^
../src/secp256k1-src/src/scalar_4x64_impl.h:156:12: warning: unused function 'secp256k1_scalar_is_high'
[-Wunused-function]
static int secp256k1_scalar_is_high(const secp256k1_scalar *a) {
^
../src/secp256k1-src/src/scalar_4x64_impl.h:168:12: warning: unused function
'secp256k1_scalar_cond_negate' [-Wunused-function]
static int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag) {
^
63 warnings generated.
CXX(target) Release/obj.target/secp256k1/src/publickey.o
CXX(target) Release/obj.target/secp256k1/src/signature.o
CXX(target) Release/obj.target/secp256k1/src/ecdsa.o
CXX(target) Release/obj.target/secp256k1/src/ecdh.o
CC(target) Release/obj.target/secp256k1/src/secp256k1-src/src/secp256k1.o
In file included from ../src/secp256k1-src/src/secp256k1.c:11:
../src/secp256k1-src/src/field_impl.h:266:13: warning: unused function 'secp256k1_fe_inv_all_var'
[-Wunused-function]
static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_fe *a, size_t len) {
^
In file included from ../src/secp256k1-src/src/secp256k1.c:13:
../src/secp256k1-src/src/group_impl.h:202:13: warning: unused function 'secp256k1_ge_set_infinity'
[-Wunused-function]
static void secp256k1_ge_set_infinity(secp256k1_ge *r) {
^
../src/secp256k1-src/src/group_impl.h:691:12: warning: unused function 'secp256k1_gej_has_quad_y_var'
[-Wunused-function]
static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a) {
^
../src/secp256k1-src/src/group_impl.h:272:12: warning: unused function 'secp256k1_gej_is_valid_var'
[-Wunused-function]
static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
^
In file included from ../src/secp256k1-src/src/secp256k1.c:14:
../src/secp256k1-src/src/ecmult_impl.h:1135:12: warning: unused function 'secp256k1_ecmult_multi_var'
[-Wunused-function]
static int secp256k1_ecmult_multi_var(const secp256k1_ecmult_context *ctx, secp256k1_scratch *s...
^
../src/secp256k1-src/src/ecmult_impl.h:669:12: warning: unused function
'secp256k1_ecmult_strauss_batch_single' [-Wunused-function]
static int secp256k1_ecmult_strauss_batch_single(const secp256k1_ecmult_context *actx, secp256k...
^
../src/secp256k1-src/src/ecmult_impl.h:1042:12: warning: unused function
'secp256k1_ecmult_pippenger_batch_single' [-Wunused-function]
static int secp256k1_ecmult_pippenger_batch_single(const secp256k1_ecmult_context *actx, secp25...
^
7 warnings generated.
CC(target) Release/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_parsing.o
CC(target) Release/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_privatekey_parsing.o
SOLINK_MODULE(target) Release/secp256k1.node
Could you please assist?
Thank you.
The command is ganache-cli, not ganache cli.
Thank you so much for the assistance @davidmurdoch 馃憤
It all works well now !!
You guys are legend 馃
Hi @davidmurdoch,
I've tried to use ganache today again and it looks like I am having issues to start it. This is strange as it ended up working fine last month after you assisted in the resolution (see posts above).
I have pasted below what I tried today and the corresponding compilation + errors.
Why does the ganache-cli command is not found whereas ganache-cli appears to be installed?
Last login: Sun Oct 20 12:04:22 on ttys000
xxx-xxx-x-xxx:~ me$ npm -v
6.9.0
xxx-xxx-x-xxx:~ me$ node -v
v10.16.3
xxx-xxx-x-xxx:~ me$ ganache-cli
-bash: ganache-cli: command not found
xxx-xxx-x-xxx:~ me$ npm uninstall -g ganache-cli && npm install -g ganache-cli
removed 88 packages in 0.707s
/Users/me/.npm-global/bin/ganache-cli -> /Users/me/.npm-global/lib/node_modules/ganache-cli/cli.js
[email protected] install /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/keccak
npm run rebuild || echo "Keccak bindings compilation fail. Pure JS implementation will be used."
[email protected] rebuild /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/keccak
node-gyp rebuild
CXX(target) Release/obj.target/keccak/src/addon.o
../src/addon.cc:37:34: warning: 'IntegerValue' is deprecated
[-Wdeprecated-declarations]
unsigned int rate = info[0]->IntegerValue();
^
/Users/me/.node-gyp/10.16.3/include/node/v8.h:2476:3: note:
'IntegerValue' has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
^
/Users/me/.node-gyp/10.16.3/include/node/v8config.h:327:29: note:
expanded from macro 'V8_DEPRECATED'
declarator __attribute__((deprecated))
^
../src/addon.cc:38:38: warning: 'IntegerValue' is deprecated
[-Wdeprecated-declarations]
unsigned int capacity = info[1]->IntegerValue();
^
/Users/me/.node-gyp/10.16.3/include/node/v8.h:2476:3: note:
'IntegerValue' has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
^
/Users/me/.node-gyp/10.16.3/include/node/v8config.h:327:29: note:
expanded from macro 'V8_DEPRECATED'
declarator __attribute__((deprecated))
^
../src/addon.cc:56:35: warning: 'IntegerValue' is deprecated
[-Wdeprecated-declarations]
unsigned char bits = info[0]->IntegerValue();
^
/Users/me/.node-gyp/10.16.3/include/node/v8.h:2476:3: note:
'IntegerValue' has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
^
/Users/me/.node-gyp/10.16.3/include/node/v8config.h:327:29: note:
expanded from macro 'V8_DEPRECATED'
declarator __attribute__((deprecated))
^
../src/addon.cc:64:30: warning: 'IntegerValue' is deprecated
[-Wdeprecated-declarations]
size_t length = info[0]->IntegerValue();
^
/Users/me/.node-gyp/10.16.3/include/node/v8.h:2476:3: note:
'IntegerValue' has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
^
/Users/me/.node-gyp/10.16.3/include/node/v8config.h:327:29: note:
expanded from macro 'V8_DEPRECATED'
declarator __attribute__((deprecated))
^
../src/addon.cc:75:73: warning: 'ToObject' is deprecated
[-Wdeprecated-declarations]
KeccakWrapper* to = Nan::ObjectWrap::Unwrap
^
/Users/me/.node-gyp/10.16.3/include/node/v8.h:2455:10: note:
'ToObject' has been explicitly marked deprecated here
inline V8_DEPRECATED("Use maybe version", Local
[email protected] install /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/secp256k1
npm run rebuild || echo "Secp256k1 bindings compilation fail. Pure JS implementation will be used."
[email protected] rebuild /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/secp256k1
node-gyp rebuild
CXX(target) Release/obj.target/secp256k1/src/addon.o
CXX(target) Release/obj.target/secp256k1/src/privatekey.o
../src/privatekey.cc:73:3: warning: ignoring return value of function declared
with 'warn_unused_result' attribute [-Wunused-result]
secp256k1_ec_privkey_negate(secp256k1ctx, &private_key[0]);
^~~~~~~ ~~~~~~~~~
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:10:
In file included from ../src/secp256k1-src/src/group.h:11:
../src/secp256k1-src/src/field.h:36:13: warning: unused function
'secp256k1_fe_normalize' [-Wunused-function]
static void secp256k1_fe_normalize(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:39:13: warning: unused function
'secp256k1_fe_normalize_weak' [-Wunused-function]
static void secp256k1_fe_normalize_weak(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:42:13: warning: unused function
'secp256k1_fe_normalize_var' [-Wunused-function]
static void secp256k1_fe_normalize_var(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:46:12: warning: unused function
'secp256k1_fe_normalizes_to_zero' [-Wunused-function]
static int secp256k1_fe_normalizes_to_zero(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:50:12: warning: unused function
'secp256k1_fe_normalizes_to_zero_var' [-Wunused-function]
static int secp256k1_fe_normalizes_to_zero_var(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:53:13: warning: unused function
'secp256k1_fe_set_int' [-Wunused-function]
static void secp256k1_fe_set_int(secp256k1_fe *r, int a);
^
../src/secp256k1-src/src/field.h:56:13: warning: unused function
'secp256k1_fe_clear' [-Wunused-function]
static void secp256k1_fe_clear(secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:59:12: warning: unused function
'secp256k1_fe_is_zero' [-Wunused-function]
static int secp256k1_fe_is_zero(const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:62:12: warning: unused function
'secp256k1_fe_is_odd' [-Wunused-function]
static int secp256k1_fe_is_odd(const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:65:12: warning: unused function
'secp256k1_fe_equal' [-Wunused-function]
static int secp256k1_fe_equal(const secp256k1_fe *a, const secp256k1_fe *b);
^
../src/secp256k1-src/src/field.h:68:12: warning: unused function
'secp256k1_fe_equal_var' [-Wunused-function]
static int secp256k1_fe_equal_var(const secp256k1_fe *a, const secp256k1_fe *b);
^
../src/secp256k1-src/src/field.h:71:12: warning: unused function
'secp256k1_fe_cmp_var' [-Wunused-function]
static int secp256k1_fe_cmp_var(const secp256k1_fe *a, const secp256k1_fe *b);
^
../src/secp256k1-src/src/field.h:74:12: warning: unused function
'secp256k1_fe_set_b32' [-Wunused-function]
static int secp256k1_fe_set_b32(secp256k1_fe *r, const unsigned char *a);
^
../src/secp256k1-src/src/field.h:77:13: warning: unused function
'secp256k1_fe_get_b32' [-Wunused-function]
static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:81:13: warning: unused function
'secp256k1_fe_negate' [-Wunused-function]
static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k1_fe *a, int m);
^
../src/secp256k1-src/src/field.h:85:13: warning: unused function
'secp256k1_fe_mul_int' [-Wunused-function]
static void secp256k1_fe_mul_int(secp256k1_fe *r, int a);
^
../src/secp256k1-src/src/field.h:88:13: warning: unused function
'secp256k1_fe_add' [-Wunused-function]
static void secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:92:13: warning: unused function
'secp256k1_fe_mul' [-Wunused-function]
static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, con...
^
../src/secp256k1-src/src/field.h:96:13: warning: unused function
'secp256k1_fe_sqr' [-Wunused-function]
static void secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:103:12: warning: unused function
'secp256k1_fe_sqrt' [-Wunused-function]
static int secp256k1_fe_sqrt(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:106:12: warning: unused function
'secp256k1_fe_is_quad_var' [-Wunused-function]
static int secp256k1_fe_is_quad_var(const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:110:13: warning: unused function
'secp256k1_fe_inv' [-Wunused-function]
static void secp256k1_fe_inv(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:113:13: warning: unused function
'secp256k1_fe_inv_var' [-Wunused-function]
static void secp256k1_fe_inv_var(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:118:13: warning: unused function
'secp256k1_fe_inv_all_var' [-Wunused-function]
static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_f...
^
../src/secp256k1-src/src/field.h:121:13: warning: unused function
'secp256k1_fe_to_storage' [-Wunused-function]
static void secp256k1_fe_to_storage(secp256k1_fe_storage *r, const secp2...
^
../src/secp256k1-src/src/field.h:124:13: warning: unused function
'secp256k1_fe_from_storage' [-Wunused-function]
static void secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_f...
^
../src/secp256k1-src/src/field.h:127:13: warning: unused function
'secp256k1_fe_storage_cmov' [-Wunused-function]
static void secp256k1_fe_storage_cmov(secp256k1_fe_storage *r, const sec...
^
../src/secp256k1-src/src/field.h:130:13: warning: unused function
'secp256k1_fe_cmov' [-Wunused-function]
static void secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe *a, int flag);
^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:10:
../src/secp256k1-src/src/group.h:44:13: warning: unused function
'secp256k1_ge_set_xy' [-Wunused-function]
static void secp256k1_ge_set_xy(secp256k1_ge *r, const secp256k1_fe *x, ...
^
../src/secp256k1-src/src/group.h:50:12: warning: unused function
'secp256k1_ge_set_xquad' [-Wunused-function]
static int secp256k1_ge_set_xquad(secp256k1_ge *r, const secp256k1_fe *x);
^
../src/secp256k1-src/src/group.h:54:12: warning: unused function
'secp256k1_ge_set_xo_var' [-Wunused-function]
static int secp256k1_ge_set_xo_var(secp256k1_ge *r, const secp256k1_fe *...
^
../src/secp256k1-src/src/group.h:57:12: warning: unused function
'secp256k1_ge_is_infinity' [-Wunused-function]
static int secp256k1_ge_is_infinity(const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:60:12: warning: unused function
'secp256k1_ge_is_valid_var' [-Wunused-function]
static int secp256k1_ge_is_valid_var(const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:62:13: warning: unused function
'secp256k1_ge_neg' [-Wunused-function]
static void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:65:13: warning: unused function
'secp256k1_ge_set_gej' [-Wunused-function]
static void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:68:13: warning: unused function
'secp256k1_ge_set_all_gej_var' [-Wunused-function]
static void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k...
^
../src/secp256k1-src/src/group.h:75:13: warning: unused function
'secp256k1_ge_globalz_set_table_gej' [-Wunused-function]
static void secp256k1_ge_globalz_set_table_gej(size_t len, secp256k1_ge ...
^
../src/secp256k1-src/src/group.h:78:13: warning: unused function
'secp256k1_ge_set_infinity' [-Wunused-function]
static void secp256k1_ge_set_infinity(secp256k1_ge *r);
^
../src/secp256k1-src/src/group.h:81:13: warning: unused function
'secp256k1_gej_set_infinity' [-Wunused-function]
static void secp256k1_gej_set_infinity(secp256k1_gej *r);
^
../src/secp256k1-src/src/group.h:84:13: warning: unused function
'secp256k1_gej_set_ge' [-Wunused-function]
static void secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:87:12: warning: unused function
'secp256k1_gej_eq_x_var' [-Wunused-function]
static int secp256k1_gej_eq_x_var(const secp256k1_fe *x, const secp256k1...
^
../src/secp256k1-src/src/group.h:90:13: warning: unused function
'secp256k1_gej_neg' [-Wunused-function]
static void secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:93:12: warning: unused function
'secp256k1_gej_is_infinity' [-Wunused-function]
static int secp256k1_gej_is_infinity(const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:96:12: warning: unused function
'secp256k1_gej_has_quad_y_var' [-Wunused-function]
static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:100:13: warning: unused function
'secp256k1_gej_double_nonzero' [-Wunused-function]
static void secp256k1_gej_double_nonzero(secp256k1_gej *r, const secp256...
^
../src/secp256k1-src/src/group.h:103:13: warning: unused function
'secp256k1_gej_double_var' [-Wunused-function]
static void secp256k1_gej_double_var(secp256k1_gej *r, const secp256k1_g...
^
../src/secp256k1-src/src/group.h:106:13: warning: unused function
'secp256k1_gej_add_var' [-Wunused-function]
static void secp256k1_gej_add_var(secp256k1_gej *r, const secp256k1_gej ...
^
../src/secp256k1-src/src/group.h:109:13: warning: unused function
'secp256k1_gej_add_ge' [-Wunused-function]
static void secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej *...
^
../src/secp256k1-src/src/group.h:114:13: warning: unused function
'secp256k1_gej_add_ge_var' [-Wunused-function]
static void secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_g...
^
../src/secp256k1-src/src/group.h:117:13: warning: unused function
'secp256k1_gej_add_zinv_var' [-Wunused-function]
static void secp256k1_gej_add_zinv_var(secp256k1_gej *r, const secp256k1...
^
../src/secp256k1-src/src/group.h:125:13: warning: unused function
'secp256k1_gej_clear' [-Wunused-function]
static void secp256k1_gej_clear(secp256k1_gej *r);
^
../src/secp256k1-src/src/group.h:128:13: warning: unused function
'secp256k1_ge_clear' [-Wunused-function]
static void secp256k1_ge_clear(secp256k1_ge *r);
^
../src/secp256k1-src/src/group.h:131:13: warning: unused function
'secp256k1_ge_to_storage' [-Wunused-function]
static void secp256k1_ge_to_storage(secp256k1_ge_storage *r, const secp2...
^
../src/secp256k1-src/src/group.h:134:13: warning: unused function
'secp256k1_ge_from_storage' [-Wunused-function]
static void secp256k1_ge_from_storage(secp256k1_ge *r, const secp256k1_g...
^
../src/secp256k1-src/src/group.h:137:13: warning: unused function
'secp256k1_ge_storage_cmov' [-Wunused-function]
static void secp256k1_ge_storage_cmov(secp256k1_ge_storage *r, const sec...
^
../src/secp256k1-src/src/group.h:140:13: warning: unused function
'secp256k1_gej_rescale' [-Wunused-function]
static void secp256k1_gej_rescale(secp256k1_gej *r, const secp256k1_fe *b);
^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:20:
../src/secp256k1-src/src/scalar_4x64_impl.h:83:12: warning: unused function
'secp256k1_scalar_add' [-Wunused-function]
static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_sca...
^
../src/secp256k1-src/src/scalar_4x64_impl.h:897:12: warning: unused function
'secp256k1_scalar_shr_int' [-Wunused-function]
static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n) {
^
In file included from ../src/privatekey.cc:4:
../src/secp256k1-src/src/scalar_impl.h:225:13: warning: unused function
'secp256k1_scalar_inverse_var' [-Wunused-function]
static void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp...
^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:20:
../src/secp256k1-src/src/scalar_4x64_impl.h:140:13: warning: unused function
'secp256k1_scalar_negate' [-Wunused-function]
static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1...
^
../src/secp256k1-src/src/scalar_4x64_impl.h:156:12: warning: unused function
'secp256k1_scalar_is_high' [-Wunused-function]
static int secp256k1_scalar_is_high(const secp256k1_scalar *a) {
^
../src/secp256k1-src/src/scalar_4x64_impl.h:168:12: warning: unused function
'secp256k1_scalar_cond_negate' [-Wunused-function]
static int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag) {
^
63 warnings generated.
CXX(target) Release/obj.target/secp256k1/src/publickey.o
CXX(target) Release/obj.target/secp256k1/src/signature.o
CXX(target) Release/obj.target/secp256k1/src/ecdsa.o
CXX(target) Release/obj.target/secp256k1/src/ecdh.o
CC(target) Release/obj.target/secp256k1/src/secp256k1-src/src/secp256k1.o
In file included from ../src/secp256k1-src/src/secp256k1.c:11:
../src/secp256k1-src/src/field_impl.h:266:13: warning: unused function
'secp256k1_fe_inv_all_var' [-Wunused-function]
static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_f...
^
In file included from ../src/secp256k1-src/src/secp256k1.c:13:
../src/secp256k1-src/src/group_impl.h:202:13: warning: unused function
'secp256k1_ge_set_infinity' [-Wunused-function]
static void secp256k1_ge_set_infinity(secp256k1_ge *r) {
^
../src/secp256k1-src/src/group_impl.h:691:12: warning: unused function
'secp256k1_gej_has_quad_y_var' [-Wunused-function]
static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a) {
^
../src/secp256k1-src/src/group_impl.h:272:12: warning: unused function
'secp256k1_gej_is_valid_var' [-Wunused-function]
static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
^
In file included from ../src/secp256k1-src/src/secp256k1.c:14:
../src/secp256k1-src/src/ecmult_impl.h:1135:12: warning: unused function
'secp256k1_ecmult_multi_var' [-Wunused-function]
static int secp256k1_ecmult_multi_var(const secp256k1_ecmult_context *ct...
^
../src/secp256k1-src/src/ecmult_impl.h:669:12: warning: unused function
'secp256k1_ecmult_strauss_batch_single' [-Wunused-function]
static int secp256k1_ecmult_strauss_batch_single(const secp256k1_ecmult_...
^
../src/secp256k1-src/src/ecmult_impl.h:1042:12: warning: unused function
'secp256k1_ecmult_pippenger_batch_single' [-Wunused-function]
static int secp256k1_ecmult_pippenger_batch_single(const secp256k1_ecmul...
^
7 warnings generated.
CC(target) Release/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_parsing.o
CC(target) Release/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_privatekey_parsing.o
SOLINK_MODULE(target) Release/secp256k1.node
Sounds like your node or npm installation is misconfigured. You might want to try uninstalling and reinstalling node.
Thank you for your reply @davidmurdoch
I have uninstalled node by deleting the files as explained in this link:
https://stackoverflow.com/questions/11177954/how-do-i-completely-uninstall-node-js-and-reinstall-from-beginning-mac-os-x
_To completely uninstall node + npm is to do the following:
go to /usr/local/lib and delete any node and node_modules
go to /usr/local/include and delete any node and node_modules directory
if you installed with brew install node, then run brew uninstall node in your terminal
check your Home directory for any local or lib or include folders, and delete any node or node_modules from there
go to /usr/local/bin and delete any node executable_
The I have reinstalled node v12.13 from the website:
https://nodejs.org/en/download/
Unfortunately I am still getting this weird errors (see compilation below)
Could you please assist.
Thank you very much.
:~ me$ node -v
v12.13.0
:~ me$ ganache-cli
-bash: ganache-cli: command not found
:~ me$ npm uninstall -g ganache-cli && npm install -g ganache-cli
removed 88 packages in 0.773s
/Users/me/.npm-global/bin/ganache-cli -> /Users/me/.npm-global/lib/node_modules/ganache-cli/cli.js
[email protected] install /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/keccak
npm run rebuild || echo "Keccak bindings compilation fail. Pure JS implementation will be used."
[email protected] rebuild /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/keccak
node-gyp rebuild
CXX(target) Release/obj.target/keccak/src/addon.o
../src/addon.cc:37:47: error: too few arguments to function call, single
argument 'context' was not specified
unsigned int rate = info[0]->IntegerValue();
~~~~~ ^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2609:3: note:
'IntegerValue' declared here
V8_WARN_UNUSED_RESULT Maybe
^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note:
expanded from macro 'V8_WARN_UNUSED_RESULT'
^
../src/addon.cc:38:51: error: too few arguments to function call, single
argument 'context' was not specified
unsigned int capacity = info[1]->IntegerValue();
~~~~~ ^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2609:3: note:
'IntegerValue' declared here
V8_WARN_UNUSED_RESULT Maybe
^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note:
expanded from macro 'V8_WARN_UNUSED_RESULT'
^
../src/addon.cc:56:48: error: too few arguments to function call, single
argument 'context' was not specified
unsigned char bits = info[0]->IntegerValue();
~~~~~ ^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2609:3: note:
'IntegerValue' declared here
V8_WARN_UNUSED_RESULT Maybe
^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note:
expanded from macro 'V8_WARN_UNUSED_RESULT'
^
../src/addon.cc:64:43: error: too few arguments to function call, single
argument 'context' was not specified
size_t length = info[0]->IntegerValue();
~~~~~ ^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2609:3: note:
'IntegerValue' declared here
V8_WARN_UNUSED_RESULT Maybe
^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note:
expanded from macro 'V8_WARN_UNUSED_RESULT'
^
../src/addon.cc:75:73: error: no matching member function for call to 'ToObject'
...to = Nan::ObjectWrap::Unwrap
~~~^~
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2576:44: note:
candidate function not viable: requires single argument 'context', but no
arguments were provided
V8_WARN_UNUSED_RESULT MaybeLocal
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/me/.npm/_logs/2019-10-22T10_33_24_737Z-debug.log
Keccak bindings compilation fail. Pure JS implementation will be used.
[email protected] install /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/secp256k1
npm run rebuild || echo "Secp256k1 bindings compilation fail. Pure JS implementation will be used."
[email protected] rebuild /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/secp256k1
node-gyp rebuild
CXX(target) Release/obj.target/secp256k1/src/addon.o
CXX(target) Release/obj.target/secp256k1/src/privatekey.o
../src/privatekey.cc:73:3: warning: ignoring return value of function declared
with 'warn_unused_result' attribute [-Wunused-result]
secp256k1_ec_privkey_negate(secp256k1ctx, &private_key[0]);
^~~~~~~ ~~~~~~~
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:10:
In file included from ../src/secp256k1-src/src/group.h:11:
../src/secp256k1-src/src/field.h:36:13: warning: unused function
'secp256k1_fe_normalize' [-Wunused-function]
static void secp256k1_fe_normalize(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:39:13: warning: unused function
'secp256k1_fe_normalize_weak' [-Wunused-function]
static void secp256k1_fe_normalize_weak(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:42:13: warning: unused function
'secp256k1_fe_normalize_var' [-Wunused-function]
static void secp256k1_fe_normalize_var(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:46:12: warning: unused function
'secp256k1_fe_normalizes_to_zero' [-Wunused-function]
static int secp256k1_fe_normalizes_to_zero(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:50:12: warning: unused function
'secp256k1_fe_normalizes_to_zero_var' [-Wunused-function]
static int secp256k1_fe_normalizes_to_zero_var(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:53:13: warning: unused function
'secp256k1_fe_set_int' [-Wunused-function]
static void secp256k1_fe_set_int(secp256k1_fe *r, int a);
^
../src/secp256k1-src/src/field.h:56:13: warning: unused function
'secp256k1_fe_clear' [-Wunused-function]
static void secp256k1_fe_clear(secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:59:12: warning: unused function
'secp256k1_fe_is_zero' [-Wunused-function]
static int secp256k1_fe_is_zero(const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:62:12: warning: unused function
'secp256k1_fe_is_odd' [-Wunused-function]
static int secp256k1_fe_is_odd(const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:65:12: warning: unused function
'secp256k1_fe_equal' [-Wunused-function]
static int secp256k1_fe_equal(const secp256k1_fe *a, const secp256k1_fe *b);
^
../src/secp256k1-src/src/field.h:68:12: warning: unused function
'secp256k1_fe_equal_var' [-Wunused-function]
static int secp256k1_fe_equal_var(const secp256k1_fe *a, const secp256k1_fe *b);
^
../src/secp256k1-src/src/field.h:71:12: warning: unused function
'secp256k1_fe_cmp_var' [-Wunused-function]
static int secp256k1_fe_cmp_var(const secp256k1_fe *a, const secp256k1_fe *b);
^
../src/secp256k1-src/src/field.h:74:12: warning: unused function
'secp256k1_fe_set_b32' [-Wunused-function]
static int secp256k1_fe_set_b32(secp256k1_fe *r, const unsigned char *a);
^
../src/secp256k1-src/src/field.h:77:13: warning: unused function
'secp256k1_fe_get_b32' [-Wunused-function]
static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:81:13: warning: unused function
'secp256k1_fe_negate' [-Wunused-function]
static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k1_fe *a, int m);
^
../src/secp256k1-src/src/field.h:85:13: warning: unused function
'secp256k1_fe_mul_int' [-Wunused-function]
static void secp256k1_fe_mul_int(secp256k1_fe *r, int a);
^
../src/secp256k1-src/src/field.h:88:13: warning: unused function
'secp256k1_fe_add' [-Wunused-function]
static void secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:92:13: warning: unused function
'secp256k1_fe_mul' [-Wunused-function]
static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, con...
^
../src/secp256k1-src/src/field.h:96:13: warning: unused function
'secp256k1_fe_sqr' [-Wunused-function]
static void secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:103:12: warning: unused function
'secp256k1_fe_sqrt' [-Wunused-function]
static int secp256k1_fe_sqrt(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:106:12: warning: unused function
'secp256k1_fe_is_quad_var' [-Wunused-function]
static int secp256k1_fe_is_quad_var(const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:110:13: warning: unused function
'secp256k1_fe_inv' [-Wunused-function]
static void secp256k1_fe_inv(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:113:13: warning: unused function
'secp256k1_fe_inv_var' [-Wunused-function]
static void secp256k1_fe_inv_var(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:118:13: warning: unused function
'secp256k1_fe_inv_all_var' [-Wunused-function]
static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_f...
^
../src/secp256k1-src/src/field.h:121:13: warning: unused function
'secp256k1_fe_to_storage' [-Wunused-function]
static void secp256k1_fe_to_storage(secp256k1_fe_storage *r, const secp2...
^
../src/secp256k1-src/src/field.h:124:13: warning: unused function
'secp256k1_fe_from_storage' [-Wunused-function]
static void secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_f...
^
../src/secp256k1-src/src/field.h:127:13: warning: unused function
'secp256k1_fe_storage_cmov' [-Wunused-function]
static void secp256k1_fe_storage_cmov(secp256k1_fe_storage *r, const sec...
^
../src/secp256k1-src/src/field.h:130:13: warning: unused function
'secp256k1_fe_cmov' [-Wunused-function]
static void secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe *a, int flag);
^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:10:
../src/secp256k1-src/src/group.h:44:13: warning: unused function
'secp256k1_ge_set_xy' [-Wunused-function]
static void secp256k1_ge_set_xy(secp256k1_ge *r, const secp256k1_fe *x, ...
^
../src/secp256k1-src/src/group.h:50:12: warning: unused function
'secp256k1_ge_set_xquad' [-Wunused-function]
static int secp256k1_ge_set_xquad(secp256k1_ge *r, const secp256k1_fe *x);
^
../src/secp256k1-src/src/group.h:54:12: warning: unused function
'secp256k1_ge_set_xo_var' [-Wunused-function]
static int secp256k1_ge_set_xo_var(secp256k1_ge *r, const secp256k1_fe *...
^
../src/secp256k1-src/src/group.h:57:12: warning: unused function
'secp256k1_ge_is_infinity' [-Wunused-function]
static int secp256k1_ge_is_infinity(const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:60:12: warning: unused function
'secp256k1_ge_is_valid_var' [-Wunused-function]
static int secp256k1_ge_is_valid_var(const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:62:13: warning: unused function
'secp256k1_ge_neg' [-Wunused-function]
static void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:65:13: warning: unused function
'secp256k1_ge_set_gej' [-Wunused-function]
static void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:68:13: warning: unused function
'secp256k1_ge_set_all_gej_var' [-Wunused-function]
static void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k...
^
../src/secp256k1-src/src/group.h:75:13: warning: unused function
'secp256k1_ge_globalz_set_table_gej' [-Wunused-function]
static void secp256k1_ge_globalz_set_table_gej(size_t len, secp256k1_ge ...
^
../src/secp256k1-src/src/group.h:78:13: warning: unused function
'secp256k1_ge_set_infinity' [-Wunused-function]
static void secp256k1_ge_set_infinity(secp256k1_ge *r);
^
../src/secp256k1-src/src/group.h:81:13: warning: unused function
'secp256k1_gej_set_infinity' [-Wunused-function]
static void secp256k1_gej_set_infinity(secp256k1_gej *r);
^
../src/secp256k1-src/src/group.h:84:13: warning: unused function
'secp256k1_gej_set_ge' [-Wunused-function]
static void secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:87:12: warning: unused function
'secp256k1_gej_eq_x_var' [-Wunused-function]
static int secp256k1_gej_eq_x_var(const secp256k1_fe *x, const secp256k1...
^
../src/secp256k1-src/src/group.h:90:13: warning: unused function
'secp256k1_gej_neg' [-Wunused-function]
static void secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:93:12: warning: unused function
'secp256k1_gej_is_infinity' [-Wunused-function]
static int secp256k1_gej_is_infinity(const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:96:12: warning: unused function
'secp256k1_gej_has_quad_y_var' [-Wunused-function]
static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:100:13: warning: unused function
'secp256k1_gej_double_nonzero' [-Wunused-function]
static void secp256k1_gej_double_nonzero(secp256k1_gej *r, const secp256...
^
../src/secp256k1-src/src/group.h:103:13: warning: unused function
'secp256k1_gej_double_var' [-Wunused-function]
static void secp256k1_gej_double_var(secp256k1_gej *r, const secp256k1_g...
^
../src/secp256k1-src/src/group.h:106:13: warning: unused function
'secp256k1_gej_add_var' [-Wunused-function]
static void secp256k1_gej_add_var(secp256k1_gej *r, const secp256k1_gej ...
^
../src/secp256k1-src/src/group.h:109:13: warning: unused function
'secp256k1_gej_add_ge' [-Wunused-function]
static void secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej *...
^
../src/secp256k1-src/src/group.h:114:13: warning: unused function
'secp256k1_gej_add_ge_var' [-Wunused-function]
static void secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_g...
^
../src/secp256k1-src/src/group.h:117:13: warning: unused function
'secp256k1_gej_add_zinv_var' [-Wunused-function]
static void secp256k1_gej_add_zinv_var(secp256k1_gej *r, const secp256k1...
^
../src/secp256k1-src/src/group.h:125:13: warning: unused function
'secp256k1_gej_clear' [-Wunused-function]
static void secp256k1_gej_clear(secp256k1_gej *r);
^
../src/secp256k1-src/src/group.h:128:13: warning: unused function
'secp256k1_ge_clear' [-Wunused-function]
static void secp256k1_ge_clear(secp256k1_ge *r);
^
../src/secp256k1-src/src/group.h:131:13: warning: unused function
'secp256k1_ge_to_storage' [-Wunused-function]
static void secp256k1_ge_to_storage(secp256k1_ge_storage *r, const secp2...
^
../src/secp256k1-src/src/group.h:134:13: warning: unused function
'secp256k1_ge_from_storage' [-Wunused-function]
static void secp256k1_ge_from_storage(secp256k1_ge *r, const secp256k1_g...
^
../src/secp256k1-src/src/group.h:137:13: warning: unused function
'secp256k1_ge_storage_cmov' [-Wunused-function]
static void secp256k1_ge_storage_cmov(secp256k1_ge_storage *r, const sec...
^
../src/secp256k1-src/src/group.h:140:13: warning: unused function
'secp256k1_gej_rescale' [-Wunused-function]
static void secp256k1_gej_rescale(secp256k1_gej *r, const secp256k1_fe *b);
^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:20:
../src/secp256k1-src/src/scalar_4x64_impl.h:83:12: warning: unused function
'secp256k1_scalar_add' [-Wunused-function]
static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_sca...
^
../src/secp256k1-src/src/scalar_4x64_impl.h:897:12: warning: unused function
'secp256k1_scalar_shr_int' [-Wunused-function]
static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n) {
^
In file included from ../src/privatekey.cc:4:
../src/secp256k1-src/src/scalar_impl.h:225:13: warning: unused function
'secp256k1_scalar_inverse_var' [-Wunused-function]
static void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp...
^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:20:
../src/secp256k1-src/src/scalar_4x64_impl.h:140:13: warning: unused function
'secp256k1_scalar_negate' [-Wunused-function]
static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1...
^
../src/secp256k1-src/src/scalar_4x64_impl.h:156:12: warning: unused function
'secp256k1_scalar_is_high' [-Wunused-function]
static int secp256k1_scalar_is_high(const secp256k1_scalar *a) {
^
../src/secp256k1-src/src/scalar_4x64_impl.h:168:12: warning: unused function
'secp256k1_scalar_cond_negate' [-Wunused-function]
static int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag) {
^
63 warnings generated.
CXX(target) Release/obj.target/secp256k1/src/publickey.o
CXX(target) Release/obj.target/secp256k1/src/signature.o
CXX(target) Release/obj.target/secp256k1/src/ecdsa.o
../src/ecdsa.cc:88:3: warning: ignoring return value of function declared with
'warn_unused_result' attribute [-Wunused-result]
obj->Set(info.GetIsolate()->GetCurrentContext(), Nan::New
^~ ~~~~~~~~~~~~~~~~~~~~~~~~~
../src/ecdsa.cc:89:3: warning: ignoring return value of function declared with
'warn_unused_result' attribute [-Wunused-result]
obj->Set(info.GetIsolate()->GetCurrentContext(), Nan::New
^~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
CXX(target) Release/obj.target/secp256k1/src/ecdh.o
CC(target) Release/obj.target/secp256k1/src/secp256k1-src/src/secp256k1.o
In file included from ../src/secp256k1-src/src/secp256k1.c:11:
../src/secp256k1-src/src/field_impl.h:266:13: warning: unused function
'secp256k1_fe_inv_all_var' [-Wunused-function]
static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_f...
^
In file included from ../src/secp256k1-src/src/secp256k1.c:13:
../src/secp256k1-src/src/group_impl.h:202:13: warning: unused function
'secp256k1_ge_set_infinity' [-Wunused-function]
static void secp256k1_ge_set_infinity(secp256k1_ge *r) {
^
../src/secp256k1-src/src/group_impl.h:691:12: warning: unused function
'secp256k1_gej_has_quad_y_var' [-Wunused-function]
static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a) {
^
../src/secp256k1-src/src/group_impl.h:272:12: warning: unused function
'secp256k1_gej_is_valid_var' [-Wunused-function]
static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
^
In file included from ../src/secp256k1-src/src/secp256k1.c:14:
../src/secp256k1-src/src/ecmult_impl.h:1135:12: warning: unused function
'secp256k1_ecmult_multi_var' [-Wunused-function]
static int secp256k1_ecmult_multi_var(const secp256k1_ecmult_context *ct...
^
../src/secp256k1-src/src/ecmult_impl.h:669:12: warning: unused function
'secp256k1_ecmult_strauss_batch_single' [-Wunused-function]
static int secp256k1_ecmult_strauss_batch_single(const secp256k1_ecmult_...
^
../src/secp256k1-src/src/ecmult_impl.h:1042:12: warning: unused function
'secp256k1_ecmult_pippenger_batch_single' [-Wunused-function]
static int secp256k1_ecmult_pippenger_batch_single(const secp256k1_ecmul...
^
7 warnings generated.
CC(target) Release/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_parsing.o
CC(target) Release/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_privatekey_parsing.o
SOLINK_MODULE(target) Release/secp256k1.node
Hi @davidmurdoch,
I have checked this forum thread which has a similar error message as I do:
https://github.com/aragon/aragon-cli/issues/328
Hence as recommended I looked at this solution:
https://github.com/nodejs/node-gyp/wiki/Updating-npm%27s-bundled-node-gyp
But I am getting the issues below:
:~ me$ npm explore npm -g -- npm install node-gyp@latest
npm audit fix to fix them, or npm audit for detailsnpm ERR! A complete log of this run can be found in:
npm ERR! /Users/me/.npm/_logs/2019-10-22T22_41_37_660Z-debug.log
Also see below a copy of the debug.log:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'audit', 'fix' ]
2 info using [email protected]
3 info using [email protected]
4 verbose config Skipping project config: /Users/me/.npmrc. (matches userconfig)
5 verbose npm-session be2f627538b60030
6 verbose stack Error: No package.json found: Cannot audit a project without a package.json
6 verbose stack at /usr/local/lib/node_modules/npm/lib/audit.js:164:19
6 verbose stack at tryCatcher (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
6 verbose stack at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:514:35)
6 verbose stack at Promise._settlePromise (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:574:18)
6 verbose stack at Promise._settlePromise0 (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:619:10)
6 verbose stack at Promise._settlePromises (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:699:18)
6 verbose stack at Promise._fulfill (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:643:18)
6 verbose stack at PromiseArray._resolve (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js:126:19)
6 verbose stack at PromiseArray._promiseFulfilled (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js:144:14)
6 verbose stack at PromiseArray._iterate (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js:114:31)
6 verbose stack at PromiseArray.init [as _init] (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js:78:10)
6 verbose stack at Promise._settlePromise (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:571:21)
6 verbose stack at Promise._settlePromise0 (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:619:10)
6 verbose stack at Promise._settlePromises (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:699:18)
6 verbose stack at Promise._fulfill (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:643:18)
6 verbose stack at PromiseArray._resolve (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js:126:19)
7 verbose cwd /Users/me
8 verbose Darwin 18.7.0
9 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "audit" "fix"
10 verbose node v12.13.0
11 verbose npm v6.12.0
12 error code EAUDITNOPJSON
13 error audit No package.json found: Cannot audit a project without a package.json
14 verbose exit [ 1, true ]
Hi @davidmurdoch ,
Here is another update to this long story.
I have upgraded to OS Catalina and I get the following error.
Should I create a new issue btw ok keep posting in here?
:~ me$ npm uninstall -g ganache-cli && npm install -g ganache-cli
removed 88 packages in 0.949s
/Users/me/.npm-global/bin/ganache-cli -> /Users/me/.npm-global/lib/node_modules/ganache-cli/cli.js
[email protected] install /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/keccak
npm run rebuild || echo "Keccak bindings compilation fail. Pure JS implementation will be used."
[email protected] rebuild /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/keccak
node-gyp rebuild
CXX(target) Release/obj.target/keccak/src/addon.o
../src/addon.cc:37:47: error: too few arguments to function call, single argument 'context' was
not specified
unsigned int rate = info[0]->IntegerValue();
~~~~~ ^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2609:3: note:
'IntegerValue' declared here
V8_WARN_UNUSED_RESULT Maybe
^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note:
expanded from macro 'V8_WARN_UNUSED_RESULT'
^
../src/addon.cc:38:51: error: too few arguments to function call, single argument 'context' was
not specified
unsigned int capacity = info[1]->IntegerValue();
~~~~~ ^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2609:3: note:
'IntegerValue' declared here
V8_WARN_UNUSED_RESULT Maybe
^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note:
expanded from macro 'V8_WARN_UNUSED_RESULT'
^
../src/addon.cc:56:48: error: too few arguments to function call, single argument 'context' was
not specified
unsigned char bits = info[0]->IntegerValue();
~~~~~ ^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2609:3: note:
'IntegerValue' declared here
V8_WARN_UNUSED_RESULT Maybe
^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note:
expanded from macro 'V8_WARN_UNUSED_RESULT'
^
../src/addon.cc:64:43: error: too few arguments to function call, single argument 'context' was
not specified
size_t length = info[0]->IntegerValue();
~~~~~ ^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2609:3: note:
'IntegerValue' declared here
V8_WARN_UNUSED_RESULT Maybe
^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note:
expanded from macro 'V8_WARN_UNUSED_RESULT'
^
../src/addon.cc:75:73: error: no matching member function for call to 'ToObject'
KeccakWrapper* to = Nan::ObjectWrap::Unwrap
~~~^~
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2576:44: note:
candidate function not viable: requires single argument 'context', but no arguments were
provided
V8_WARN_UNUSED_RESULT MaybeLocal
^
/Users/me/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2590:31: note:
candidate function not viable: requires single argument 'isolate', but no arguments were
provided
Local
^
5 errors generated.
make: * [Release/obj.target/keccak/src/addon.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:210:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 19.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/keccak
gyp ERR! node -v v12.13.0
gyp ERR! node-gyp -v v5.0.5
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! /Users/me/.npm/_logs/2019-10-23T03_16_38_910Z-debug.log
Keccak bindings compilation fail. Pure JS implementation will be used.
[email protected] install /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/secp256k1
npm run rebuild || echo "Secp256k1 bindings compilation fail. Pure JS implementation will be used."
[email protected] rebuild /Users/me/.npm-global/lib/node_modules/ganache-cli/node_modules/secp256k1
node-gyp rebuild
CXX(target) Release/obj.target/secp256k1/src/addon.o
CXX(target) Release/obj.target/secp256k1/src/privatekey.o
../src/privatekey.cc:73:3: warning: ignoring return value of function declared with
'warn_unused_result' attribute [-Wunused-result]
secp256k1_ec_privkey_negate(secp256k1ctx, &private_key[0]);
^~~~~~~ ~~~~~~~
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:10:
In file included from ../src/secp256k1-src/src/group.h:11:
../src/secp256k1-src/src/field.h:36:13: warning: unused function 'secp256k1_fe_normalize'
[-Wunused-function]
static void secp256k1_fe_normalize(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:39:13: warning: unused function 'secp256k1_fe_normalize_weak'
[-Wunused-function]
static void secp256k1_fe_normalize_weak(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:42:13: warning: unused function 'secp256k1_fe_normalize_var'
[-Wunused-function]
static void secp256k1_fe_normalize_var(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:46:12: warning: unused function
'secp256k1_fe_normalizes_to_zero' [-Wunused-function]
static int secp256k1_fe_normalizes_to_zero(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:50:12: warning: unused function
'secp256k1_fe_normalizes_to_zero_var' [-Wunused-function]
static int secp256k1_fe_normalizes_to_zero_var(secp256k1_fe *r);
^
../src/secp256k1-src/src/field.h:53:13: warning: unused function 'secp256k1_fe_set_int'
[-Wunused-function]
static void secp256k1_fe_set_int(secp256k1_fe *r, int a);
^
../src/secp256k1-src/src/field.h:56:13: warning: unused function 'secp256k1_fe_clear'
[-Wunused-function]
static void secp256k1_fe_clear(secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:59:12: warning: unused function 'secp256k1_fe_is_zero'
[-Wunused-function]
static int secp256k1_fe_is_zero(const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:62:12: warning: unused function 'secp256k1_fe_is_odd'
[-Wunused-function]
static int secp256k1_fe_is_odd(const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:65:12: warning: unused function 'secp256k1_fe_equal'
[-Wunused-function]
static int secp256k1_fe_equal(const secp256k1_fe *a, const secp256k1_fe *b);
^
../src/secp256k1-src/src/field.h:68:12: warning: unused function 'secp256k1_fe_equal_var'
[-Wunused-function]
static int secp256k1_fe_equal_var(const secp256k1_fe *a, const secp256k1_fe *b);
^
../src/secp256k1-src/src/field.h:71:12: warning: unused function 'secp256k1_fe_cmp_var'
[-Wunused-function]
static int secp256k1_fe_cmp_var(const secp256k1_fe *a, const secp256k1_fe *b);
^
../src/secp256k1-src/src/field.h:74:12: warning: unused function 'secp256k1_fe_set_b32'
[-Wunused-function]
static int secp256k1_fe_set_b32(secp256k1_fe *r, const unsigned char *a);
^
../src/secp256k1-src/src/field.h:77:13: warning: unused function 'secp256k1_fe_get_b32'
[-Wunused-function]
static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:81:13: warning: unused function 'secp256k1_fe_negate'
[-Wunused-function]
static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k1_fe *a, int m);
^
../src/secp256k1-src/src/field.h:85:13: warning: unused function 'secp256k1_fe_mul_int'
[-Wunused-function]
static void secp256k1_fe_mul_int(secp256k1_fe *r, int a);
^
../src/secp256k1-src/src/field.h:88:13: warning: unused function 'secp256k1_fe_add'
[-Wunused-function]
static void secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:92:13: warning: unused function 'secp256k1_fe_mul'
[-Wunused-function]
static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, const secp256k1_fe ...
^
../src/secp256k1-src/src/field.h:96:13: warning: unused function 'secp256k1_fe_sqr'
[-Wunused-function]
static void secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:103:12: warning: unused function 'secp256k1_fe_sqrt'
[-Wunused-function]
static int secp256k1_fe_sqrt(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:106:12: warning: unused function 'secp256k1_fe_is_quad_var'
[-Wunused-function]
static int secp256k1_fe_is_quad_var(const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:110:13: warning: unused function 'secp256k1_fe_inv'
[-Wunused-function]
static void secp256k1_fe_inv(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:113:13: warning: unused function 'secp256k1_fe_inv_var'
[-Wunused-function]
static void secp256k1_fe_inv_var(secp256k1_fe *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:118:13: warning: unused function 'secp256k1_fe_inv_all_var'
[-Wunused-function]
static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_fe *a, size_t len);
^
../src/secp256k1-src/src/field.h:121:13: warning: unused function 'secp256k1_fe_to_storage'
[-Wunused-function]
static void secp256k1_fe_to_storage(secp256k1_fe_storage *r, const secp256k1_fe *a);
^
../src/secp256k1-src/src/field.h:124:13: warning: unused function 'secp256k1_fe_from_storage'
[-Wunused-function]
static void secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_fe_storage *a);
^
../src/secp256k1-src/src/field.h:127:13: warning: unused function 'secp256k1_fe_storage_cmov'
[-Wunused-function]
static void secp256k1_fe_storage_cmov(secp256k1_fe_storage *r, const secp256k1_fe_storag...
^
../src/secp256k1-src/src/field.h:130:13: warning: unused function 'secp256k1_fe_cmov'
[-Wunused-function]
static void secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe *a, int flag);
^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:10:
../src/secp256k1-src/src/group.h:44:13: warning: unused function 'secp256k1_ge_set_xy'
[-Wunused-function]
static void secp256k1_ge_set_xy(secp256k1_ge *r, const secp256k1_fe *x, const secp256k1_fe *y);
^
../src/secp256k1-src/src/group.h:50:12: warning: unused function 'secp256k1_ge_set_xquad'
[-Wunused-function]
static int secp256k1_ge_set_xquad(secp256k1_ge *r, const secp256k1_fe *x);
^
../src/secp256k1-src/src/group.h:54:12: warning: unused function 'secp256k1_ge_set_xo_var'
[-Wunused-function]
static int secp256k1_ge_set_xo_var(secp256k1_ge *r, const secp256k1_fe *x, int odd);
^
../src/secp256k1-src/src/group.h:57:12: warning: unused function 'secp256k1_ge_is_infinity'
[-Wunused-function]
static int secp256k1_ge_is_infinity(const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:60:12: warning: unused function 'secp256k1_ge_is_valid_var'
[-Wunused-function]
static int secp256k1_ge_is_valid_var(const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:62:13: warning: unused function 'secp256k1_ge_neg'
[-Wunused-function]
static void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:65:13: warning: unused function 'secp256k1_ge_set_gej'
[-Wunused-function]
static void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:68:13: warning: unused function 'secp256k1_ge_set_all_gej_var'
[-Wunused-function]
static void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k1_gej *a, size_t len);
^
../src/secp256k1-src/src/group.h:75:13: warning: unused function
'secp256k1_ge_globalz_set_table_gej' [-Wunused-function]
static void secp256k1_ge_globalz_set_table_gej(size_t len, secp256k1_ge *r, secp256k1_fe ...
^
../src/secp256k1-src/src/group.h:78:13: warning: unused function 'secp256k1_ge_set_infinity'
[-Wunused-function]
static void secp256k1_ge_set_infinity(secp256k1_ge *r);
^
../src/secp256k1-src/src/group.h:81:13: warning: unused function 'secp256k1_gej_set_infinity'
[-Wunused-function]
static void secp256k1_gej_set_infinity(secp256k1_gej *r);
^
../src/secp256k1-src/src/group.h:84:13: warning: unused function 'secp256k1_gej_set_ge'
[-Wunused-function]
static void secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:87:12: warning: unused function 'secp256k1_gej_eq_x_var'
[-Wunused-function]
static int secp256k1_gej_eq_x_var(const secp256k1_fe *x, const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:90:13: warning: unused function 'secp256k1_gej_neg'
[-Wunused-function]
static void secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:93:12: warning: unused function 'secp256k1_gej_is_infinity'
[-Wunused-function]
static int secp256k1_gej_is_infinity(const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:96:12: warning: unused function 'secp256k1_gej_has_quad_y_var'
[-Wunused-function]
static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a);
^
../src/secp256k1-src/src/group.h:100:13: warning: unused function 'secp256k1_gej_double_nonzero'
[-Wunused-function]
static void secp256k1_gej_double_nonzero(secp256k1_gej *r, const secp256k1_gej *a, secp25...
^
../src/secp256k1-src/src/group.h:103:13: warning: unused function 'secp256k1_gej_double_var'
[-Wunused-function]
static void secp256k1_gej_double_var(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_...
^
../src/secp256k1-src/src/group.h:106:13: warning: unused function 'secp256k1_gej_add_var'
[-Wunused-function]
static void secp256k1_gej_add_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256...
^
../src/secp256k1-src/src/group.h:109:13: warning: unused function 'secp256k1_gej_add_ge'
[-Wunused-function]
static void secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej *a, const secp256k...
^
../src/secp256k1-src/src/group.h:114:13: warning: unused function 'secp256k1_gej_add_ge_var'
[-Wunused-function]
static void secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_gej *a, const secp...
^
../src/secp256k1-src/src/group.h:117:13: warning: unused function 'secp256k1_gej_add_zinv_var'
[-Wunused-function]
static void secp256k1_gej_add_zinv_var(secp256k1_gej *r, const secp256k1_gej *a, const se...
^
../src/secp256k1-src/src/group.h:125:13: warning: unused function 'secp256k1_gej_clear'
[-Wunused-function]
static void secp256k1_gej_clear(secp256k1_gej *r);
^
../src/secp256k1-src/src/group.h:128:13: warning: unused function 'secp256k1_ge_clear'
[-Wunused-function]
static void secp256k1_ge_clear(secp256k1_ge *r);
^
../src/secp256k1-src/src/group.h:131:13: warning: unused function 'secp256k1_ge_to_storage'
[-Wunused-function]
static void secp256k1_ge_to_storage(secp256k1_ge_storage *r, const secp256k1_ge *a);
^
../src/secp256k1-src/src/group.h:134:13: warning: unused function 'secp256k1_ge_from_storage'
[-Wunused-function]
static void secp256k1_ge_from_storage(secp256k1_ge *r, const secp256k1_ge_storage *a);
^
../src/secp256k1-src/src/group.h:137:13: warning: unused function 'secp256k1_ge_storage_cmov'
[-Wunused-function]
static void secp256k1_ge_storage_cmov(secp256k1_ge_storage *r, const secp256k1_ge_storag...
^
../src/secp256k1-src/src/group.h:140:13: warning: unused function 'secp256k1_gej_rescale'
[-Wunused-function]
static void secp256k1_gej_rescale(secp256k1_gej *r, const secp256k1_fe *b);
^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:20:
../src/secp256k1-src/src/scalar_4x64_impl.h:83:12: warning: unused function
'secp256k1_scalar_add' [-Wunused-function]
static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar *a, const sec...
^
../src/secp256k1-src/src/scalar_4x64_impl.h:897:12: warning: unused function
'secp256k1_scalar_shr_int' [-Wunused-function]
static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n) {
^
In file included from ../src/privatekey.cc:4:
../src/secp256k1-src/src/scalar_impl.h:225:13: warning: unused function
'secp256k1_scalar_inverse_var' [-Wunused-function]
static void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar *x) {
^
In file included from ../src/privatekey.cc:4:
In file included from ../src/secp256k1-src/src/scalar_impl.h:20:
../src/secp256k1-src/src/scalar_4x64_impl.h:140:13: warning: unused function
'secp256k1_scalar_negate' [-Wunused-function]
static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar *a) {
^
../src/secp256k1-src/src/scalar_4x64_impl.h:156:12: warning: unused function
'secp256k1_scalar_is_high' [-Wunused-function]
static int secp256k1_scalar_is_high(const secp256k1_scalar *a) {
^
../src/secp256k1-src/src/scalar_4x64_impl.h:168:12: warning: unused function
'secp256k1_scalar_cond_negate' [-Wunused-function]
static int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag) {
^
63 warnings generated.
CXX(target) Release/obj.target/secp256k1/src/publickey.o
CXX(target) Release/obj.target/secp256k1/src/signature.o
CXX(target) Release/obj.target/secp256k1/src/ecdsa.o
../src/ecdsa.cc:88:3: warning: ignoring return value of function declared with
'warn_unused_result' attribute [-Wunused-result]
obj->Set(info.GetIsolate()->GetCurrentContext(), Nan::New
^~ ~~~~~~~~~~~~~~~~~~~~~~~~~
../src/ecdsa.cc:89:3: warning: ignoring return value of function declared with
'warn_unused_result' attribute [-Wunused-result]
obj->Set(info.GetIsolate()->GetCurrentContext(), Nan::New
^~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
CXX(target) Release/obj.target/secp256k1/src/ecdh.o
CC(target) Release/obj.target/secp256k1/src/secp256k1-src/src/secp256k1.o
In file included from ../src/secp256k1-src/src/secp256k1.c:11:
../src/secp256k1-src/src/field_impl.h:266:13: warning: unused function 'secp256k1_fe_inv_all_var'
[-Wunused-function]
static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_fe *a, size_t len) {
^
In file included from ../src/secp256k1-src/src/secp256k1.c:13:
../src/secp256k1-src/src/group_impl.h:202:13: warning: unused function
'secp256k1_ge_set_infinity' [-Wunused-function]
static void secp256k1_ge_set_infinity(secp256k1_ge *r) {
^
../src/secp256k1-src/src/group_impl.h:691:12: warning: unused function
'secp256k1_gej_has_quad_y_var' [-Wunused-function]
static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a) {
^
../src/secp256k1-src/src/group_impl.h:272:12: warning: unused function
'secp256k1_gej_is_valid_var' [-Wunused-function]
static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) {
^
In file included from ../src/secp256k1-src/src/secp256k1.c:14:
../src/secp256k1-src/src/ecmult_impl.h:1135:12: warning: unused function
'secp256k1_ecmult_multi_var' [-Wunused-function]
static int secp256k1_ecmult_multi_var(const secp256k1_ecmult_context *ctx, secp256k1_scra...
^
../src/secp256k1-src/src/ecmult_impl.h:669:12: warning: unused function
'secp256k1_ecmult_strauss_batch_single' [-Wunused-function]
static int secp256k1_ecmult_strauss_batch_single(const secp256k1_ecmult_context *actx, se...
^
../src/secp256k1-src/src/ecmult_impl.h:1042:12: warning: unused function
'secp256k1_ecmult_pippenger_batch_single' [-Wunused-function]
static int secp256k1_ecmult_pippenger_batch_single(const secp256k1_ecmult_context *actx, ...
^
7 warnings generated.
CC(target) Release/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_parsing.o
CC(target) Release/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_privatekey_parsing.o
SOLINK_MODULE(target) Release/secp256k1.node
:~ me$ ganache -cli
-bash: ganache: command not found
Hi @nicholasjpaterno and @davidmurdoch,
Just to let you know that the problem finally got resolved with the precious help of the node.js.
If you're interested in the solution, here is the thread: nodejs/help#2312
Best regards.
I faced the same problem and solve this issue following the guides:
1/ https://github.com/nodejs/help/issues/2312
2/ https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally#manually-change-npms-default-directory
Most helpful comment
Thank you so much for the assistance @davidmurdoch 馃憤
It all works well now !!
You guys are legend 馃