Git Product home page Git Product logo

node-multi-hashing's Introduction

node-multi-hashing

GitHub Workflow Status npm

Cryptocurrency hashing functions for node.js.

Algorithms

Supported algorithms: quark, x11, x13, x16r, x16rv2, nist5, scrypt, scryptn, scryptjane, keccak, bcrypt, skein, groestl, blake, fugue, qubit, hefty1, shavite3, cryptonight, boolberry, sha256d, lbry, and more!

Usage

Install

npm install multi-hashing

Example usage:

var multiHashing = require('multi-hashing');

var algorithms = ['quark', 'x11', 'scrypt', 'scryptn', 'keccak', 'bcrypt', 'skein', 'blake'];

var data = new Buffer("7000000001e980924e4e1109230383e66d62945ff8e749903bea4336755c00000000000051928aff1b4d72416173a8c3948159a09a73ac3bb556aa6bfbcad1a85da7f4c1d13350531e24031b939b9e2b", "hex");

var hashedData = algorithms.map(function(algo){
    return multiHashing[algo](data);
});


console.log(hashedData);
//<Buffer 0b de 16 ef 2d 92 e4 35 65 c6 6c d8 92 d9 66 b4 3d 65 ..... >

Credits

  • NSA and NIST for creation or sponsoring creation of SHA2 and SHA3 algos
  • Keccak - Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche
  • Skein - Bruce Schneier, Stefan Lucks, Niels Ferguson, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon Callas and Jesse Walker.
  • BLAKE - Jean-Philippe Aumasson, Luca Henzen, Willi Meier, and Raphael C.-W. Phan
  • Grøstl - Praveen Gauravaram, Lars Knudsen, Krystian Matusiewicz, Florian Mendel, Christian Rechberger, Martin Schläffer, and Søren S. Thomsen
  • JH - Hongjun Wu
  • Fugue - Shai Halevi, William E. Hall, and Charanjit S. Jutla
  • scrypt - Colin Percival
  • bcrypt - Niels Provos and David Mazières
  • X11, Hefty1, Quark creators (they just mixed together a bunch of the above algos)

node-multi-hashing's People

Contributors

aciddude avatar altpooler avatar bitbandi avatar codebling avatar darrenturn90 avatar devnull-ed avatar earlz avatar epipenau avatar floodyberry avatar frozennova avatar hackmod avatar hashunlimited avatar hauptmedia avatar imharrywu avatar lucasjones avatar metalicjames avatar nmathewson avatar ohac avatar sammy007 avatar schernykh avatar semantic-release-bot avatar stackout avatar vikasg7 avatar vtnerd avatar zone117x avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

node-multi-hashing's Issues

Failed to build multihashing with npm > 9.11.2

I can get this to build with npm 9.11.2, but anything newer (including the newest LTS - 12.18.1) will fail.

A few errors I noticed during the build:

../multihashing.cc:128:45: error: no matching function for call to ‘v8::Value::ToObject()’
128 | Local target = args[0]->ToObject();
../multihashing.cc:133:47: error: no matching function for call to ‘v8::Value::Uint32Value()’
133 | unsigned int nValue = args[1]->Uint32Value();
../multihashing.cc:134:47: error: no matching function for call to ‘v8::Value::Uint32Value()’
134 | unsigned int rValue = args[2]->Uint32Value();

The output at the end:
make: *** [multihashing.target.mk:159: Release/obj.target/multihashing/multihashing.o] Error 1
make: Leaving directory '/home/tnt/nomp/node_modules/multi-hashing/build'
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/home/tnt/.nvm/versions/node/v12.18.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 5.4.0-39-generic
gyp ERR! command "/home/tnt/.nvm/versions/node/v12.18.1/bin/node" "/home/tnt/.nvm/versions/node/v12.18.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/tnt/nomp/node_modules/multi-hashing
gyp ERR! node -v v12.18.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Unfortunately, I don't have the skills to fix this (update this to be compatible with a newer node version) myself. This looks like the newer V8 engine has deprecated some methods that make this code no longer work.

Any chance someone smarter than me can figure this out?

Hi, I am having an issue with performing a NPM update that is looking for the multi-hashing

root@kaspanode:/home/kaspa/ErgoStratumServer# npm update
npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t git://github.com/zone117x/node-multi-hashing.git
npm ERR!
npm ERR! fatal: unable to connect to github.com:
npm ERR! github.com[0: 192.30.255.113]: errno=Connection timed out
npm ERR!
npm ERR!
npm ERR! exited with error code: 128

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-09-23T15_31_30_316Z-debug.log
root@kaspanode:/home/kaspa/ErgoStratumServer# sudo npm update
npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t git://github.com/zone117x/node-multi-hashing.git
npm ERR!
npm ERR! fatal: unable to connect to github.com:
npm ERR! github.com[0: 192.30.255.113]: errno=Connection timed out
npm ERR!
npm ERR!
npm ERR! exited with error code: 128

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-09-23T15_38_34_252Z-debug.log

[help] Could someone run this file for me

