Skip to content

Can't Install Latest Version? #29

@rdegges

Description

@rdegges

Steps to reproduce

  1. Install the latest version of node-gyp globally.
  2. Use Node 4.0.0+
  3. Attempt to install this module via npm: npm install argon2 --save in a project.

Expected behaviour

The module should be installed without issue.

Actual behaviour

The module fails to build with node-gyp:

npm install argon2 --save > argon2@0.9.0 install /Users/rdegges/Dropbox/Code/testing/argon/node_modules/argon2 > node-gyp rebuild  CC(target) Release/obj.target/libargon2/argon2/src/argon2.o  CC(target) Release/obj.target/libargon2/argon2/src/core.o  CC(target) Release/obj.target/libargon2/argon2/src/blake2/blake2b.o  CC(target) Release/obj.target/libargon2/argon2/src/thread.o  CC(target) Release/obj.target/libargon2/argon2/src/encoding.o  CC(target) Release/obj.target/libargon2/argon2/src/opt.o  LIBTOOL-STATIC Release/argon2.a  CXX(target) Release/obj.target/argon2/src/argon2_node.o In file included from ../src/argon2_node.cpp:8: ../src/argon2_node.h:28:10: error: no type named 'unique_ptr' in namespace 'std'  std::unique_ptr<char[]> output;  ~~~~~^ ../src/argon2_node.h:28:20: error: expected member name or ';' after declaration specifiers  std::unique_ptr<char[]> output;  ~~~~~~~~~~~~~~~^ ../src/argon2_node.cpp:22:16: error: no member named 'ceil' in namespace 'std'  using std::ceil;  ~~~~~^ ../src/argon2_node.cpp:24:35: error: use of undeclared identifier 'ceil'  return static_cast<size_type>(ceil(length / 3.0)) * 4;  ^ ../src/argon2_node.cpp:20:21: error: no return statement in constexpr function constexpr size_type base64Length(size_type length)  ^ ../src/argon2_node.cpp:30:16: error: no member named 'to_string' in namespace 'std'  using std::to_string;  ~~~~~^ ../src/argon2_node.cpp:34:32: error: use of undeclared identifier 'to_string'  memoryCostLength = to_string(log(ARGON2_MAX_MEMORY)).size(),  ^ ../src/argon2_node.cpp:35:30: error: use of undeclared identifier 'to_string'  timeCostLength = to_string(ARGON2_MAX_TIME).size(),  ^ ../src/argon2_node.cpp:36:33: error: use of undeclared identifier 'to_string'  parallelismLength = to_string(ARGON2_MAX_LANES).size();  ^ ../src/argon2_node.cpp:47:69: error: member initializer 'output' does not name a non-static data member or base class  memory_cost{memory_cost}, parallelism{parallelism}, type{type}, output{}  ^~~~~~~~ ../src/argon2_node.cpp:53:5: error: use of undeclared identifier 'output'  output.reset(new char[ENCODED_LEN]);  ^ ../src/argon2_node.cpp:57:23: error: use of undeclared identifier 'output'  HASH_LEN, output.get(), ENCODED_LEN, type);  ^ ../src/argon2_node.cpp:74:34: error: use of undeclared identifier 'output'  promise->Resolve(Nan::Encode(output.get(), strlen(output.get())));  ^ ../src/argon2_node.cpp:74:55: error: use of undeclared identifier 'output'  promise->Resolve(Nan::Encode(output.get(), strlen(output.get())));  ^ ../src/argon2_node.cpp:141:24: error: no member named 'unique_ptr' in namespace 'std'  auto output = std::unique_ptr<char[]>{new char[ENCODED_LEN]};  ~~~~~^ ../src/argon2_node.cpp:141:39: error: expected '(' for function-style cast or type construction  auto output = std::unique_ptr<char[]>{new char[ENCODED_LEN]};  ~~~~^ ../src/argon2_node.cpp:251:34: warning: implicit conversion from 'unsigned long long' to 'uint32_t' (aka 'unsigned int') changes value from 4294967296 to 0 [-Wconstant-conversion]  Nan::New<Number>(log(ARGON2_MAX_MEMORY)));  ~~~ ^~~~~~~~~~~~~~~~~ ../src/../argon2/include/argon2.h:58:50: note: expanded from macro 'ARGON2_MAX_MEMORY'  ARGON2_MIN(UINT32_C(0xFFFFFFFF), UINT64_C(1) << ARGON2_MAX_MEMORY_BITS)  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/../argon2/include/argon2.h:53:46: note: expanded from macro 'ARGON2_MIN' #define ARGON2_MIN(a, b) ((a) < (b) ? (a) : (b))  ^ 1 warning and 16 errors generated. make: *** [Release/obj.target/argon2/src/argon2_node.o] Error 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/Users/rdegges/.nvm/versions/node/v5.5.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23) gyp ERR! stack at emitTwo (events.js:100:13) gyp ERR! stack at ChildProcess.emit (events.js:185:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) gyp ERR! System Darwin 15.3.0 gyp ERR! command "/Users/rdegges/.nvm/versions/node/v5.5.0/bin/node" "/Users/rdegges/.nvm/versions/node/v5.5.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /Users/rdegges/Dropbox/Code/testing/argon/node_modules/argon2 gyp ERR! node -v v5.5.0 gyp ERR! node-gyp -v v3.0.3 gyp ERR! not ok npm WARN EPACKAGEJSON argon@1.0.0 No description npm WARN EPACKAGEJSON argon@1.0.0 No repository field. npm ERR! Darwin 15.3.0 npm ERR! argv "/Users/rdegges/.nvm/versions/node/v5.5.0/bin/node" "/Users/rdegges/.nvm/versions/node/v5.5.0/bin/npm" "install" "argon2" "--save" npm ERR! node v5.5.0 npm ERR! npm v3.3.12 npm ERR! code ELIFECYCLE npm ERR! argon2@0.9.0 install: `node-gyp rebuild` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the argon2@0.9.0 install script 'node-gyp rebuild'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the argon2 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 argon2 npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! /Users/rdegges/Dropbox/Code/testing/argon/npm-debug.log

Environment

Operating system: OSX

Node version: 5.5.0

Compiler version:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions