Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation Error #311

Open
casser opened this issue Sep 29, 2015 · 23 comments

Comments

@casser
Copy link

@casser casser commented Sep 29, 2015

Getting install error, probably dependencies for my version of node

node -v v4.1.1
npm -v 2.14.4

Here is stack trace

npm WARN package.json sinopia@0.0.0 No repository field.
npm WARN package.json sinopia@0.0.0 No license field.

> crypt3@0.1.8 install /Users/Sergey/Work/EXP/sinopia/node_modules/crypt3
> node-gyp rebuild

  CXX(target) Release/obj.target/crypt3/crypt3.o
In file included from ../crypt3.cc:7:
../node_modules/nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:256:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:661:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:672:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/Sergey/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
providedergey/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were /
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../crypt3.cc:7:
../node_modules/nan/nan.h:676:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../crypt3.cc:7:
../node_modules/nan/nan.h:683:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
../crypt3.cc:29:30: warning: 'ErrnoException' is deprecated: Use UVException(isolate, ...) [-Wdeprecated-declarations]
                return NanThrowError(node::ErrnoException(errno, "crypt"));
                                           ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:100:45: note: 'ErrnoException' has been explicitly marked deprecated here
                inline v8::Local<v8::Value> ErrnoException(
                                            ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:66:42: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                                         ^
In file included from ../crypt3.cc:3:
In file included from /Users/Sergey/.node-gyp/4.1.1/include/node/node.h:42:
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:414:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../crypt3.cc:3:
In file included from /Users/Sergey/.node-gyp/4.1.1/include/node/node.h:42:
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:424:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../crypt3.cc:3:
In file included from /Users/Sergey/.node-gyp/4.1.1/include/node/node.h:42:
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1514:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../crypt3.cc:3:
In file included from /Users/Sergey/.node-gyp/4.1.1/include/node/node.h:42:
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1632:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
1 warning and 9 errors generated.
make: *** [Release/obj.target/crypt3/crypt3.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:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 14.5.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/Sergey/Work/EXP/sinopia/node_modules/crypt3
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 

> fs-ext@0.4.5 install /Users/Sergey/Work/EXP/sinopia/node_modules/fs-ext
> node-gyp configure build

  CXX(target) Release/obj.target/fs-ext/fs-ext.o
In file included from ../fs-ext.cc:27:
../node_modules/nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:256:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:661:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:672:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/Sergey/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../fs-ext.cc:27:
../node_modules/nan/nan.h:676:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../fs-ext.cc:27:
../node_modules/nan/nan.h:683:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
../fs-ext.cc:108:15: warning: 'ErrnoException' is deprecated: Use UVException(isolate, ...) [-Wdeprecated-declarations]
    argv[0] = ErrnoException(store_data->error);
              ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:100:45: note: 'ErrnoException' has been explicitly marked deprecated here
                inline v8::Local<v8::Value> ErrnoException(
                                            ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:66:42: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                                         ^
../fs-ext.cc:156:5: warning: 'FatalException' is deprecated: Use FatalException(isolate, ...) [-Wdeprecated-declarations]
    FatalException(try_catch);
    ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:283:29: note: 'FatalException' has been explicitly marked deprecated here
                inline void FatalException(const v8::TryCatch& try_catch) {
                            ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:66:42: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                                         ^
../fs-ext.cc:299:38: warning: 'ErrnoException' is deprecated: Use UVException(isolate, ...) [-Wdeprecated-declarations]
    if (i != 0) return NanThrowError(ErrnoException(errno));
                                     ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:100:45: note: 'ErrnoException' has been explicitly marked deprecated here
                inline v8::Local<v8::Value> ErrnoException(
                                            ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:66:42: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                                         ^
../fs-ext.cc:343:49: warning: 'ErrnoException' is deprecated: Use UVException(isolate, ...) [-Wdeprecated-declarations]
    if (offs_result == -1) return NanThrowError(ErrnoException(errno));
                                                ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:100:45: note: 'ErrnoException' has been explicitly marked deprecated here
                inline v8::Local<v8::Value> ErrnoException(
                                            ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:66:42: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                                         ^
../fs-ext.cc:380:44: warning: 'ErrnoException' is deprecated: Use UVException(isolate, ...) [-Wdeprecated-declarations]
    if (result == -1) return NanThrowError(ErrnoException(errno));
                                           ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:100:45: note: 'ErrnoException' has been explicitly marked deprecated here
                inline v8::Local<v8::Value> ErrnoException(
                                            ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:66:42: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                                         ^
../fs-ext.cc:439:40: warning: 'ErrnoException' is deprecated: Use UVException(isolate, ...) [-Wdeprecated-declarations]
    if (ret != 0) return NanThrowError(ErrnoException(errno, "utime", "", *path));
                                       ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:100:45: note: 'ErrnoException' has been explicitly marked deprecated here
                inline v8::Local<v8::Value> ErrnoException(
                                            ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:66:42: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                                         ^
../fs-ext.cc:476:40: warning: 'ErrnoException' is deprecated: Use UVException(isolate, ...) [-Wdeprecated-declarations]
    if (ret != 0) return NanThrowError(ErrnoException(errno, "statvfs", "", *path));
                                       ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:100:45: note: 'ErrnoException' has been explicitly marked deprecated here
                inline v8::Local<v8::Value> ErrnoException(
                                            ^
/Users/Sergey/.node-gyp/4.1.1/include/node/node.h:66:42: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                                         ^
In file included from ../fs-ext.cc:20:
In file included from /Users/Sergey/.node-gyp/4.1.1/include/node/node.h:42:
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:414:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../fs-ext.cc:20:
In file included from /Users/Sergey/.node-gyp/4.1.1/include/node/node.h:42:
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:424:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../fs-ext.cc:20:
In file included from /Users/Sergey/.node-gyp/4.1.1/include/node/node.h:42:
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1514:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../fs-ext.cc:20:
In file included from /Users/Sergey/.node-gyp/4.1.1/include/node/node.h:42:
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/Sergey/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1632:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
7 warnings and 9 errors generated.
make: *** [Release/obj.target/fs-ext/fs-ext.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:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 14.5.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /Users/Sergey/Work/EXP/sinopia/node_modules/fs-ext
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 

> dtrace-provider@0.4.0 install /Users/Sergey/Work/EXP/sinopia/node_modules/bunyan/node_modules/dtrace-provider
> node scripts/install.js

---------------
Building dtrace-provider failed with exit code 1 and signal 0
re-run install with environment variable V set to see the build output
---------------
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.1.1
npm ERR! npm  v2.14.4
npm ERR! code ELIFECYCLE

npm ERR! crypt3@0.1.8 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the crypt3@0.1.8 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the crypt3 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 crypt3
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/Sergey/Work/EXP/sinopia/npm-debug.log
@codeshrew

This comment has been minimized.

Copy link

@codeshrew codeshrew commented Oct 12, 2015

I'm getting the same issue with:

  • node v4.2.0
  • npm 3.3.6

Full stack trace in this gist >>

@SkamDart

This comment has been minimized.

Copy link

@SkamDart SkamDart commented Oct 13, 2015

@casser @codeshrew
I'm having the same issue. I think it might be a compatibility issue their travis logs show which node, npm, and nvm versions they're building off of.
They're significantly lower than ours.

 $ node --version
v2.5.0
$ npm --version
2.13.2
$ nvm --version
0.23.3

Downgrading to match their versions is probably the easiest solution..

@codeshrew

This comment has been minimized.

Copy link

@codeshrew codeshrew commented Oct 15, 2015

@cdart2 Yeah, works fine when I switch back. Was just logging the compatibility issue here in case anyone wants to look into making Sinopia work with node v4.2+

@Fufanu

This comment has been minimized.

Copy link

@Fufanu Fufanu commented Oct 23, 2015

Same problem on CentOS 7 with Nodejs 4.2.0 and 4.2.1

$ sudo npm install -g sinopia

crypt3@0.1.8 install /usr/lib/node_modules/sinopia/node_modules/crypt3
node-gyp rebuild

make: Entering directory /usr/lib/node_modules/sinopia/node_modules/crypt3/build' CXX(target) Release/obj.target/crypt3/crypt3.o In file included from ../crypt3.cc:7:0: ../node_modules/nan/nan.h:261:25: error: redefinition of ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)’ NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) { ^ ../node_modules/nan/nan.h:256:25: error: ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Handle<T>)’ previously declared here NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) { ^ ../node_modules/nan/nan.h:661:13: error: ‘node::smalloc’ has not been declared , node::smalloc::FreeCallback callback ^ ../node_modules/nan/nan.h:661:35: error: expected ‘,’ or ‘...’ before ‘callback’ , node::smalloc::FreeCallback callback ^ ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’: ../node_modules/nan/nan.h:665:50: error: ‘callback’ was not declared in this scope v8::Isolate::GetCurrent(), data, length, callback, hint); ^ ../node_modules/nan/nan.h:665:60: error: ‘hint’ was not declared in this scope v8::Isolate::GetCurrent(), data, length, callback, hint); ^ ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’: ../node_modules/nan/nan.h:672:67: error: call of overloaded ‘New(v8::Isolate*, const char*&, uint32_t&)’ is ambiguous return node::Buffer::New(v8::Isolate::GetCurrent(), data, size); ^ ../node_modules/nan/nan.h:672:67: note: candidates are: In file included from ../node_modules/nan/nan.h:25:0, from ../crypt3.cc:7: /root/.node-gyp/4.2.0/include/node/node_buffer.h:31:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, v8::Local<v8::String>, node::encoding) <near match> NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, ^ /root/.node-gyp/4.2.0/include/node/node_buffer.h:31:40: note: no known conversion for argument 3 from ‘uint32_t {aka unsigned int}’ to ‘node::encoding’ /root/.node-gyp/4.2.0/include/node/node_buffer.h:43:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t) <near match> NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, ^ /root/.node-gyp/4.2.0/include/node/node_buffer.h:43:40: note: no known conversion for argument 2 from ‘const char*’ to ‘char*’ In file included from ../crypt3.cc:7:0: ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’: ../node_modules/nan/nan.h:676:61: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’ return node::Buffer::New(v8::Isolate::GetCurrent(), size); ^ ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’: ../node_modules/nan/nan.h:683:12: error: ‘Use’ is not a member of ‘node::Buffer’ return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size); ^ ../crypt3.cc: In function ‘void Method(const v8::FunctionCallbackInfo<v8::Value>&)’: ../crypt3.cc:29:59: warning: ‘v8::Local<v8::Value> node::ErrnoException(int, const char*, const char*, const char*)’ is deprecated (declared at /root/.node-gyp/4.2.0/include/node/node.h:99): Use UVException(isolate, ...) [-Wdeprecated-declarations] return NanThrowError(node::ErrnoException(errno, "crypt")); ^ make: *** [Release/obj.target/crypt3/crypt3.o] Error 1 make: Leaving directory/usr/lib/node_modules/sinopia/node_modules/crypt3/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:270:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 3.10.0-229.14.1.el7.x86_64
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/lib/node_modules/sinopia/node_modules/crypt3
gyp ERR! node -v v4.2.0
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok

fs-ext@0.4.5 install /usr/lib/node_modules/sinopia/node_modules/fs-ext
node-gyp configure build

make: Entering directory /usr/lib/node_modules/sinopia/node_modules/fs-ext/build' CXX(target) Release/obj.target/fs-ext/fs-ext.o In file included from ../fs-ext.cc:27:0: ../node_modules/nan/nan.h:261:25: error: redefinition of ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)’ NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) { ^ ../node_modules/nan/nan.h:256:25: error: ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Handle<T>)’ previously declared here NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) { ^ ../node_modules/nan/nan.h:661:13: error: ‘node::smalloc’ has not been declared , node::smalloc::FreeCallback callback ^ ../node_modules/nan/nan.h:661:35: error: expected ‘,’ or ‘...’ before ‘callback’ , node::smalloc::FreeCallback callback ^ ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’: ../node_modules/nan/nan.h:665:50: error: ‘callback’ was not declared in this scope v8::Isolate::GetCurrent(), data, length, callback, hint); ^ ../node_modules/nan/nan.h:665:60: error: ‘hint’ was not declared in this scope v8::Isolate::GetCurrent(), data, length, callback, hint); ^ ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’: ../node_modules/nan/nan.h:672:67: error: call of overloaded ‘New(v8::Isolate*, const char*&, uint32_t&)’ is ambiguous return node::Buffer::New(v8::Isolate::GetCurrent(), data, size); ^ ../node_modules/nan/nan.h:672:67: note: candidates are: In file included from ../node_modules/nan/nan.h:25:0, from ../fs-ext.cc:27: /root/.node-gyp/4.2.0/include/node/node_buffer.h:31:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, v8::Local<v8::String>, node::encoding) <near match> NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, ^ /root/.node-gyp/4.2.0/include/node/node_buffer.h:31:40: note: no known conversion for argument 3 from ‘uint32_t {aka unsigned int}’ to ‘node::encoding’ /root/.node-gyp/4.2.0/include/node/node_buffer.h:43:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t) <near match> NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, ^ /root/.node-gyp/4.2.0/include/node/node_buffer.h:43:40: note: no known conversion for argument 2 from ‘const char*’ to ‘char*’ In file included from ../fs-ext.cc:27:0: ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’: ../node_modules/nan/nan.h:676:61: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’ return node::Buffer::New(v8::Isolate::GetCurrent(), size); ^ ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’: ../node_modules/nan/nan.h:683:12: error: ‘Use’ is not a member of ‘node::Buffer’ return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size); ^ ../fs-ext.cc: In function ‘void EIO_After(uv_work_t*)’: ../fs-ext.cc:108:47: warning: ‘v8::Local<v8::Value> node::ErrnoException(int, const char*, const char*, const char*)’ is deprecated (declared at /root/.node-gyp/4.2.0/include/node/node.h:99): Use UVException(isolate, ...) [-Wdeprecated-declarations] argv[0] = ErrnoException(store_data->error); ^ ../fs-ext.cc:156:29: warning: ‘void node::FatalException(const v8::TryCatch&)’ is deprecated (declared at /root/.node-gyp/4.2.0/include/node/node.h:282): Use FatalException(isolate, ...) [-Wdeprecated-declarations] FatalException(try_catch); ^ ../fs-ext.cc: In function ‘void Flock(const v8::FunctionCallbackInfo<v8::Value>&)’: ../fs-ext.cc:299:58: warning: ‘v8::Local<v8::Value> node::ErrnoException(int, const char*, const char*, const char*)’ is deprecated (declared at /root/.node-gyp/4.2.0/include/node/node.h:99): Use UVException(isolate, ...) [-Wdeprecated-declarations] if (i != 0) return NanThrowError(ErrnoException(errno)); ^ ../fs-ext.cc: In function ‘void Seek(const v8::FunctionCallbackInfo<v8::Value>&)’: ../fs-ext.cc:343:69: warning: ‘v8::Local<v8::Value> node::ErrnoException(int, const char*, const char*, const char*)’ is deprecated (declared at /root/.node-gyp/4.2.0/include/node/node.h:99): Use UVException(isolate, ...) [-Wdeprecated-declarations] if (offs_result == -1) return NanThrowError(ErrnoException(errno)); ^ ../fs-ext.cc: In function ‘void Fcntl(const v8::FunctionCallbackInfo<v8::Value>&)’: ../fs-ext.cc:380:64: warning: ‘v8::Local<v8::Value> node::ErrnoException(int, const char*, const char*, const char*)’ is deprecated (declared at /root/.node-gyp/4.2.0/include/node/node.h:99): Use UVException(isolate, ...) [-Wdeprecated-declarations] if (result == -1) return NanThrowError(ErrnoException(errno)); ^ ../fs-ext.cc: In function ‘void UTime(const v8::FunctionCallbackInfo<v8::Value>&)’: ../fs-ext.cc:439:80: warning: ‘v8::Local<v8::Value> node::ErrnoException(int, const char*, const char*, const char*)’ is deprecated (declared at /root/.node-gyp/4.2.0/include/node/node.h:99): Use UVException(isolate, ...) [-Wdeprecated-declarations] if (ret != 0) return NanThrowError(ErrnoException(errno, "utime", "", *path)); ^ ../fs-ext.cc: In function ‘void StatVFS(const v8::FunctionCallbackInfo<v8::Value>&)’: ../fs-ext.cc:476:82: warning: ‘v8::Local<v8::Value> node::ErrnoException(int, const char*, const char*, const char*)’ is deprecated (declared at /root/.node-gyp/4.2.0/include/node/node.h:99): Use UVException(isolate, ...) [-Wdeprecated-declarations] if (ret != 0) return NanThrowError(ErrnoException(errno, "statvfs", "", *path)); ^ make: *** [Release/obj.target/fs-ext/fs-ext.o] Error 1 make: Leaving directory/usr/lib/node_modules/sinopia/node_modules/fs-ext/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:270:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 3.10.0-229.14.1.el7.x86_64
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /usr/lib/node_modules/sinopia/node_modules/fs-ext
v4.2.0! node -v/
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm WARN optional dep failed, continuing crypt3@0.1.8
npm WARN optional dep failed, continuing fs-ext@0.4.5
\

dtrace-provider@0.4.0 install /usr/lib/node_modules/sinopia/node_modules/bunyan/node_modules/dtrace-provider
node scripts/install.js

/usr/bin/sinopia -> /usr/lib/node_modules/sinopia/bin/sinopia
sinopia@1.4.0 /usr/lib/node_modules/sinopia
├── sinopia-htpasswd@0.4.5
├── async@0.9.2
├── es6-shim@0.21.1
├── http-errors@1.3.1 (statuses@1.2.1, inherits@2.0.1)
├── commander@2.8.1 (graceful-readlink@1.0.1)
├── cookies@0.5.0 (keygrip@1.0.1)
├── readable-stream@1.1.13 (string_decoder@0.10.31, isarray@0.0.1, core-util-is@1.0.1, inherits@2.0.1)
├── minimatch@1.0.0 (sigmund@1.0.1, lru-cache@2.6.4)
├── jju@1.2.0
├── mkdirp@0.5.1 (minimist@0.0.8)
├── compression@1.4.4 (vary@1.0.0, on-headers@1.0.0, bytes@1.0.0, compressible@2.0.2, debug@2.2.0, accepts@1.2.7)
├── JSONStream@1.0.3 (through@2.3.7, jsonparse@1.0.0)
├── body-parser@1.12.4 (content-type@1.0.1, bytes@1.0.0, depd@1.0.1, qs@2.4.2, raw-body@2.0.2, on-finished@2.2.1, debug@2.2.0, iconv-lite@0.4.8, type-is@1.6.2)
├── express-json5@0.1.0 (raw-body@1.3.4)
├── express@5.0.0-alpha.1 (utils-merge@1.0.0, merge-descriptors@0.0.2, cookie@0.1.2, fresh@0.2.4, media-typer@0.3.0, serve-static@1.7.2, content-disposition@0.5.0, range-parser@1.0.2, finalhandler@0.3.2, escape-html@1.0.1, cookie-signature@1.0.5, vary@1.0.0, parseurl@1.3.0, path-to-regexp@0.1.3, methods@1.1.0, depd@1.0.1, qs@2.3.2, on-finished@2.1.1, send@0.10.1, debug@2.1.3, proxy-addr@1.0.8, etag@1.5.1, accepts@1.1.4, type-is@1.5.7)
├── semver@4.3.5
├── lunr@0.5.9
├── bunyan@1.3.5 (safe-json-stringify@1.0.3, mv@2.0.3, dtrace-provider@0.4.0)
├── request@2.56.0 (forever-agent@0.6.1, aws-sign2@0.5.0, caseless@0.10.0, tunnel-agent@0.4.0, oauth-sign@0.8.0, stringstream@0.0.4, isstream@0.1.2, json-stringify-safe@5.0.1, node-uuid@1.4.3, qs@3.1.0, combined-stream@1.0.3, mime-types@2.0.12, tough-cookie@1.2.0, http-signature@0.11.0, form-data@0.2.0, bl@0.9.4, hawk@2.3.1, har-validator@1.7.1)
├── highlight.js@8.6.0
├── handlebars@2.0.0 (optimist@0.3.7, uglify-js@2.3.6)
├── render-readme@1.3.0 (sanitize-html@1.6.1, markdown-it@4.2.1)
└── js-yaml@3.3.1 (esprima@2.2.0, argparse@1.0.2)

@LukeMizuhashi

This comment has been minimized.

Copy link

@LukeMizuhashi LukeMizuhashi commented Oct 26, 2015

Ditto here, Centos 7, npm 2.14.7, node 4.2.1. I'd include error output, but it's nearly verbatim of the above.

@LukeMizuhashi

This comment has been minimized.

Copy link

@LukeMizuhashi LukeMizuhashi commented Oct 26, 2015

Also of note, on minimal CentOS 7, I had to manually sudo yum -y install gcc-c++. Seems like something the install process ought to check for and do on its own?

@leeight

This comment has been minimized.

Copy link

@leeight leeight commented Nov 22, 2015

+1

@levic

This comment has been minimized.

Copy link

@levic levic commented Feb 5, 2016

Looks like the underlying problem is with crypt3: sendanor/node-crypt3#10

Edit: actually a library (nan) that crypt3 is dependent on

@levic

This comment has been minimized.

Copy link

@levic levic commented Feb 5, 2016

Workarounds:

[1] Do nothing. The crypt3 depdency is optional anyway: sendanor/node-crypt3#7

[2] Remove the shrinkwrapped nan 1.8 and get sinopia to use a the latest versions of its libraries

  • npm install sinopia and let it fail.
  • Delete node_modules/sinopia/npm-shrinkwrap.json (remember this won't be in your current dir if you installed with -g)
  • From within node_modules/sinopia, run npm install
@bestander

This comment has been minimized.

Copy link

@bestander bestander commented Feb 15, 2016

wow, that bug has been here for a long time

@JosephShering

This comment has been minimized.

Copy link

@JosephShering JosephShering commented Feb 15, 2016

I have this issue on node version 5.6.0 and 5.4.1. I get

Error:makefailed with exit code: 2

After make was installed just moments ago, I'm on Ubuntu 14.04, installed via apt-get

bestander added a commit to bestander/react-native that referenced this issue Feb 15, 2016
While waiting for rlidwka/sinopia#311 to be resolved I cloned repo and make e2e tests install from my fork.
bestander added a commit to facebook/react-native that referenced this issue Feb 15, 2016
While waiting for rlidwka/sinopia#311 to be resolved I cloned repo and make e2e tests install from my fork.
bestander added a commit to bestander/react-native that referenced this issue Feb 16, 2016
While waiting for rlidwka/sinopia#311 to be resolved I cloned repo and make e2e tests install from my fork.
bestander added a commit to bestander/react-native that referenced this issue Feb 16, 2016
While waiting for rlidwka/sinopia#311 to be resolved I cloned repo and make e2e tests install from my fork.
bestander added a commit to bestander/react-native that referenced this issue Feb 16, 2016
While waiting for rlidwka/sinopia#311 to be resolved I cloned repo and make e2e tests install from my fork.
bestander added a commit to bestander/react-native that referenced this issue Feb 16, 2016
While waiting for rlidwka/sinopia#311 to be resolved I cloned repo and make e2e tests install from my fork.
@vyorkin

This comment has been minimized.

Copy link

@vyorkin vyorkin commented Mar 18, 2016

guys, please use gists to post your logs

@nicolashemonic

This comment has been minimized.

Copy link

@nicolashemonic nicolashemonic commented Jun 28, 2016

Hi guys,

Dependencies crypt3 and fs-ext are native modules that could fail to compile and unavailable on Windows. They are optional and does not affect usage of Sinopia. To avoid errors, you can not install this dependencies with no-optional and no-shrinkwrap options.

npm install sinopia --no-optional --no-shrinkwrap

@teazean

This comment has been minimized.

Copy link

@teazean teazean commented Aug 22, 2016

npm install sinopia --no-optional --no-shrinkwrap

works fine.

@owaishanif786

This comment has been minimized.

Copy link

@owaishanif786 owaishanif786 commented Aug 31, 2016

ubuntu 16.04, node:4.5 same error solved withnpm install sinopia --no-optional --no-shrinkwrap

@chrisdukey

This comment has been minimized.

Copy link

@chrisdukey chrisdukey commented Sep 1, 2016

I can confirm that npm install sinopia --no-optional --no-shrinkwrap fixes the same issue on OS X 10.11.4, node 6.2.2

@atais

This comment has been minimized.

Copy link

@atais atais commented Oct 7, 2016

@chrisdukey Thanks! This should be in the README! Works with Ubuntu 14.04, node 6.7.0

@davidhq

This comment has been minimized.

Copy link

@davidhq davidhq commented Mar 2, 2017

Just a tip: this seems like the forward-proof maintained version of Sinopia: https://www.npmjs.com/package/verdaccio

I was testing Sinopia and besides difficult install, there was problem when installing the ava package because in the meantime npmjs implemented Scoped packages, example @AVA.

verdaccio worked in this case, so far no issues...

this is the storage folder ~/.config/verdaccio/storage:

drwxr-xr-x  335 david  staff    11K Mar  2 16:09 .
drwxr-xr-x    4 david  staff   136B Mar  2 16:09 ..
-rw-r--r--    1 david  staff    87B Mar  2 16:09 .sinopia-db.json
drwxr-xr-x    5 david  staff   170B Mar  2 16:09 @ava
drwxr-xr-x    3 david  staff   102B Mar  2 16:09 ansi-align
drwxr-xr-x    3 david  staff   102B Mar  2 16:09 ansi-regex
...
@BskyRui

This comment has been minimized.

Copy link

@BskyRui BskyRui commented Mar 9, 2017

@nicolashemonic Works fine! thx!

@IsuruMadhushanka

This comment has been minimized.

Copy link

@IsuruMadhushanka IsuruMadhushanka commented Jul 11, 2017

@nicolashemonic npm install sinopia --no-optional --no-shrinkwrap
worked well. thanks.

@bochen2014

This comment has been minimized.

Copy link

@bochen2014 bochen2014 commented Dec 7, 2017

@nicolashemonic sudo npm i -g sinopia --no-optional --no-shrinkwrap works . thanks (on a centOS 7)

@reggieofarrell

This comment has been minimized.

Copy link

@reggieofarrell reggieofarrell commented Jan 16, 2018

I was having problems on OSX and sudo npm i -g sinopia --no-optional --no-shrinkwrap worked for me. This should be added to the readme for the project.

@dcchristopher

This comment has been minimized.

Copy link

@dcchristopher dcchristopher commented Oct 19, 2019

Same as it ever was ... and the proposed solution still works of course.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.