I'm having trouble ( #31 ) building this module :'(

Could someone run this little script (untested) and send me the answer

var mh = require('multi-hashing');
 
var hashs = ["quark", "x11", "scrypt", "scryptn", "scryptjane", "keccak", "bcrypt", "skein", "groestl", "groestlmyriad", "blake", "fugue", "qubit", "hefty1", "shavite3", "cryptonight", "x13", "boolberry", "nist5", "sha1", "x15", "fresh"];
var hashsLength = hashs.length;
 
var input = new Buffer("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eget ligula eu lectus lobortis condimentum. Aliquam nonummy auctor massa. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla at risus. Quisque purus magna, auctor et, sagittis ac, posuere eu, lectus. Nam mattis, felis ut adipiscing.");
 
for (var i = 0; i < hashsLength; i++) {
  var hash = hashs[i];
  if(hash=="scrypt") {
    console.log(hash + ": " + (mh[hash](input, 1, 1)).toString());
  } else if(hash=="scryptn") {
    console.log(hash + ": " + (mh[hash](input, 1)).toString());
  } else if(hash=="scryptjane") {
    console.log(hash + ": " + (mh[hash](input, 1, 1, 1, 1)).toString());
  } else if(hash=="boolberry") {
    console.log(hash + ": " + (mh[hash](input, input, 1)).toString());
  } else if(hash=="cryptonight") {
    console.log(hash + ": " + (mh[hash](input, false)).toString());
    console.log(hash + " (fast): " + (mh[hash](input, true)).toString());
  } else {
    console.log(hash + ": " + (mh[hash](input)).toString());
  }
}

thanks in advance !

npm install error

Hello, i checked all opened and closed issues, but did not found my errors.
ssl libs, dev tools, redis - all installed. But anyway. May be i am doing something wrong. can someone help me please?

npm debug log:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'install',
1 verbose cli   'multi-hashing' ]
2 info using [email protected]
3 info using [email protected]
4 verbose config Skipping project config: /root/.npmrc. (matches userconfig)
5 silly cache add args [ 'multi-hashing', null ]
6 verbose cache add spec multi-hashing
7 silly cache add parsed spec { raw: 'multi-hashing',
7 silly cache add   scope: null,
7 silly cache add   name: 'multi-hashing',
7 silly cache add   rawSpec: '',
7 silly cache add   spec: '*',
7 silly cache add   type: 'range' }
8 verbose addNamed multi-hashing@*
9 silly addNamed semver.valid null
10 silly addNamed semver.validRange *
11 silly addNameRange { name: 'multi-hashing', range: '*', hasData: false }
12 silly mapToRegistry name multi-hashing
13 silly mapToRegistry using default registry
14 silly mapToRegistry registry https://registry.npmjs.org/
15 silly mapToRegistry uri https://registry.npmjs.org/multi-hashing
16 verbose addNameRange registry:https://registry.npmjs.org/multi-hashing not in flight; fetching
17 verbose request uri https://registry.npmjs.org/multi-hashing
18 verbose request no auth needed
19 info attempt registry request try #1 at 08:22:37
20 verbose request id 63861467b9786a5d
21 verbose etag "BYDCBH15FOGZZUUL7JVZD9Z1G"
22 http request GET https://registry.npmjs.org/multi-hashing
23 http 304 https://registry.npmjs.org/multi-hashing
24 silly get cb [ 304,
24 silly get   { date: 'Wed, 22 Apr 2015 12:22:37 GMT',
24 silly get     server: 'Apache',
24 silly get     via: '1.1 varnish',
24 silly get     'last-modified': 'Wed, 22 Apr 2015 12:22:37 GMT',
24 silly get     'cache-control': 'max-age=60',
24 silly get     etag: '"BYDCBH15FOGZZUUL7JVZD9Z1G"',
24 silly get     age: '0',
24 silly get     'x-served-by': 'cache-lhr6334-LHR',
24 silly get     'x-cache': 'MISS',
24 silly get     'x-cache-hits': '0',
24 silly get     'x-timer': 'S1429705357.177739,VS0,VE645',
24 silly get     vary: 'Accept',
24 silly get     'content-length': '0',
24 silly get     'keep-alive': 'timeout=10, max=50',
24 silly get     connection: 'Keep-Alive' } ]
25 verbose etag https://registry.npmjs.org/multi-hashing from cache
26 verbose get saving multi-hashing to /root/.npm/registry.npmjs.org/multi-hashing/.cache.json
27 silly addNameRange number 2 { name: 'multi-hashing', range: '*', hasData: true }
28 silly addNameRange versions [ 'multi-hashing', [ '0.0.1', '0.0.2', '0.0.3', '0.0.4' ] ]
29 verbose addNamed [email protected]
30 silly addNamed semver.valid 0.0.4
31 silly addNamed semver.validRange 0.0.4
32 silly cache afterAdd [email protected]
33 verbose afterAdd /root/.npm/multi-hashing/0.0.4/package/package.json not in flight; writing
34 verbose afterAdd /root/.npm/multi-hashing/0.0.4/package/package.json written
35 silly install resolved [ { name: 'multi-hashing',
35 silly install resolved     version: '0.0.4',
35 silly install resolved     main: 'multihashing',
35 silly install resolved     author: { name: 'Matthew Little', email: '[email protected]' },
35 silly install resolved     repository:
35 silly install resolved      { type: 'git',
35 silly install resolved        url: 'https://github.com/zone117x/node-multi-hashing.git' },
35 silly install resolved     dependencies: { bindings: '*' },
35 silly install resolved     keywords:
35 silly install resolved      [ 'scrypt',
35 silly install resolved        'scryptjane',
35 silly install resolved        'script-n',
35 silly install resolved        'x11',
35 silly install resolved        'quark',
35 silly install resolved        'keccak_hash',
35 silly install resolved        'skein',
35 silly install resolved        'bcrypt',
35 silly install resolved        'keccak',
35 silly install resolved        'blake',
35 silly install resolved        'shavite',
35 silly install resolved        'fugue' ],
35 silly install resolved     scripts: { install: 'node-gyp rebuild' },
35 silly install resolved     gypfile: true,
35 silly install resolved     description: 'node-multi-hashing\r ===============',
35 silly install resolved     bugs: { url: 'https://github.com/zone117x/node-multi-hashing/issues' },
35 silly install resolved     homepage: 'https://github.com/zone117x/node-multi-hashing',
35 silly install resolved     _id: '[email protected]',
35 silly install resolved     dist:
35 silly install resolved      { shasum: '4cf12dd281b7ca71ebe1966861f84fefa36c2cee',
35 silly install resolved        tarball: 'http://registry.npmjs.org/multi-hashing/-/multi-hashing-0.0.4.tgz' },
35 silly install resolved     _from: 'multi-hashing@*',
35 silly install resolved     _npmVersion: '1.4.4',
35 silly install resolved     _npmUser: { name: 'zone117x', email: '[email protected]' },
35 silly install resolved     maintainers: [ [Object] ],
35 silly install resolved     directories: {},
35 silly install resolved     _shasum: '4cf12dd281b7ca71ebe1966861f84fefa36c2cee',
35 silly install resolved     _resolved: 'https://registry.npmjs.org/multi-hashing/-/multi-hashing-0.0.4.tgz',
35 silly install resolved     readme: 'ERROR: No README data found!' } ]
36 info install [email protected] into /root
37 info installOne [email protected]
38 verbose installOne of multi-hashing to /root not in flight; installing
39 verbose lock using /root/.npm/_locks/multi-hashing-b177b171522391ad.lock for /root/node_modules/multi-hashing
40 silly install write writing multi-hashing 0.0.4 to /root/node_modules/multi-hashing
41 silly cache addNamed cb [email protected]
42 verbose unbuild node_modules/multi-hashing
43 silly gentlyRm /root/node_modules/multi-hashing is being purged from base /root
44 verbose gentlyRm don't care about contents; nuking /root/node_modules/multi-hashing
45 verbose tar unpack /root/.npm/multi-hashing/0.0.4/package.tgz
46 verbose tar unpacking to /root/node_modules/multi-hashing
47 silly gentlyRm /root/node_modules/multi-hashing is being purged
48 verbose gentlyRm don't care about contents; nuking /root/node_modules/multi-hashing
49 silly gunzTarPerm modes [ '755', '644' ]
50 silly gunzTarPerm extractEntry package.json
51 silly gunzTarPerm extractEntry README.md
52 silly gunzTarPerm extractEntry index.js
53 silly gunzTarPerm extractEntry binding.gyp
54 silly gunzTarPerm extractEntry x11.h
55 silly gunzTarPerm extractEntry keccak.c
56 silly gunzTarPerm extractEntry keccak.h
57 silly gunzTarPerm extractEntry multihashing.cc
58 silly gunzTarPerm extractEntry bcrypt.h
59 silly gunzTarPerm extractEntry quark.c
60 silly gunzTarPerm extractEntry quark.h
61 silly gunzTarPerm extractEntry scrypt.c
62 silly gunzTarPerm extractEntry bcrypt.c
63 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-mix_salsa-sse2.h
64 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-chacha.h
65 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-hash_keccak.h
66 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-hash_sha256.h
67 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-mix_chacha-avx.h
68 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-mix_chacha-sse2.h
69 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-mix_chacha-ssse3.h
70 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-mix_chacha.h
71 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-mix_salsa-avx.h
72 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-hash.h
73 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-mix_salsa.h
74 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-pbkdf2.h
75 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-portable-x86.h
76 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-portable.h
77 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-romix-basic.h
78 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-romix-template.h
79 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-romix.h
80 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-salsa.h
81 silly gunzTarPerm extractEntry scryptjane/scrypt-jane-test-vectors.h
82 silly gunzTarPerm extractEntry scryptjane.c
83 silly gunzTarPerm extractEntry scryptjane.h
84 silly gunzTarPerm extractEntry scryptn.c
85 silly gunzTarPerm extractEntry scryptn.h
86 silly gunzTarPerm extractEntry sha3/sph_blake.h
87 silly gunzTarPerm extractEntry sha3/aes_helper.c
88 silly gunzTarPerm extractEntry sha3/bmw.c
89 silly gunzTarPerm extractEntry sha3/cubehash.c
90 silly gunzTarPerm extractEntry sha3/echo.c
91 silly gunzTarPerm extractEntry sha3/groestl.c
92 silly gunzTarPerm extractEntry sha3/jh.c
93 silly gunzTarPerm extractEntry sha3/keccak.c
94 silly gunzTarPerm extractEntry sha3/luffa.c
95 silly gunzTarPerm extractEntry sha3/shavite.c
96 silly gunzTarPerm extractEntry sha3/simd.c
97 silly gunzTarPerm extractEntry sha3/skein.c
98 silly gunzTarPerm extractEntry sha3/blake.c
99 silly gunzTarPerm extractEntry sha3/sph_bmw.h
100 silly gunzTarPerm extractEntry sha3/sph_cubehash.h
101 silly gunzTarPerm extractEntry sha3/sph_echo.h
102 silly gunzTarPerm extractEntry sha3/sph_groestl.h
103 silly gunzTarPerm extractEntry sha3/sph_jh.h
104 silly gunzTarPerm extractEntry sha3/sph_keccak.h
105 silly gunzTarPerm extractEntry sha3/sph_luffa.h
106 silly gunzTarPerm extractEntry sha3/sph_shavite.h
107 silly gunzTarPerm extractEntry sha3/sph_simd.h
108 silly gunzTarPerm extractEntry sha3/sph_skein.h
109 silly gunzTarPerm extractEntry sha3/sph_types.h
110 silly gunzTarPerm extractEntry skein.c
111 silly gunzTarPerm extractEntry skein.h
112 silly gunzTarPerm extractEntry stdint.h
113 silly gunzTarPerm extractEntry x11.c
114 silly gunzTarPerm extractEntry scrypt.h
115 info preinstall [email protected]
116 silly prepareForInstallMany adding bindings@* from multi-hashing dependencies
117 silly cache add args [ 'bindings@*', null ]
118 verbose cache add spec bindings@*
119 silly cache add parsed spec { raw: 'bindings@*',
119 silly cache add   scope: null,
119 silly cache add   name: 'bindings',
119 silly cache add   rawSpec: '*',
119 silly cache add   spec: '*',
119 silly cache add   type: 'range' }
120 verbose addNamed bindings@*
121 silly addNamed semver.valid null
122 silly addNamed semver.validRange *
123 silly addNameRange { name: 'bindings', range: '*', hasData: false }
124 silly mapToRegistry name bindings
125 silly mapToRegistry using default registry
126 silly mapToRegistry registry https://registry.npmjs.org/
127 silly mapToRegistry uri https://registry.npmjs.org/bindings
128 verbose addNameRange registry:https://registry.npmjs.org/bindings not in flight; fetching
129 verbose request uri https://registry.npmjs.org/bindings
130 verbose request no auth needed
131 info attempt registry request try #1 at 08:22:38
132 verbose etag "5997G8NY1OJEMZ1HNHL7VBX5J"
133 http request GET https://registry.npmjs.org/bindings
134 http 304 https://registry.npmjs.org/bindings
135 silly get cb [ 304,
135 silly get   { date: 'Wed, 22 Apr 2015 12:22:38 GMT',
135 silly get     server: 'Apache',
135 silly get     via: '1.1 varnish',
135 silly get     'last-modified': 'Wed, 22 Apr 2015 12:22:38 GMT',
135 silly get     'cache-control': 'max-age=60',
135 silly get     etag: '"5997G8NY1OJEMZ1HNHL7VBX5J"',
135 silly get     age: '49',
135 silly get     'x-served-by': 'cache-lhr6333-LHR',
135 silly get     'x-cache': 'HIT',
135 silly get     'x-cache-hits': '1',
135 silly get     'x-timer': 'S1429705358.251811,VS0,VE1',
135 silly get     vary: 'Accept',
135 silly get     'content-length': '0',
135 silly get     'keep-alive': 'timeout=10, max=50',
135 silly get     connection: 'Keep-Alive' } ]
136 verbose etag https://registry.npmjs.org/bindings from cache
137 verbose get saving bindings to /root/.npm/registry.npmjs.org/bindings/.cache.json
138 silly addNameRange number 2 { name: 'bindings', range: '*', hasData: true }
139 silly addNameRange versions [ 'bindings',
139 silly addNameRange   [ '0.0.1',
139 silly addNameRange     '0.1.0',
139 silly addNameRange     '0.1.1',
139 silly addNameRange     '0.2.0',
139 silly addNameRange     '0.2.1',
139 silly addNameRange     '0.2.2',
139 silly addNameRange     '0.2.3',
139 silly addNameRange     '0.2.4',
139 silly addNameRange     '0.3.0',
139 silly addNameRange     '0.4.0',
139 silly addNameRange     '1.0.0',
139 silly addNameRange     '1.1.0',
139 silly addNameRange     '1.1.1',
139 silly addNameRange     '1.2.0',
139 silly addNameRange     '1.2.1' ] ]
140 verbose addNamed [email protected]
141 silly addNamed semver.valid 1.2.1
142 silly addNamed semver.validRange 1.2.1
143 silly cache afterAdd [email protected]
144 verbose afterAdd /root/.npm/bindings/1.2.1/package/package.json not in flight; writing
145 verbose afterAdd /root/.npm/bindings/1.2.1/package/package.json written
146 silly install resolved [ { name: 'bindings',
146 silly install resolved     description: 'Helper module for loading your native module\'s .node file',
146 silly install resolved     keywords: [ 'native', 'addon', 'bindings', 'gyp', 'waf', 'c', 'c++' ],
146 silly install resolved     version: '1.2.1',
146 silly install resolved     author:
146 silly install resolved      { name: 'Nathan Rajlich',
146 silly install resolved        email: '[email protected]',
146 silly install resolved        url: 'http://tootallnate.net' },
146 silly install resolved     repository:
146 silly install resolved      { type: 'git',
146 silly install resolved        url: 'git://github.com/TooTallNate/node-bindings.git' },
146 silly install resolved     main: './bindings.js',
146 silly install resolved     bugs: { url: 'https://github.com/TooTallNate/node-bindings/issues' },
146 silly install resolved     homepage: 'https://github.com/TooTallNate/node-bindings',
146 silly install resolved     license: 'MIT',
146 silly install resolved     gitHead: 'e404152ee27f8478ccbc7122ee051246e8e5ec02',
146 silly install resolved     _id: '[email protected]',
146 silly install resolved     scripts: {},
146 silly install resolved     _shasum: '14ad6113812d2d37d72e67b4cacb4bb726505f11',
146 silly install resolved     _from: 'bindings@*',
146 silly install resolved     _npmVersion: '1.4.14',
146 silly install resolved     _npmUser: { name: 'tootallnate', email: '[email protected]' },
146 silly install resolved     maintainers: [ [Object], [Object] ],
146 silly install resolved     dist:
146 silly install resolved      { shasum: '14ad6113812d2d37d72e67b4cacb4bb726505f11',
146 silly install resolved        tarball: 'http://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz' },
146 silly install resolved     directories: {},
146 silly install resolved     _resolved: 'https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz',
146 silly install resolved     readme: 'ERROR: No README data found!' } ]
147 info install [email protected] into /root/node_modules/multi-hashing
148 info installOne [email protected]
149 verbose installOne of bindings to /root/node_modules/multi-hashing not in flight; installing
150 verbose lock using /root/.npm/_locks/bindings-065cf6950349f93d.lock for /root/node_modules/multi-hashing/node_modules/bindings
151 silly install write writing bindings 1.2.1 to /root/node_modules/multi-hashing/node_modules/bindings
152 silly cache addNamed cb [email protected]
153 verbose unbuild node_modules/multi-hashing/node_modules/bindings
154 silly gentlyRm /root/node_modules/multi-hashing/node_modules/bindings is being purged from base /root
155 verbose gentlyRm don't care about contents; nuking /root/node_modules/multi-hashing/node_modules/bindings
156 verbose tar unpack /root/.npm/bindings/1.2.1/package.tgz
157 verbose tar unpacking to /root/node_modules/multi-hashing/node_modules/bindings
158 silly gentlyRm /root/node_modules/multi-hashing/node_modules/bindings is being purged
159 verbose gentlyRm don't care about contents; nuking /root/node_modules/multi-hashing/node_modules/bindings
160 silly gunzTarPerm modes [ '755', '644' ]
161 silly gunzTarPerm extractEntry package.json
162 silly gunzTarPerm extractEntry README.md
163 silly gunzTarPerm extractEntry bindings.js
164 info preinstall [email protected]
165 silly install resolved []
166 verbose about to build /root/node_modules/multi-hashing/node_modules/bindings
167 info build /root/node_modules/multi-hashing/node_modules/bindings
168 verbose linkStuff [ false,
168 verbose linkStuff   false,
168 verbose linkStuff   false,
168 verbose linkStuff   '/root/node_modules/multi-hashing/node_modules' ]
169 info linkStuff [email protected]
170 verbose linkBins [email protected]
171 verbose linkMans [email protected]
172 verbose rebuildBundles [email protected]
173 info install [email protected]
174 info postinstall [email protected]
175 verbose unlock done using /root/.npm/_locks/bindings-065cf6950349f93d.lock for /root/node_modules/multi-hashing/node_modules/bindings
176 verbose about to build /root/node_modules/multi-hashing
177 info build /root/node_modules/multi-hashing
178 verbose linkStuff [ false, false, false, '/root/node_modules' ]
179 info linkStuff [email protected]
180 verbose linkBins [email protected]
181 verbose linkMans [email protected]
182 verbose rebuildBundles [email protected]
183 verbose rebuildBundles [ 'bindings' ]
184 info install [email protected]
185 verbose unsafe-perm in lifecycle false
186 info [email protected] Failed to exec install script
187 verbose unlock done using /root/.npm/_locks/multi-hashing-b177b171522391ad.lock for /root/node_modules/multi-hashing
188 verbose stack Error: [email protected] install: `node-gyp rebuild`
188 verbose stack Exit status 1
188 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:213:16)
188 verbose stack     at EventEmitter.emit (events.js:110:17)
188 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:14:12)
188 verbose stack     at ChildProcess.emit (events.js:110:17)
188 verbose stack     at maybeClose (child_process.js:1015:16)
188 verbose stack     at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
189 verbose pkgid [email protected]
190 verbose cwd /root
191 error Linux 3.10.0-229.el7.x86_64
192 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "multi-hashing"
193 error node v0.12.2
194 error npm  v2.7.4
195 error code ELIFECYCLE
196 error [email protected] install: `node-gyp rebuild`
196 error Exit status 1
197 error Failed at the [email protected] install script 'node-gyp rebuild'.
197 error This is most likely a problem with the multi-hashing package,
197 error not with npm itself.
197 error Tell the author that this fails on your system:
197 error     node-gyp rebuild
197 error You can get their info via:
197 error     npm owner ls multi-hashing
197 error There is likely additional logging output above.
198 verbose exit [ 1, true ]
199 verbose unbuild node_modules/multi-hashing
200 info preuninstall [email protected]
201 info uninstall [email protected]
202 verbose unbuild rmStuff [email protected] from /root/node_modules
203 info postuninstall [email protected]
204 silly gentlyRm /root/node_modules/multi-hashing is being purged from base /root
205 verbose gentlyRm don't care about contents; nuking /root/node_modules/multi-hashing
206 silly vacuum-fs purging /root/node_modules/multi-hashing
207 silly vacuum-fs removing /root/node_modules
208 silly vacuum-fs finished vacuuming up to /root

