atom/git-utils

Problems Building on Node 4.0.0

Closed this issue · 1 comments

jlord commented

Note, working on getting apm on Node.js 4.0.0 and following errors

I'm on ARM with Node.js 4.0.0 and this doesn't compile:

(trusty)jlord@localhost:~/code/git-utils$ npm install
npm WARN package.json git-utils@3.0.1 No license field.

> coffeelint@0.5.7 install /home/jlord/code/git-utils/node_modules/grunt-coffeelint/node_modules/coffeelint
> [ -e lib/commandline.js ] || npm run compile

\
> git-utils@3.0.1 install /home/jlord/code/git-utils
> node-gyp rebuild

make: Entering directory `/home/jlord/code/git-utils/build'
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/attr.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/attr_file.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/attrcache.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/blame_git.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/blame.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/blob.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/branch.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/buf_text.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/buffer.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/cache.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/checkout.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/cherrypick.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/clone.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/commit.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/commit_list.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/config.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/config_cache.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/config_file.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/crlf.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/date.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/delta-apply.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/delta.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_driver.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_file.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_patch.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_print.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_stats.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_tform.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/diff_xdiff.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/errors.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/fetch.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/fetchhead.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/filebuf.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/fileops.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/filter.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/fnmatch.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/global.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/graph.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/hash.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/hashsig.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/ident.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/ignore.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/index.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/indexer.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/iterator.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/merge.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/merge_file.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/message.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/mwindow.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/netops.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/notes.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/object.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/object_api.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/odb.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/odb_loose.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/odb_mempack.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/odb_pack.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/oid.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/pack-objects.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/pack.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/path.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/pathspec.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/pool.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/posix.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/pqueue.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/push.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/refdb.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/refdb_fs.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/reflog.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/refs.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/refspec.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/remote.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/repository.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/reset.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/revert.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/revparse.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/revwalk.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/settings.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/sha1_lookup.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/signature.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/sortedcache.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/stash.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/status.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/strmap.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/submodule.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/sysdir.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/tag.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/thread-utils.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/trace.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transport.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/tree-cache.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/tree.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/tsort.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/util.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/vector.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/zstream.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/cred.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/cred_helpers.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/git.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/http.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/local.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/smart.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/smart_pkt.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/smart_protocol.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/ssh.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/transports/winhttp.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xdiffi.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xemit.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xhistogram.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xmerge.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xpatience.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xprepare.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/xdiff/xutils.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/hash/hash_generic.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/unix/map.o
  CC(target) Release/obj.target/libgit2/deps/libgit2/src/unix/realpath.o
  AR(target) Release/obj.target/git2.a
  COPY Release/git2.a
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/adler32.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/crc32.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/deflate.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/inffast.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/inflate.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/inftrees.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/trees.o
  CC(target) Release/obj.target/zlib/deps/libgit2/deps/zlib/zutil.o
  AR(target) Release/obj.target/zlib.a
  COPY Release/zlib.a
  CC(target) Release/obj.target/http_parser/deps/libgit2/deps/http-parser/http_parser.o
  AR(target) Release/obj.target/http_parser.a
  COPY Release/http_parser.a
  CXX(target) Release/obj.target/git/src/repository.o
In file included from ../src/repository.h:29:0,
                 from ../src/repository.cc:22:
../node_modules/nan/nan.h:260: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:255: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:660:13: error: 'node::smalloc' has not been declared
     , node::smalloc::FreeCallback callback
             ^
../node_modules/nan/nan.h:660: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:664:50: error: 'callback' was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                  ^
../node_modules/nan/nan.h:664: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:671: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:671:67: note: candidates are:
In file included from ../node_modules/nan/nan.h:25:0,
                 from ../src/repository.h:29,
                 from ../src/repository.cc:22:
/home/jlord/.node-gyp/4.0.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,
                                        ^
/home/jlord/.node-gyp/4.0.0/include/node/node_buffer.h:31:40: note:   no known conversion for argument 3 from 'uint32_t {aka unsigned int}' to 'node::encoding'
/home/jlord/.node-gyp/4.0.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,
                                        ^
/home/jlord/.node-gyp/4.0.0/include/node/node_buffer.h:43:40: note:   no known conversion for argument 2 from 'const char*' to 'char*'
In file included from ../src/repository.h:29:0,
                 from ../src/repository.cc:22:
../node_modules/nan/nan.h: In function 'v8::Local<v8::Object> NanNewBufferHandle(uint32_t)':
../node_modules/nan/nan.h:675:61: error: could not convert 'node::Buffer::New(v8::Isolate::GetCurrent(), 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:682:12: error: 'Use' is not a member of 'node::Buffer'
     return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
            ^
make: *** [Release/obj.target/git/src/repository.o] Error 1
make: Leaving directory `/home/jlord/code/git-utils/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.14.0
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/jlord/code/git-utils
gyp ERR! node -v v4.0.0
gyp ERR! node-gyp -v v3.0.1
gyp ERR! not ok 

npm ERR! Linux 3.14.0
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v4.0.0
npm ERR! npm  v2.14.2
npm ERR! code ELIFECYCLE
npm ERR! git-utils@3.0.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the git-utils@3.0.1 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the git-utils 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 git-utils
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/jlord/code/git-utils/npm-debug.log
jlord commented

Woot, it's fixed now! Bad cloning timing 😀