Console logs:

 npm install multi-hashing
\
> [email protected] install /root/node_modules/multi-hashing
> node-gyp rebuild

make: Entering directory `/root/node_modules/multi-hashing/build'
  CXX(target) Release/obj.target/multihashing/multihashing.o
../multihashing.cc: In function ‘v8::Handle<v8::Value> except(const char*)’:
../multihashing.cc:93:44: error: ‘New’ is not a member of ‘v8::String’
     return ThrowException(Exception::Error(String::New(msg)));
                                            ^
../multihashing.cc:93:61: error: ‘ThrowException’ was not declared in this scope
     return ThrowException(Exception::Error(String::New(msg)));
                                                             ^
../multihashing.cc: At global scope:
../multihashing.cc:96:27: error: ‘Arguments’ does not name a type
 Handle<Value> quark(const Arguments& args) {
                           ^
../multihashing.cc:96:38: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> quark(const Arguments& args) {
                                      ^
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> quark(const int&)’:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../multihashing.cc:97:17: error: within this context
     HandleScope scope;
                 ^
../multihashing.cc:99:14: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
     if (args.Length() < 1)
              ^
../multihashing.cc:102:34: error: invalid types ‘const int[int]’ for array subscript
     Local<Object> target = args[0]->ToObject();
                                  ^
../multihashing.cc:112:11: error: expected primary-expression before ‘*’ token
     Buffer* buff = Buffer::New(output, 32);
           ^
../multihashing.cc:112:13: error: ‘buff’ was not declared in this scope
     Buffer* buff = Buffer::New(output, 32);
             ^
../multihashing.cc:113:18: error: ‘class v8::HandleScope’ has no member named ‘Close’
     return scope.Close(buff->handle_);
                  ^
../multihashing.cc: At global scope:
../multihashing.cc:116:25: error: ‘Arguments’ does not name a type
 Handle<Value> x11(const Arguments& args) {
                         ^
../multihashing.cc:116:36: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> x11(const Arguments& args) {
                                    ^
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> x11(const int&)’:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../multihashing.cc:117:17: error: within this context
     HandleScope scope;
                 ^
../multihashing.cc:119:14: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
     if (args.Length() < 1)
              ^
../multihashing.cc:122:34: error: invalid types ‘const int[int]’ for array subscript
     Local<Object> target = args[0]->ToObject();
                                  ^
../multihashing.cc:132:11: error: expected primary-expression before ‘*’ token
     Buffer* buff = Buffer::New(output, 32);
           ^
../multihashing.cc:132:13: error: ‘buff’ was not declared in this scope
     Buffer* buff = Buffer::New(output, 32);
             ^
../multihashing.cc:133:18: error: ‘class v8::HandleScope’ has no member named ‘Close’
     return scope.Close(buff->handle_);
                  ^
../multihashing.cc: At global scope:
../multihashing.cc:136:28: error: ‘Arguments’ does not name a type
 Handle<Value> scrypt(const Arguments& args) {
                            ^
../multihashing.cc:136:39: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> scrypt(const Arguments& args) {
                                       ^
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> scrypt(const int&)’:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../multihashing.cc:137:16: error: within this context
    HandleScope scope;
                ^
../multihashing.cc:139:13: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
    if (args.Length() < 1)
             ^
../multihashing.cc:142:33: error: invalid types ‘const int[int]’ for array subscript
    Local<Object> target = args[0]->ToObject();
                                 ^
../multihashing.cc:152:10: error: expected primary-expression before ‘*’ token
    Buffer* buff = Buffer::New(output, 32);
          ^
../multihashing.cc:152:12: error: ‘buff’ was not declared in this scope
    Buffer* buff = Buffer::New(output, 32);
            ^
../multihashing.cc:153:17: error: ‘class v8::HandleScope’ has no member named ‘Close’
    return scope.Close(buff->handle_);
                 ^
../multihashing.cc: At global scope:
../multihashing.cc:158:29: error: ‘Arguments’ does not name a type
 Handle<Value> scryptn(const Arguments& args) {
                             ^
../multihashing.cc:158:40: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> scryptn(const Arguments& args) {
                                        ^
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> scryptn(const int&)’:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../multihashing.cc:159:16: error: within this context
    HandleScope scope;
                ^
../multihashing.cc:161:13: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
    if (args.Length() < 2)
             ^
../multihashing.cc:164:33: error: invalid types ‘const int[int]’ for array subscript
    Local<Object> target = args[0]->ToObject();
                                 ^
../multihashing.cc:169:30: error: invalid types ‘const int[int]’ for array subscript
    Local<Number> num = args[1]->ToNumber();
                              ^
../multihashing.cc:179:10: error: expected primary-expression before ‘*’ token
    Buffer* buff = Buffer::New(output, 32);
          ^
../multihashing.cc:179:12: error: ‘buff’ was not declared in this scope
    Buffer* buff = Buffer::New(output, 32);
            ^
../multihashing.cc:180:17: error: ‘class v8::HandleScope’ has no member named ‘Close’
    return scope.Close(buff->handle_);
                 ^
../multihashing.cc: At global scope:
../multihashing.cc:183:32: error: ‘Arguments’ does not name a type
 Handle<Value> scryptjane(const Arguments& args) {
                                ^
../multihashing.cc:183:43: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> scryptjane(const Arguments& args) {
                                           ^
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> scryptjane(const int&)’:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../multihashing.cc:184:17: error: within this context
     HandleScope scope;
                 ^
../multihashing.cc:186:14: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
     if (args.Length() < 3)
              ^
../multihashing.cc:189:34: error: invalid types ‘const int[int]’ for array subscript
     Local<Object> target = args[0]->ToObject();
                                  ^
../multihashing.cc:194:31: error: invalid types ‘const int[int]’ for array subscript
     Local<Number> num = args[1]->ToNumber();
                               ^
../multihashing.cc:197:32: error: invalid types ‘const int[int]’ for array subscript
     Local<Number> num2 = args[2]->ToNumber();
                                ^
../multihashing.cc:206:11: error: expected primary-expression before ‘*’ token
     Buffer* buff = Buffer::New(output, 32);
           ^
../multihashing.cc:206:13: error: ‘buff’ was not declared in this scope
     Buffer* buff = Buffer::New(output, 32);
             ^
../multihashing.cc:207:18: error: ‘class v8::HandleScope’ has no member named ‘Close’
     return scope.Close(buff->handle_);
                  ^
../multihashing.cc: At global scope:
../multihashing.cc:210:28: error: ‘Arguments’ does not name a type
 Handle<Value> keccak(const Arguments& args) {
                            ^
../multihashing.cc:210:39: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> keccak(const Arguments& args) {
                                       ^
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> keccak(const int&)’:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../multihashing.cc:211:17: error: within this context
     HandleScope scope;
                 ^
../multihashing.cc:213:14: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
     if (args.Length() < 1)
              ^
../multihashing.cc:216:34: error: invalid types ‘const int[int]’ for array subscript
     Local<Object> target = args[0]->ToObject();
                                  ^
../multihashing.cc:226:11: error: expected primary-expression before ‘*’ token
     Buffer* buff = Buffer::New(output, 32);
           ^
../multihashing.cc:226:13: error: ‘buff’ was not declared in this scope
     Buffer* buff = Buffer::New(output, 32);
             ^
../multihashing.cc:227:18: error: ‘class v8::HandleScope’ has no member named ‘Close’
     return scope.Close(buff->handle_);
                  ^
../multihashing.cc: At global scope:
../multihashing.cc:231:28: error: ‘Arguments’ does not name a type
 Handle<Value> bcrypt(const Arguments& args) {
                            ^
../multihashing.cc:231:39: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> bcrypt(const Arguments& args) {
                                       ^
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> bcrypt(const int&)’:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../multihashing.cc:232:17: error: within this context
     HandleScope scope;
                 ^
../multihashing.cc:234:14: error: request for member ‘Length’ in ‘args’, which is of non-class type ‘const int’
     if (args.Length() < 1)
              ^
../multihashing.cc:237:34: error: invalid types ‘const int[int]’ for array subscript
     Local<Object> target = args[0]->ToObject();
                                  ^
../multihashing.cc:247:11: error: expected primary-expression before ‘*’ token
     Buffer* buff = Buffer::New(output, 32);
           ^
../multihashing.cc:247:13: error: ‘buff’ was not declared in this scope
     Buffer* buff = Buffer::New(output, 32);
             ^
../multihashing.cc:248:18: error: ‘class v8::HandleScope’ has no member named ‘Close’
     return scope.Close(buff->handle_);
                  ^
../multihashing.cc: In function ‘void init(v8::Handle<v8::Object>)’:
../multihashing.cc:252:18: error: ‘NewSymbol’ is not a member of ‘v8::String’
     exports->Set(String::NewSymbol("quark"), FunctionTemplate::New(quark)->GetFunction());
                  ^
../multihashing.cc:252:73: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
     exports->Set(String::NewSymbol("quark"), FunctionTemplate::New(quark)->GetFunction());
                                                                         ^
../multihashing.cc:252:73: note: candidate is:
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note: static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Handle<v8::Value>, v8::Handle<v8::Signature>, int)
   static Local<FunctionTemplate> New(
                                  ^
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../multihashing.cc:253:18: error: ‘NewSymbol’ is not a member of ‘v8::String’
     exports->Set(String::NewSymbol("x11"), FunctionTemplate::New(x11)->GetFunction());
                  ^
../multihashing.cc:253:69: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
     exports->Set(String::NewSymbol("x11"), FunctionTemplate::New(x11)->GetFunction());
                                                                     ^
../multihashing.cc:253:69: note: candidate is:
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note: static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Handle<v8::Value>, v8::Handle<v8::Signature>, int)
   static Local<FunctionTemplate> New(
                                  ^
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../multihashing.cc:254:18: error: ‘NewSymbol’ is not a member of ‘v8::String’
     exports->Set(String::NewSymbol("scrypt"), FunctionTemplate::New(scrypt)->GetFunction());
                  ^
../multihashing.cc:254:75: error: no matching function for call to ‘v8::FunctionTemplate::New(<unresolved overloaded function type>)’
     exports->Set(String::NewSymbol("scrypt"), FunctionTemplate::New(scrypt)->GetFunction());
                                                                           ^
../multihashing.cc:254:75: note: candidate is:
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note: static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Handle<v8::Value>, v8::Handle<v8::Signature>, int)
   static Local<FunctionTemplate> New(
                                  ^
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘<unresolved overloaded function type>’ to ‘v8::Isolate*’
../multihashing.cc:255:18: error: ‘NewSymbol’ is not a member of ‘v8::String’
     exports->Set(String::NewSymbol("scryptn"), FunctionTemplate::New(scryptn)->GetFunction());
                  ^
../multihashing.cc:255:77: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
     exports->Set(String::NewSymbol("scryptn"), FunctionTemplate::New(scryptn)->GetFunction());
                                                                             ^
../multihashing.cc:255:77: note: candidate is:
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note: static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Handle<v8::Value>, v8::Handle<v8::Signature>, int)
   static Local<FunctionTemplate> New(
                                  ^
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../multihashing.cc:256:18: error: ‘NewSymbol’ is not a member of ‘v8::String’
     exports->Set(String::NewSymbol("scryptjane"), FunctionTemplate::New(scryptjane)->GetFunction());
                  ^
../multihashing.cc:256:83: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
     exports->Set(String::NewSymbol("scryptjane"), FunctionTemplate::New(scryptjane)->GetFunction());
                                                                                   ^
../multihashing.cc:256:83: note: candidate is:
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note: static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Handle<v8::Value>, v8::Handle<v8::Signature>, int)
   static Local<FunctionTemplate> New(
                                  ^
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../multihashing.cc:257:18: error: ‘NewSymbol’ is not a member of ‘v8::String’
     exports->Set(String::NewSymbol("keccak"), FunctionTemplate::New(keccak)->GetFunction());
                  ^
../multihashing.cc:257:75: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
     exports->Set(String::NewSymbol("keccak"), FunctionTemplate::New(keccak)->GetFunction());
                                                                           ^
../multihashing.cc:257:75: note: candidate is:
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note: static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Handle<v8::Value>, v8::Handle<v8::Signature>, int)
   static Local<FunctionTemplate> New(
                                  ^
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../multihashing.cc:258:18: error: ‘NewSymbol’ is not a member of ‘v8::String’
     exports->Set(String::NewSymbol("bcrypt"), FunctionTemplate::New(keccak)->GetFunction());
                  ^
../multihashing.cc:258:75: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
     exports->Set(String::NewSymbol("bcrypt"), FunctionTemplate::New(keccak)->GetFunction());
                                                                           ^
../multihashing.cc:258:75: note: candidate is:
In file included from /root/.node-gyp/0.12.2/src/node.h:61:0,
                 from ../multihashing.cc:1:
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note: static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Handle<v8::Value>, v8::Handle<v8::Signature>, int)
   static Local<FunctionTemplate> New(
                                  ^
/root/.node-gyp/0.12.2/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../multihashing.cc: In function ‘v8::Handle<v8::Value> except(const char*)’:
../multihashing.cc:94:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../multihashing.cc: In function ‘v8::Handle<v8::Value> quark(const int&)’:
../multihashing.cc:114:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../multihashing.cc: In function ‘v8::Handle<v8::Value> x11(const int&)’:
../multihashing.cc:134:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../multihashing.cc: In function ‘v8::Handle<v8::Value> scrypt(const int&)’:
../multihashing.cc:154:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../multihashing.cc: In function ‘v8::Handle<v8::Value> scryptn(const int&)’:
../multihashing.cc:181:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../multihashing.cc: In function ‘v8::Handle<v8::Value> scryptjane(const int&)’:
../multihashing.cc:208:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../multihashing.cc: In function ‘v8::Handle<v8::Value> keccak(const int&)’:
../multihashing.cc:228:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../multihashing.cc: In function ‘v8::Handle<v8::Value> bcrypt(const int&)’:
../multihashing.cc:249:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make: *** [Release/obj.target/multihashing/multihashing.o] Error 1
make: Leaving directory `/root/node_modules/multi-hashing/build'
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:269:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Linux 3.10.0-229.el7.x86_64
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /root/node_modules/multi-hashing
gyp ERR! node -v v0.12.2
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
npm ERR! Linux 3.10.0-229.el7.x86_64
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "multi-hashing"
npm ERR! node v0.12.2
npm ERR! npm  v2.7.4
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the multi-hashing package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls multi-hashing
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /root/npm-debug.log

gcc version 4.8.3
Tryed install on ubuntu14.04 and centos 7. On centos 6 was old gcc version.
Please help )
Thanks!

Failed compilation

I'm getting this, when I try to compile it with "npm install multi-hashing"

[email protected] install /home/test/node_modules/multi-hashing
node-gyp rebuild

make: Entering directory '/home/test/node_modules/multi-hashing/build'
CXX(target) Release/obj.target/multihashing/multihashing.o
../multihashing.cc: In function ‘v8::Handlev8::Value boolberry(const v8::Arguments&)’:
../multihashing.cc:468:7: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wparentheses]
if(args.Length() >= 3)
^
CC(target) Release/obj.target/multihashing/scryptjane.o
In file included from ../scryptjane/scrypt-jane-portable.h:280:0,
from ../scryptjane.c:10:
../scryptjane/scrypt-jane-portable-x86.h: In function ‘detect_cpu’:
../scryptjane/scrypt-jane-portable-x86.h:275:18: warning: variable ‘vendor’ set but not used [-Wunused-but-set-variable]
cpu_vendors_x86 vendor = cpu_nobody;
^
In file included from ../scryptjane/scrypt-jane-chacha.h:12:0,
from ../scryptjane/scrypt-jane-romix.h:2,
from ../scryptjane.c:12:
../scryptjane.c: At top level:
../scryptjane/scrypt-jane-romix-basic.h:13:1: warning: ‘scrypt_romix_convert_endian’ defined but not used [-Wunused-function]
scrypt_romix_convert_endian(scrypt_mix_word_t blocks, size_t nblocks) {
^
../scryptjane/scrypt-jane-romix-basic.h:65:1: warning: ‘scrypt_block’ defined but not used [-Wunused-function]
scrypt_block(scrypt_mix_word_t *base, scrypt_mix_word_t i) {
^
CC(target) Release/obj.target/multihashing/scryptn.o
CC(target) Release/obj.target/multihashing/keccak.o
CC(target) Release/obj.target/multihashing/skein.o
In file included from ../skein.c:8:0:
../sha256.h:390:1: warning: ‘PBKDF2_SHA256’ defined but not used [-Wunused-function]
PBKDF2_SHA256(const uint8_t * passwd, size_t passwdlen, const uint8_t * salt,
^
CC(target) Release/obj.target/multihashing/x11.o
CC(target) Release/obj.target/multihashing/quark.o
../quark.c:88:1: warning: ‘be32enc_vect’ defined but not used [-Wunused-function]
be32enc_vect(unsigned char *dst, const uint32_t *src, uint32_t len)
^
../quark.c:101:1: warning: ‘be32dec_vect’ defined but not used [-Wunused-function]
be32dec_vect(uint32_t *dst, const unsigned char *src, uint32_t len)
^
CC(target) Release/obj.target/multihashing/bcrypt.o
CC(target) Release/obj.target/multihashing/groestl.o
In file included from ../groestl.c:8:0:
../sha256.h:390:1: warning: ‘PBKDF2_SHA256’ defined but not used [-Wunused-function]
PBKDF2_SHA256(const uint8_t * passwd, size_t passwdlen, const uint8_t * salt,
^
CC(target) Release/obj.target/multihashing/blake.o
CC(target) Release/obj.target/multihashing/fugue.o
CC(target) Release/obj.target/multihashing/qubit.o
CC(target) Release/obj.target/multihashing/hefty1.o
In file included from ../hefty1.c:7:0:
../sha256.h:390:1: warning: ‘PBKDF2_SHA256’ defined but not used [-Wunused-function]
PBKDF2_SHA256(const uint8_t * passwd, size_t passwdlen, const uint8_t * salt,
^
CC(target) Release/obj.target/multihashing/shavite3.o
CC(target) Release/obj.target/multihashing/cryptonight.o
../cryptonight.c:60:13: warning: ‘mul’ defined but not used [-Wunused-function]
static void mul(const uint8_t
a, const uint8_t* b, uint8_t* res) {
^
../cryptonight.c:74:13: warning: ‘sum_half_blocks’ defined but not used [-Wunused-function]
static void sum_half_blocks(uint8_t* a, const uint8_t* b) {
^
../cryptonight.c:92:13: warning: ‘swap_blocks’ defined but not used [-Wunused-function]
static void swap_blocks(uint8_t* a, uint8_t* b) {
^
CC(target) Release/obj.target/multihashing/x13.o
CXX(target) Release/obj.target/multihashing/boolberry.o
In file included from ../crypto/cryptonote_core/cryptonote_format_utils.h:7:0,
from ../boolberry.cc:2:
../crypto/cryptonote_core/../wild_keccak.h: In function ‘int crypto::keccak_generic(const uint8_t_, size_t, uint8_t_, size_t)’:
../crypto/cryptonote_core/../wild_keccak.h:63:68: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
rsiz = sizeof(state_t_m) == mdlen ? HASH_DATA_AREA : 200 - 2 * mdlen;
^
../crypto/cryptonote_core/../wild_keccak.h: In function ‘int crypto::wild_keccak(const uint8_t_, size_t, uint8_t_, size_t, callback_t)’:
../crypto/cryptonote_core/../wild_keccak.h:98:68: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
rsiz = sizeof(state_t_m) == mdlen ? HASH_DATA_AREA : 200 - 2 * mdlen;
^
../crypto/cryptonote_core/../wild_keccak.h: In instantiation of ‘int crypto::wild_keccak(const uint8_t_, size_t, uint8_t_, size_t, callback_t) [with f_traits = crypto::mul_f; callback_t = cryptonote::get_blob_longhash_bb(const blobdata&, crypto::hash&, uint64_t, callback_t) [with callback_t = boolberry_hash(const char_, uint32_t, const char_, uint64_t, char_, uint64_t)::lambda1; blobdata = std::basic_string; uint64_t = long unsigned int]::lambda0; uint8_t = unsigned char; size_t = long unsigned int]’:
../crypto/cryptonote_core/../wild_keccak.h:151:51: required from ‘int crypto::wild_keccak_dbl(const uint8_t
, size_t, uint8_t
, size_t, callback_t) [with f_traits = crypto::mul_f; callback_t = cryptonote::get_blob_longhash_bb(const blobdata&, crypto::hash&, uint64_t, callback_t) [with callback_t = boolberry_hash(const char
, uint32_t, const char
, uint64_t, char_, uint64_t)::_lambda1; blobdata = std::basic_string; uint64_t = long unsigned int]::lambda0; uint8_t = unsigned char; size_t = long unsigned int]’
../crypto/cryptonote_core/cryptonote_format_utils.h:27:6: required from ‘bool cryptonote::get_blob_longhash_bb(const blobdata&, crypto::hash&, uint64_t, callback_t) [with callback_t = boolberry_hash(const char
, uint32_t, const char
, uint64_t, char
, uint64_t)::__lambda1; blobdata = std::basic_string; uint64_t = long unsigned int]’
../boolberry.cc:10:6: required from here
../crypto/cryptonote_core/../wild_keccak.h:98:10: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
rsiz = sizeof(state_t_m) == mdlen ? HASH_DATA_AREA : 200 - 2 * mdlen;
^
CC(target) Release/obj.target/multihashing/nist5.o
CC(target) Release/obj.target/multihashing/sha1.o
../sha1.c:4:25: fatal error: openssl/sha.h: No such file or directory
#include <openssl/sha.h>
^
compilation terminated.
multihashing.target.mk:131: recipe for target 'Release/obj.target/multihashing/sha1.o' failed
make: *_* [Release/obj.target/multihashing/sha1.o] Error 1
make: Leaving directory '/home/test/node_modules/multi-hashing/build'
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:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:809:12)
gyp ERR! System Linux 3.2.0-4-amd64
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/test/node_modules/multi-hashing
gyp ERR! node -v v0.10.29
gyp ERR! node-gyp -v v0.13.1
gyp ERR! not ok
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the multi-hashing package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls multi-hashing
npm ERR! There is likely additional logging output above.

npm ERR! System Linux 3.2.0-4-amd64
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "multi-hashing"
npm ERR! cwd /home/test
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.14
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/test/npm-debug.log
npm ERR! not ok code 0

And yes, I'm using gcc 4.8.3

Compile on mac node v8.4.0

npm install multi-hashing

macOS 10.12.6
Apple LLVM version 8.1.0 (clang-802.0.42)
node-gyp v3.3.0
node v8.4.0
npm v5.4.1

> [email protected] install /Users/bob/projects/intense-poolui/node_modules/multi-hashing
> node-gyp rebuild

  CXX(target) Release/obj.target/multihashing/multihashing.o
../multihashing.cc:93:52: error: no member named 'New' in 'v8::String'
    return ThrowException(Exception::Error(String::New(msg)));
                                           ~~~~~~~~^
../multihashing.cc:96:27: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
Handle<Value> quark(const Arguments& args) {
                          ^~~~~~~~~
                          v8::internal::Arguments
/Users/bob/.node-gyp/8.4.0/include/node/v8.h:141:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../multihashing.cc:97:17: error: calling a protected constructor of class 'v8::HandleScope'
    HandleScope scope;
                ^
/Users/bob/.node-gyp/8.4.0/include/node/v8.h:876:13: note: declared protected here
  V8_INLINE HandleScope() {}
            ^
../multihashing.cc:99:13: error: member access into incomplete type 'const v8::internal::Arguments'
    if (args.Length() < 1)
            ^
/Users/bob/.node-gyp/8.4.0/include/node/v8.h:141:7: note: forward declaration of 'v8::internal::Arguments'
class Arguments;
      ^
../multihashing.cc:102:32: error: type 'const v8::internal::Arguments' does not provide a subscript operator
    Local<Object> target = args[0]->ToObject();
                           ~~~~^~
../multihashing.cc:112:5: error: unexpected namespace name 'Buffer': expected expression
    Buffer* buff = Buffer::New(output, 32);
    ^
../multihashing.cc:112:13: error: use of undeclared identifier 'buff'
    Buffer* buff = Buffer::New(output, 32);
            ^
../multihashing.cc:112:20: error: no matching function for call to 'New'
    Buffer* buff = Buffer::New(output, 32);
                   ^~~~~~~~~~~
/Users/bob/.node-gyp/8.4.0/include/node/node_buffer.h:52:40: note: candidate function not viable: no known conversion from 'char *' to 'v8::Isolate *' for
      1st argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/bob/.node-gyp/8.4.0/include/node/node_buffer.h:55:40: note: candidate function not viable: no known conversion from 'char *' to 'v8::Isolate *' for
      1st argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/bob/.node-gyp/8.4.0/include/node/node_buffer.h:67:40: note: candidate function not viable: requires 3 arguments, but 2 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/bob/.node-gyp/8.4.0/include/node/node_buffer.h:60:40: note: candidate function not viable: requires 5 arguments, but 2 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
../multihashing.cc:113:18: error: no member named 'Close' in 'v8::HandleScope'
    return scope.Close(buff->handle_);
           ~~~~~ ^
../multihashing.cc:113:24: error: use of undeclared identifier 'buff'
    return scope.Close(buff->handle_);
                       ^
../multihashing.cc:116:25: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
Handle<Value> x11(const Arguments& args) {
                        ^~~~~~~~~
                        v8::internal::Arguments
/Users/bob/.node-gyp/8.4.0/include/node/v8.h:141:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../multihashing.cc:117:17: error: calling a protected constructor of class 'v8::HandleScope'
    HandleScope scope;
                ^
/Users/bob/.node-gyp/8.4.0/include/node/v8.h:876:13: note: declared protected here
  V8_INLINE HandleScope() {}
            ^
../multihashing.cc:119:13: error: member access into incomplete type 'const v8::internal::Arguments'
    if (args.Length() < 1)
            ^
/Users/bob/.node-gyp/8.4.0/include/node/v8.h:141:7: note: forward declaration of 'v8::internal::Arguments'
class Arguments;
      ^
../multihashing.cc:122:32: error: type 'const v8::internal::Arguments' does not provide a subscript operator
    Local<Object> target = args[0]->ToObject();
                           ~~~~^~
../multihashing.cc:132:5: error: unexpected namespace name 'Buffer': expected expression
    Buffer* buff = Buffer::New(output, 32);
    ^
../multihashing.cc:132:13: error: use of undeclared identifier 'buff'
    Buffer* buff = Buffer::New(output, 32);
            ^
../multihashing.cc:132:20: error: no matching function for call to 'New'
    Buffer* buff = Buffer::New(output, 32);
                   ^~~~~~~~~~~
/Users/bob/.node-gyp/8.4.0/include/node/node_buffer.h:52:40: note: candidate function not viable: no known conversion from 'char *' to 'v8::Isolate *' for
      1st argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/bob/.node-gyp/8.4.0/include/node/node_buffer.h:55:40: note: candidate function not viable: no known conversion from 'char *' to 'v8::Isolate *' for
      1st argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/bob/.node-gyp/8.4.0/include/node/node_buffer.h:67:40: note: candidate function not viable: requires 3 arguments, but 2 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/bob/.node-gyp/8.4.0/include/node/node_buffer.h:60:40: note: candidate function not viable: requires 5 arguments, but 2 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
../multihashing.cc:133:18: error: no member named 'Close' in 'v8::HandleScope'
    return scope.Close(buff->handle_);
           ~~~~~ ^
../multihashing.cc:133:24: error: use of undeclared identifier 'buff'
    return scope.Close(buff->handle_);
                       ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Release/obj.target/multihashing/multihashing.o] Error 1

undefined references

Hi, I get some undefined references errors when trying to use this module.
These changes fix this.

diff --git a/binding.gyp b/binding.gyp
index dce7a11..2104547 100644
--- a/binding.gyp
+++ b/binding.gyp
@@ -11,6 +11,7 @@
                 "skein.c",
                 "x11.c",
                 "quark.c",
+                "bcrypt.c",
                 "sha3/aes_helper.c",
                 "sha3/blake.c",
                 "sha3/bmw.c",
diff --git a/skein.c b/skein.c
index 3f47dac..96f32fc 100644
--- a/skein.c
+++ b/skein.c
@@ -11,7 +11,7 @@ void skein_hash(const char* input, char* output)
 {
     sph_skein512_context    ctx_skien;
     sph_skein512_init(&ctx_skien);
-    sph_skeink512 (&ctx_skien, input, 64);
+    sph_skein512 (&ctx_skien, input, 64);
     sph_skein512_close(&ctx_skien, output);

 }

Add algro m7m

I'm trying to add m7m (XMG) coin algro, but I can't

Can you help?
Cheers

Failed at the [email protected] install script 'node-gyp rebuild'

Hi! I've got node 5.3.0 installed with npm 3.3.12 installed and gcc 4.8.4

When I run npm update on node-open-mining-portal when it reaches the stratum-pool dependency node-gyp rebuild fails with exit code 1. I've found that it is because of the module multi-hashing.

Is multi-hashing broken with my version of node? Do I need node 0.10? I don't really want to install that as it's pretty outdated.

Thanks for any help.

EDIT: Yes, I do have libssl-dev installed using sudo apt-get install libssl-dev

Adding custom algo

Hello. It try to add skunkhash but it returns with the error below. What am i missing? edited all js & cc...

/home/coolindark/unomp/node_modules/merged-pooler/lib/algoProperties.js:248
return multiHashing.skunkhash.apply(this, arguments);
^
TypeError: Cannot call method 'apply' of undefined
at /home/coolindark/unomp/node_modules/merged-pooler/lib/algoProperties.js:248:47
at JobManager.processShare (/home/coolindark/unomp/node_modules/merged-pooler/lib/jobManager.js:263:26)
at null. (/home/coolindark/unomp/node_modules/merged-pooler/lib/pool.js:623:46)
at EventEmitter.emit (events.js:117:20)
at handleSubmit (/home/coolindark/unomp/node_modules/merged-pooler/lib/stratum.js:175:15)
at handleMessage (/home/coolindark/unomp/node_modules/merged-pooler/lib/stratum.js:88:17)
at /home/coolindark/unomp/node_modules/merged-pooler/lib/stratum.js:248:25
at Array.forEach (native)
at Socket. (/home/coolindark/unomp/node_modules/merged-pooler/lib/stratum.js:234:26)

Thank you!

Using from the web

Is it possible to use this package from a website? If so, how? Thanks.

Is this new defacto active main? tons of forks but not seeing many commits over this one

yes - I'm years and years late to this party but wanting to start somehwere to learn and got all lost with all the forks here on nomp. What is the latest main branch to use? Seems most are forks of forks and no one making PR to push code up to main repos... divergent things going on and not well documented on changes so I am lost.. as are others I am reading.

Where should I start?

npm update error

I get the following error when I try to do the "npm update" command
multihashing.target.mk:143: recipe for target 'Release/obj.target/multihashing/multihashing.o' failed
make: *** [Release/obj.target/multihashing/multihashing.o] Error 1
make: Leaving directory '/home/qurmo/pool/node_modules/multi-hashing/build'
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack at emitTwo (events.js:125:13)
gyp ERR! stack at ChildProcess.emit (events.js:213:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 4.4.0-97-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/qurmo/pool/node_modules/multi-hashing
gyp ERR! node -v v8.7.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

I've went so far back I actually formated my Linux Server, reinstalled everything from scratch but all remains the same.... Help :p

Build failure / make fails

I'm getting this error on build:

npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/root/.cache/node-gyp/16.13.2',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/root/.nvm/versions/node/v16.13.2/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/root/.cache/node-gyp/16.13.2/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/root/.npm/_cacache/tmp/git-cloneapLrJ7',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! In file included from /root/.cache/node-gyp/16.13.2/include/node/v8.h:30,
npm ERR!                  from /root/.cache/node-gyp/16.13.2/include/node/node.h:63,
npm ERR!                  from ../src/multihashing.cc:1:
npm ERR! /root/.cache/node-gyp/16.13.2/include/node/v8-internal.h: In function ‘
void v8::internal::PerformCastCheck(T*)’:
npm ERR! /root/.cache/node-gyp/16.13.2/include/node/v8-internal.h:492:38: error: ‘remove_cv_t’ is not a member of ‘std’; did you mean ‘remove_cv’?
npm ERR!   492 |             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
npm ERR!       |                                      ^~~~~~~~~~~
npm ERR!       |                                      remove_cv
npm ERR! /root/.cache/node-gyp/16.13.2/include/node/v8-internal.h:492:38: error: ‘remove_cv_t’ is not a member of ‘std’; did you mean ‘remove_cv’?
npm ERR!   492 |             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
npm ERR!       |                                      ^~~~~~~~~~~
npm ERR!       |                                      remove_cv
npm ERR! /root/.cache/node-gyp/16.13.2/include/node/v8-internal.h:492:50: error: template argument 2 is invalid
npm ERR!   492 |             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
npm ERR!       |                                                  ^
npm ERR! /root/.cache/node-gyp/16.13.2/include/node/v8-internal.h:492:63: error: ‘::Perform’ has not been declared
npm ERR!   492 |             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
npm ERR!       |                                                               ^~~~~~~
npm ERR! In file included from ../src/multihashing.cc:5:
npm ERR! ../node_modules/nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
npm ERR! ../node_modules/nan/nan.h:2294: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]
npm ERR!  2294 |     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
npm ERR!       |                                                              ^
npm ERR! make: *** [multihashing.target.mk:188: Release/obj.target/multihashing/src/multihashing.o] Error 1
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! gyp ERR! stack     at ChildProcess.onExit (/root/.nvm/versions/node/v16.13.2/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Linux 5.4.0
npm ERR! gyp ERR! command "/root/.nvm/versions/node/v16.13.2/bin/node" "/root/.nvm/versions/node/v16.13.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /root/.npm/_cacache/tmp/git-cloneapLrJ7
npm ERR! gyp ERR! node -v v16.13.2
npm ERR! gyp ERR! node-gyp -v v8.3.0
npm ERR! gyp ERR! not ok
npm ERR! npm ERR! code 1
npm ERR! npm ERR! path /root/.npm/_cacache/tmp/git-cloneapLrJ7
npm ERR! npm ERR! command failed
npm ERR! npm ERR! command sh -c node-gyp rebuild
npm ERR!
npm ERR! npm ERR! A complete log of this run can be found in:
npm ERR! npm ERR!     /root/.npm/_logs/2022-01-27T10_24_39_282Z-debug.log

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-01-27T10_24_39_827Z-debug.log

any ideas what's wrong?

Issue with boolberry and updating npm

Hello I am having trouble updating npm to use with nomp. I think it may have something to do with boolberry. Any help would be greatly appreciated. I must be doing something wrong but I don't know what to look for to fix.

../boolberry.cc: In function ‘void boolberry_hash(const char_, uint32_t, const char_, uint64_t, char_, uint64_t)’:
../boolberry.cc:8: error: expected primary-expression before ‘[’ token
../boolberry.cc:8: error: expected primary-expression before ‘]’ token
../boolberry.cc:8: error: expected primary-expression before ‘index’
../boolberry.cc:8: error: expected primary-expression before ‘{’ token
../boolberry.cc:7: warning: unused variable ‘spad’
make: *_* [Release/obj.target/multihashing/boolberry.o] Error 1
make: Leaving directory /root/nomp/node_modules/stratum-pool/node_modules/multi-hashing/build' gyp ERR! build error gyp ERR! stack Error:make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:807:12)
gyp ERR! System Linux 2.6.32-431.17.1.el6.x86_64
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /root/nomp/node_modules/stratum-pool/node_modules/multi-hashing
gyp ERR! node -v v0.10.28
gyp ERR! node-gyp -v v0.10.6
gyp ERR! not ok
npm ERR! weird error 1
npm ERR! not ok code 0

Node-Multi-hashing - Node .10 to 8.x

I've attempted to update Node-Multi_hashing to compile in 8.1.3 using Nan.
@zone117x

krisklosterman@fcd8547

I was using mac-os to compile and got it to compile with only warnings about un-used functions.
Scrypt-Jane needs work as it has errors about the assembly on Mac-OS, so I commented it out for now. Others more familiar with it please take a look.

This still could use some work, as I am no expert at writing add-on's for node

I will test today to see if it compiles with being included with node-stratum

Error while compiling cryptonight.c

In file included from cryptonight.c:9:
crypto/c_jh.h:17: error: redefinition of typedef âBitSequenceâ
crypto/c_groestl.h:36: note: previous declaration of âBitSequenceâ was here
crypto/c_jh.h:18: error: redefinition of typedef âDataLengthâ
crypto/c_groestl.h:37: note: previous declaration of âDataLengthâ was here

scryptjane errors compiling on Mac OS Node 10.14. Please advice.

1 warning generated.
CC(target) Release/obj.target/multihashing/keccak.o
CC(target) Release/obj.target/multihashing/lbry.o
CC(target) Release/obj.target/multihashing/nist5.o
CC(target) Release/obj.target/multihashing/quark.o
../quark.c:64:1: warning: unused function 'le32dec' [-Wunused-function]
le32dec(const void *pp)
^
../quark.c:73:1: warning: unused function 'le32enc' [-Wunused-function]
le32enc(void *pp, uint32_t x)
^
../quark.c:88:1: warning: unused function 'be32enc_vect' [-Wunused-function]
be32enc_vect(unsigned char *dst, const uint32_t *src, uint32_t len)
^
../quark.c:101:1: warning: unused function 'be32dec_vect' [-Wunused-function]
be32dec_vect(uint32_t *dst, const unsigned char *src, uint32_t len)
^
4 warnings generated.
CC(target) Release/obj.target/multihashing/qubit.o
CC(target) Release/obj.target/multihashing/scryptjane.o
In file included from ../scryptjane.c:12:
In file included from ../scryptjane/scrypt-jane-romix.h:2:
In file included from ../scryptjane/scrypt-jane-chacha.h:12:
../scryptjane/scrypt-jane-romix-basic.h:13:1: warning: unused function 'scrypt_romix_convert_endian' [-Wunused-function]
scrypt_romix_convert_endian(scrypt_mix_word_t *blocks, size_t nblocks) {
^
../scryptjane/scrypt-jane-romix-basic.h:65:1: warning: unused function 'scrypt_block' [-Wunused-function]
scrypt_block(scrypt_mix_word_t *base, scrypt_mix_word_t i) {
^
:106:1: error: unknown directive
.type scrypt_ChunkMix_ssse3,@function
^
:107:1: error: unknown directive
.size scrypt_ChunkMix_ssse3,.-scrypt_ChunkMix_ssse3
^
In file included from ../scryptjane.c:10:
In file included from ../scryptjane/scrypt-jane-portable.h:280:
../scryptjane/scrypt-jane-portable-x86.h:242:3: error: unknown token in expression
a2(mov [%1 + 0], eax)
^
../scryptjane/scrypt-jane-portable-x86.h:162:19: note: expanded from macro 'a2'
#define a2(x, y) GNU_AS2(x, y)
^
../scryptjane/scrypt-jane-portable-x86.h:155:24: note: expanded from macro 'GNU_AS2'
#define GNU_AS2(x, y) #x ", " #y ";\n"
^
:8:2: note: expanded from here
"mov [%1 + 0]"
^
:4:6: note: instantiated into assembly here
mov [%rsi + 0], eax;
^
In file included from ../scryptjane.c:10:
In file included from ../scryptjane/scrypt-jane-portable.h:280:
../scryptjane/scrypt-jane-portable-x86.h:243:3: error: unknown token in expression
a2(mov [%1 + 4], ebx)
^
../scryptjane/scrypt-jane-portable-x86.h:162:19: note: expanded from macro 'a2'
#define a2(x, y) GNU_AS2(x, y)
^
../scryptjane/scrypt-jane-portable-x86.h:155:24: note: expanded from macro 'GNU_AS2'
#define GNU_AS2(x, y) #x ", " #y ";\n"
^
:10:2: note: expanded from here
"mov [%1 + 4]"
^
:5:6: note: instantiated into assembly here
mov [%rsi + 4], ebx;
^
In file included from ../scryptjane.c:10:
In file included from ../scryptjane/scrypt-jane-portable.h:280:
../scryptjane/scrypt-jane-portable-x86.h:244:3: error: unknown token in expression
a2(mov [%1 + 8], ecx)
^
../scryptjane/scrypt-jane-portable-x86.h:162:19: note: expanded from macro 'a2'
#define a2(x, y) GNU_AS2(x, y)
^
../scryptjane/scrypt-jane-portable-x86.h:155:24: note: expanded from macro 'GNU_AS2'
#define GNU_AS2(x, y) #x ", " #y ";\n"
^
:12:2: note: expanded from here
"mov [%1 + 8]"
^
:6:6: note: instantiated into assembly here
mov [%rsi + 8], ecx;
^
In file included from ../scryptjane.c:10:
In file included from ../scryptjane/scrypt-jane-portable.h:280:
../scryptjane/scrypt-jane-portable-x86.h:245:3: error: unknown token in expression
a2(mov [%1 + 12], edx)
^
../scryptjane/scrypt-jane-portable-x86.h:162:19: note: expanded from macro 'a2'
#define a2(x, y) GNU_AS2(x, y)
^
../scryptjane/scrypt-jane-portable-x86.h:155:24: note: expanded from macro 'GNU_AS2'
#define GNU_AS2(x, y) #x ", " #y ";\n"
^
:14:2: note: expanded from here
"mov [%1 + 12]"
^
:7:6: note: instantiated into assembly here
mov [%rsi + 12], edx;
^
:12:1: error: 32-bit absolute addressing is not supported in 64-bit mode
movdqa xmm4, [ssse3_rotl16_32bit];
^
:13:1: error: 32-bit absolute addressing is not supported in 64-bit mode
movdqa xmm5, [ssse3_rotl8_32bit];
^
2 warnings and 8 errors generated.
make: *** [Release/obj.target/multihashing/scryptjane.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:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:182:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Darwin 18.2.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/AlexBo/Development/Node/bbr-pool/node_modules/multi-hashing
gyp ERR! node -v v10.14.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN [email protected] No description
npm WARN [email protected] No repository field.

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

Cannot call method 'apply' of undefined - causes [PoolSpawner] Fork 1 died, spawning replacement worker.

When I enable a groest pool in nomp, if a worker connects to the pool the connections constantly dies and reconnects - no stable connection.

/root/nomp/node_modules/stratum-pool/lib/algoProperties.js:132
return multiHashing.groestl.apply(this, arguments);
^
TypeError: Cannot call method 'apply' of undefined
at /root/nomp/node_modules/stratum-pool/lib/algoProperties.js:132:45
at JobManager.processShare (/root/nomp/node_modules/stratum-pool/lib/jobManager.js:218:26)
at null. (/root/nomp/node_modules/stratum-pool/lib/pool.js:495:46)
at emit (events.js:117:20)
at handleSubmit (/root/nomp/node_modules/stratum-pool/lib/stratum.js:159:15)
at handleMessage (/root/nomp/node_modules/stratum-pool/lib/stratum.js:72:17)
at /root/nomp/node_modules/stratum-pool/lib/stratum.js:232:25
at Array.forEach (native)
at Socket. (/root/nomp/node_modules/stratum-pool/lib/stratum.js:218:26)
at Socket.emit (events.js:95:17)
2014-07-06 00:59:01 [Master] [PoolSpawner] Fork 1 died, spawning replacement worker...

node-gyp rebuild failing

hi there trying to compile and run everything through windows. when trying to get all of the modules installed i've gotten stuck here.

Creating library C:\node_modules\multi-hashing\build\Release\multihashing.
lib and object C:\node_modules\multi-hashing\build\Release\multihashing.exp
multihashing.obj : error LNK2001: unresolved external symbol bcrypt_hash [C:\no
de_modules\multi-hashing\build\multihashing.vcxproj]
multihashing.obj : error LNK2001: unresolved external symbol keccak_hash [C:\no
de_modules\multi-hashing\build\multihashing.vcxproj]
C:\node_modules\multi-hashing\build\Release\multihashing.node : fatal error LNK
1120: 2 unresolved externals [C:\node_modules\multi-hashing\build\multihashing.
vcxproj]
gyp ERR! build error
gyp ERR! stack Error: C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe fail
ed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules
npm\node_modules\node-gyp\lib\build.js:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:810:
12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\Program Files\nodejs\node_modules\npm\node_modu
les\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\node_modules\multi-hashing
gyp ERR! node -v v0.10.32
gyp ERR! node-gyp -v v1.0.1
gyp ERR! not ok

npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the multi-hashing package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls multi-hashing
npm ERR! There is likely additional logging output above.
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nod
ejs\node_modules\npm\bin\npm-cli.js" "install" "multi-hashing"
npm ERR! cwd C:
npm ERR! node -v v0.10.32
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0

instalation fail

Hello, I've got a problem with instalation nodejs module multi-hashing

console log:

root@root:/var/www/nodestratum# npm install multi-hashing
npm http GET https://registry.npmjs.org/multi-hashing

npm ERR! Error: failed to fetch from registry: multi-hashing
npm ERR! at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR! at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9)
npm ERR! at Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18)
npm ERR! at Request.callback (/usr/lib/nodejs/request/main.js:119:22)
npm ERR! at Request. (/usr/lib/nodejs/request/main.js:212:58)
npm ERR! at Request.emit (events.js:88:20)
npm ERR! at ClientRequest. (/usr/lib/nodejs/request/main.js:412:12)
npm ERR! at ClientRequest.emit (events.js:67:17)
npm ERR! at HTTPParser.onIncoming (http.js:1261:11)
npm ERR! at HTTPParser.onHeadersComplete (http.js:102:31)
npm ERR! You may report this log at:
npm ERR! http://bugs.debian.org/npm
npm ERR! or use
npm ERR! reportbug --attach /var/www/nodestratum/npm-debug.log npm
npm ERR!
npm ERR! System Linux 3.11.0-17-generic
npm ERR! command "node" "/usr/bin/npm" "install" "multi-hashing"
npm ERR! cwd /var/www/nodestratum
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! message failed to fetch from registry: multi-hashing
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /var/www/nodestratum/npm-debug.log
npm not ok

NOMP npm update fail @ multihashing.

Just wanted to let you know, I and it seems lots of other folks run into issue w/ npm update failing on multi hashing.
I tried all sorts of 0.10 versions, none worked.
After trial and error of downloading some of the other forks of nomp... some of them compiled (because their multihashing was older) and some didnt(for similar reasons as this repo).
Ultimately my solution was having to fork stratum pool to my own repo, then redirecting the multihashing dependency in package.json to point to an older github fork that I found worked ... in this case foxer666's fork of multihashing compiled fine.
After redirecting that dependency, your repo of nomp compiled fine. Pool fires up and works.
I realize that newer algos may be missing because of the older multihashing ... BUT ... I dont use the newer algos so that doesnt effect me.

The errors I kept running into were in the cryptonight.o compilation during npm update. Perhaps recent changes to that source cause the problem? I dont know. But either way, just a heads up.

Add x17 algo

Hi there,

Would it be possible to add x17 algo?

Thanks a lot

Please add the new / Forked Algo Support - CN-AscendingNight

Tax-Project uses the CryptoNight (AscendingNight) hash algorithm, which is optimized for CPU-based mining and GPU resistance, with the Algo specializing in fair sharing of the hashrate.

Edit: AscendingNight is similar to CryptoNight (same scratchpad implode and explode) but it utilizes a different main algorithm. While CryptoNight uses one aes step every second step, AscendingNight uses one AES every fourth step, has some substitutional parts and things like that to perform less calculations for more memory intesety.
In our private testing we came across performance boosts of 10% to 30% on Ryzen CPUs and up to 100% on older i7s.
Since the memory utilisation is still the same, the algorithm is just as fast on GPU (mathematically speaking, not tested yet).

The point with the reference implementation of AscendingNight is that, while it's modular, it's still using 2MB as a scratchpad size and 2^14 iterations to increase the speeds of the validation process.
By increasing the iteration number to the casual CryptoNight step count of 2^20 you'd see an even higher boost in the performance of CPUs compared to GPUs.

The important changes were done in the posr_aes macro. It can be found in here:
https://github.com/Tax-Project/Tax/blob/master/src/crypto/slow-hash.c#L264

https://github.com/Tax-Project/xmr-stak-cpu/blob/master/crypto/cryptonight_aesni.h

Links
Algo= https://github.com/Tax-Project/Tax/blob/master/src/crypto/slow-hash.c
http://clashproject.org/tax/
https://github.com/Tax-Project
https://github.com/Tax-Project/Miner-UI

bcrypt is broken?

I am testing the code and bcrypt gives me a different answer each time:

sunny@sunny:/mnt/shared_tor/test$ cat test2.js
var multiHashing = require('multi-hashing');
var data = new Buffer("7000000001e980924e4e1109230383e66d62945ff8e749903bea4336755c00000000000051928aff1b4d72416173a8c3948159a09a73ac3bb556aa6bfbcad1a85da7f4c1d13350531e24031b939b9e2b", "hex");
console.log(multiHashing.bcrypt(data));
sunny@sunny:/mnt/shared_tor/test$ node test2.js 
<SlowBuffer 3c 7c 3f c8 dc 5a 0c f6 b3 a1 54 e1 8e ac c9 ee d8 32 82 33 52 bd 89 50 da cd 24 34 fe 96 1e f5>
sunny@sunny:/mnt/shared_tor/test$ node test2.js 
<SlowBuffer 3c 7c 3f c8 dc 5a 0c f6 b3 a1 54 e1 8e ac c9 ee 4b 5a a8 8b 78 40 7b ec b7 70 38 53 e0 3a 75 09>

Failed at the [email protected] install script.

npm install multi-hashing

                              ^
/root/.node-gyp/9.10.1/include/node/v8.h:5525:34: note:   no known conversion for argumen
multihashing.target.mk:143: recipe for target 'Release/obj.target/multihashing/multihashi
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:180:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:12)
gyp ERR! System Linux 3.13.0-109-generic
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/npm:-lifecycle/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/max/pool/node_modules/multi-hashing
gyp ERR! node -v v9.10.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:

Ubuntu 16.04
node -v
v9.10.1

nodejs -v
v4.2.6

npm -v
5.8.0

nvm ls
v0.10.25
v0.10.48
-> system
default -> 0.10.48 (-> v0.10.48)

how fix?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.