microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
164.42k stars 29.34k forks source link

Build failure on 1.6.0 Linux 64-bit #13487

Closed JoshStrobl closed 8 years ago

JoshStrobl commented 8 years ago
Linux goliath 4.8.1 #1 SMP Fri Oct 7 19:20:18 UTC 2016 x86_64 GNU/Linux
LSB Version:    1.4
Distributor ID: Solus
Description:    Solus
Release:        1.2.0.5
Codename:       shannon

This wasn't an issue prior to 1.6.0. As of 1.6.0, the follow error occurs on and thus build fails:

npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@0.3.8
gulp vscode-linux-x64
module.js:457
    throw err;
    ^

Error: Cannot find module 'gulp-watch'
    at Function.Module._resolveFilename (module.js:455:15)
    at Function.Module._load (module.js:403:25)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/var/ypkg-root/root/vscode/build/vscode-1.6.0/build/lib/watch/index.js:22:4)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)

Full log:

+ npm install -g mocha gulp
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it inthe tree.
/usr/bin/gulp -> /usr/lib/node_modules/gulp/bin/gulp.js
/usr/bin/mocha -> /usr/lib/node_modules/mocha/bin/mocha
/usr/bin/_mocha -> /usr/lib/node_modules/mocha/bin/_mocha
/usr/lib
├─┬ gulp@3.9.1
│ ├── archy@1.0.0
│ ├─┬ chalk@1.1.3
│ │ ├── ansi-styles@2.2.1
│ │ ├── escape-string-regexp@1.0.5
│ │ ├─┬ has-ansi@2.0.0
│ │ │ └── ansi-regex@2.0.0
│ │ ├── strip-ansi@3.0.1
│ │ └── supports-color@2.0.0
│ ├── deprecated@0.0.1
│ ├─┬ gulp-util@3.0.7
│ │ ├── array-differ@1.0.0
│ │ ├── array-uniq@1.0.3
│ │ ├── beeper@1.1.0
│ │ ├─┬ dateformat@1.0.12
│ │ │ ├── get-stdin@4.0.1
│ │ │ └─┬ meow@3.7.0
│ │ │   ├─┬ camelcase-keys@2.1.0
│ │ │   │ └── camelcase@2.1.1
│ │ │   ├── decamelize@1.2.0
│ │ │   ├─┬ loud-rejection@1.6.0
│ │ │   │ ├─┬ currently-unhandled@0.4.1
│ │ │   │ │ └── array-find-index@1.0.2
│ │ │   │ └── signal-exit@3.0.1
│ │ │   ├── map-obj@1.0.1
│ │ │   ├─┬ normalize-package-data@2.3.5
│ │ │   │ ├── hosted-git-info@2.1.5
│ │ │   │ ├─┬ is-builtin-module@1.0.0
│ │ │   │ │ └── builtin-modules@1.1.1
│ │ │   │ └─┬ validate-npm-package-license@3.0.1
│ │ │   │   ├─┬ spdx-correct@1.0.2
│ │ │   │   │ └── spdx-license-ids@1.2.2
│ │ │   │   └── spdx-expression-parse@1.0.4
│ │ │   ├── object-assign@4.1.0
│ │ │   ├─┬ read-pkg-up@1.0.1
│ │ │   │ ├─┬ find-up@1.1.2
│ │ │   │ │ ├── path-exists@2.1.0
│ │ │   │ │ └─┬ pinkie-promise@2.0.1
│ │ │   │ │   └── pinkie@2.0.4
│ │ │   │ └─┬ read-pkg@1.1.0
│ │ │   │   ├─┬ load-json-file@1.1.0
│ │ │   │   │ ├── graceful-fs@4.1.9
│ │ │   │   │ ├─┬ parse-json@2.2.0
│ │ │   │   │ │ └─┬ error-ex@1.3.0
│ │ │   │   │ │   └── is-arrayish@0.2.1
│ │ │   │   │ ├── pify@2.3.0
│ │ │   │   │ └── strip-bom@2.0.0
│ │ │   │   └── path-type@1.1.0
│ │ │   ├─┬ redent@1.0.0
│ │ │   │ ├─┬ indent-string@2.1.0
│ │ │   │ │ └─┬ repeating@2.0.1
│ │ │   │ │   └─┬ is-finite@1.0.2
│ │ │   │ │     └── number-is-nan@1.0.1
│ │ │   │ └── strip-indent@1.0.1
│ │ │   └── trim-newlines@1.0.0
│ │ ├─┬ fancy-log@1.2.0
│ │ │ └── time-stamp@1.0.1
│ │ ├─┬ gulplog@1.0.0
│ │ │ └── glogg@1.0.0
│ │ ├─┬ has-gulplog@0.1.0
│ │ │ └── sparkles@1.0.0
│ │ ├── lodash._reescape@3.0.0
│ │ ├── lodash._reevaluate@3.0.0
│ │ ├── lodash._reinterpolate@3.0.0
│ │ ├─┬ lodash.template@3.6.2
│ │ │ ├── lodash._basecopy@3.0.1
│ │ │ ├── lodash._basetostring@3.0.1
│ │ │ ├── lodash._basevalues@3.0.0
│ │ │ ├── lodash._isiterateecall@3.0.9
│ │ │ ├─┬ lodash.escape@3.2.0
│ │ │ │ └── lodash._root@3.0.1
│ │ │ ├─┬ lodash.keys@3.1.2
│ │ │ │ ├── lodash._getnative@3.9.1
│ │ │ │ ├── lodash.isarguments@3.1.0
│ │ │ │ └── lodash.isarray@3.0.4
│ │ │ ├── lodash.restparam@3.6.1
│ │ │ └── lodash.templatesettings@3.1.1
│ │ ├─┬ multipipe@0.1.2
│ │ │ └─┬ duplexer2@0.0.2
│ │ │   └── readable-stream@1.1.14
│ │ ├── object-assign@3.0.0
│ │ ├── replace-ext@0.0.1
│ │ ├─┬ through2@2.0.1
│ │ │ ├─┬ readable-stream@2.0.6
│ │ │ │ ├── core-util-is@1.0.2
│ │ │ │ ├── inherits@2.0.3
│ │ │ │ ├── isarray@1.0.0
│ │ │ │ ├── process-nextick-args@1.0.7
│ │ │ │ ├── string_decoder@0.10.31
│ │ │ │ └── util-deprecate@1.0.2
│ │ │ └── xtend@4.0.1
│ │ └─┬ vinyl@0.5.3
│ │   ├── clone@1.0.2
│ │   └── clone-stats@0.0.1
│ ├── interpret@1.0.1
│ ├─┬ liftoff@2.3.0
│ │ ├── extend@3.0.0
│ │ ├─┬ findup-sync@0.4.2
│ │ │ ├─┬ detect-file@0.1.0
│ │ │ │ └── fs-exists-sync@0.1.0
│ │ │ ├─┬ is-glob@2.0.1
│ │ │ │ └── is-extglob@1.0.0
│ │ │ ├─┬ micromatch@2.3.11
│ │ │ │ ├─┬ arr-diff@2.0.0
│ │ │ │ │ └── arr-flatten@1.0.1
│ │ │ │ ├── array-unique@0.2.1
│ │ │ │ ├─┬ braces@1.8.5
│ │ │ │ │ ├─┬ expand-range@1.8.2
│ │ │ │ │ │ └─┬ fill-range@2.2.3
│ │ │ │ │ │   ├── is-number@2.1.0
│ │ │ │ │ │   ├─┬ isobject@2.1.0
│ │ │ │ │ │   │ └── isarray@1.0.0
│ │ │ │ │ │   ├── randomatic@1.1.5
│ │ │ │ │ │   └── repeat-string@1.5.4
│ │ │ │ │ ├── preserve@0.2.0
│ │ │ │ │ └── repeat-element@1.1.2
│ │ │ │ ├─┬ expand-brackets@0.1.5
│ │ │ │ │ └── is-posix-bracket@0.1.1
│ │ │ │ ├── extglob@0.3.2
│ │ │ │ ├── filename-regex@2.0.0
│ │ │ │ ├─┬ kind-of@3.0.4
│ │ │ │ │ └── is-buffer@1.1.4
│ │ │ │ ├── normalize-path@2.0.1
│ │ │ │ ├─┬ object.omit@2.0.0
│ │ │ │ │ ├─┬ for-own@0.1.4
│ │ │ │ │ │ └── for-in@0.1.6
│ │ │ │ │ └── is-extendable@0.1.1
│ │ │ │ ├─┬ parse-glob@3.0.4
│ │ │ │ │ ├─┬ glob-base@0.3.0
│ │ │ │ │ │ └── glob-parent@2.0.0
│ │ │ │ │ └── is-dotfile@1.0.2
│ │ │ │ └─┬ regex-cache@0.4.3
│ │ │ │   ├── is-equal-shallow@0.1.3
│ │ │ │   └── is-primitive@2.0.0
│ │ │ └─┬ resolve-dir@0.1.1
│ │ │   └─┬ global-modules@0.2.3
│ │ │     ├─┬ global-prefix@0.1.4
│ │ │     │ ├── ini@1.3.4
│ │ │     │ ├─┬ osenv@0.1.3
│ │ │     │ │ └── os-tmpdir@1.0.2
│ │ │     │ └─┬ which@1.2.11
│ │ │     │   └── isexe@1.1.2
│ │ │     └── is-windows@0.2.0
│ │ ├─┬ fined@1.0.2
│ │ │ ├── expand-tilde@1.2.2
│ │ │ ├── lodash.assignwith@4.2.0
│ │ │ ├── lodash.isempty@4.4.0
│ │ │ ├── lodash.pick@4.4.0
│ │ │ └─┬ parse-filepath@1.0.1
│ │ │   ├─┬ is-absolute@0.2.5
│ │ │   │ ├─┬ is-relative@0.2.1
│ │ │   │ │ └─┬ is-unc-path@0.1.1
│ │ │   │ │   └── unc-path-regex@0.1.2
│ │ │   │ └── is-windows@0.1.1
│ │ │   ├── map-cache@0.2.2
│ │ │   └─┬ path-root@0.1.1
│ │ │     └── path-root-regex@0.1.2
│ │ ├── flagged-respawn@0.3.2
│ │ ├── lodash.isplainobject@4.0.6
│ │ ├── lodash.isstring@4.0.1
│ │ ├── lodash.mapvalues@4.6.0
│ │ ├── rechoir@0.6.2
│ │ └── resolve@1.1.7
│ ├── minimist@1.2.0
│ ├─┬ orchestrator@0.3.7
│ │ ├─┬ end-of-stream@0.1.5
│ │ │ └─┬ once@1.3.3
│ │ │   └── wrappy@1.0.2
│ │ ├── sequencify@0.0.7
│ │ └── stream-consume@0.1.0
│ ├── pretty-hrtime@1.0.2
│ ├── semver@4.3.6
│ ├─┬ tildify@1.2.0
│ │ └── os-homedir@1.0.2
│ ├─┬ v8flags@2.0.11
│ │ └── user-home@1.1.1
│ └─┬ vinyl-fs@0.3.14
│   ├── defaults@1.0.3
│   ├─┬ glob-stream@3.1.18
│   │ ├─┬ glob@4.5.3
│   │ │ └── inflight@1.0.5
│   │ ├─┬ glob2base@0.0.12
│   │ │ └── find-index@0.1.1
│   │ ├─┬ minimatch@2.0.10
│   │ │ └─┬ brace-expansion@1.1.6
│   │ │   ├── balanced-match@0.4.2
│   │ │   └── concat-map@0.0.1
│   │ ├── ordered-read-streams@0.1.0
│   │ ├─┬ through2@0.6.5
│   │ │ └── readable-stream@1.0.34
│   │ └── unique-stream@1.0.0
│   ├─┬ glob-watcher@0.0.6
│   │ └─┬ gaze@0.5.2
│   │   └─┬ globule@0.1.0
│   │     ├─┬ glob@3.1.21
│   │     │ ├── graceful-fs@1.2.3
│   │     │ └── inherits@1.0.2
│   │     ├── lodash@1.0.2
│   │     └─┬ minimatch@0.2.14
│   │       ├── lru-cache@2.7.3
│   │       └── sigmund@1.0.1
│   ├─┬ graceful-fs@3.0.11
│   │ └── natives@1.1.0
│   ├─┬ mkdirp@0.5.1
│   │ └── minimist@0.0.8
│   ├─┬ strip-bom@1.0.0
│   │ ├── first-chunk-stream@1.0.0
│   │ └── is-utf8@0.2.1
│   ├─┬ through2@0.6.5
│   │ └─┬ readable-stream@1.0.34
│   │   └── isarray@0.0.1
│   └─┬ vinyl@0.4.6
│     └── clone@0.2.0
└─┬ mocha@3.1.2
  ├── browser-stdout@1.3.0
  ├─┬ commander@2.9.0
  │ └── graceful-readlink@1.0.1
  ├─┬ debug@2.2.0
  │ └── ms@0.7.1
  ├── diff@1.4.0
  ├── escape-string-regexp@1.0.5
  ├─┬ glob@7.0.5
  │ ├── fs.realpath@1.0.0
  │ ├─┬ inflight@1.0.5
  │ │ └── wrappy@1.0.2
  │ ├── inherits@2.0.3
  │ ├─┬ minimatch@3.0.3
  │ │ └─┬ brace-expansion@1.1.6
  │ │   ├── balanced-match@0.4.2
  │ │   └── concat-map@0.0.1
  │ ├── once@1.4.0
  │ └── path-is-absolute@1.0.1
  ├── growl@1.9.2
  ├── json3@3.3.2
  ├─┬ lodash.create@3.1.1
  │ ├─┬ lodash._baseassign@3.2.0
  │ │ ├── lodash._basecopy@3.0.1
  │ │ └─┬ lodash.keys@3.1.2
  │ │   ├── lodash._getnative@3.9.1
  │ │   ├── lodash.isarguments@3.1.0
  │ │   └── lodash.isarray@3.0.4
  │ ├── lodash._basecreate@3.0.3
  │ └── lodash._isiterateecall@3.0.9
  ├─┬ mkdirp@0.5.1
  │ └── minimist@0.0.8
  └─┬ supports-color@3.1.2
    └── has-flag@1.0.0

+ ./scripts/npm.sh install
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it inthe tree.
npm WARN deprecated minimatch@0.2.12: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated to-iso-string@0.0.2: to-iso-string has been deprecated, use @segment/to-iso-string instead.
npm WARN deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN lifecycle typechecker@2.0.8~preinstall: cannot run in wd %s %s (wd=%s) typechecker@2.0.8 node ./cyclic.js /var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/.staging/typechecker-753b7159
npm WARN prefer global coffee-script@1.11.1 should be installed with -g
npm WARN prefer global js-beautify@1.5.10 should be installed with-g

> oniguruma@6.1.1 install /var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/oniguruma
> node-gyp rebuild

make: Entering directory '/var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/oniguruma/build'
  CC(target) Release/obj.target/oniguruma/deps/onig/regcomp.o
  CC(target) Release/obj.target/oniguruma/deps/onig/regenc.o
  CC(target) Release/obj.target/oniguruma/deps/onig/regerror.o
  CC(target) Release/obj.target/oniguruma/deps/onig/regexec.o
  CC(target) Release/obj.target/oniguruma/deps/onig/regext.o
  CC(target) Release/obj.target/oniguruma/deps/onig/reggnu.o
  CC(target) Release/obj.target/oniguruma/deps/onig/regparse.o
  CC(target) Release/obj.target/oniguruma/deps/onig/regposerr.o
  CC(target) Release/obj.target/oniguruma/deps/onig/regposix.o
  CC(target) Release/obj.target/oniguruma/deps/onig/regsyntax.o
  CC(target) Release/obj.target/oniguruma/deps/onig/regtrav.o
  CC(target) Release/obj.target/oniguruma/deps/onig/regversion.o
  CC(target) Release/obj.target/oniguruma/deps/onig/st.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/ascii.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/big5.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/cp1251.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/euc_jp.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/euc_kr.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/euc_tw.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/gb18030.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_1.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_2.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_3.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_4.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_5.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_6.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_7.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_8.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_9.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_10.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_11.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_13.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_14.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_15.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/iso8859_16.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/koi8.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/koi8_r.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/mktable.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/sjis.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/unicode.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/utf16_be.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/utf16_le.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/utf32_be.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/utf32_le.o
  CC(target) Release/obj.target/oniguruma/deps/onig/enc/utf8.o
  AR(target) Release/obj.target/oniguruma.a
  COPY Release/oniguruma.a
  CXX(target) Release/obj.target/onig_scanner/src/onig-result.o
  CXX(target) Release/obj.target/onig_scanner/src/onig-reg-exp.o
  CXX(target) Release/obj.target/onig_scanner/src/onig-scanner.o
  CXX(target) Release/obj.target/onig_scanner/src/onig-scanner-worker.o
  CXX(target) Release/obj.target/onig_scanner/src/onig-searcher.o
  CXX(target) Release/obj.target/onig_scanner/src/onig-string.o
../src/onig-string.cc: In constructor ‘OnigString::OnigString(v8::Local<v8::String>)’:
../src/onig-string.cc:25:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   hasMultiByteChars = (value->Length() != utf8_length_);
                        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
  SOLINK_MODULE(target) Release/obj.target/onig_scanner.node
  COPY Release/onig_scanner.node
make: Leaving directory '/var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/oniguruma/build'

> fsevents@0.3.8 install /var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/fsevents
> node-gyp rebuild

make: Entering directory '/var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/fsevents/build'
  SOLINK_MODULE(target) Release/obj.target/.node
  COPY Release/.node
make: Leaving directory '/var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/fsevents/build'

> gc-signals@0.0.1 install /var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/gc-signals
> node-gyp rebuild

make: Entering directory '/var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/gc-signals/build'
  CXX(target) Release/obj.target/gcsignals/src/gcsignal.o
  SOLINK_MODULE(target) Release/obj.target/gcsignals.node
  COPY Release/gcsignals.node
make: Leaving directory '/var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/gc-signals/build'

> ghooks@1.0.3 install /var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/ghooks
> node ./bin/install

This does not seem to be a git project.
Although ghooks was installed, the actual git hooks have not.
Run "git init" and then "npm run ghooks install".

Please ignore this message if you are not using ghooks directly.

> native-keymap@0.2.0 install /var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/native-keymap
> node-gyp rebuild

make: Entering directory '/var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/native-keymap/build'
  CXX(target) Release/obj.target/keymapping/src/string_conversion.o
  CXX(target) Release/obj.target/keymapping/src/keymapping.o
  CXX(target) Release/obj.target/keymapping/deps/chromium/x/keysym_to_unicode.o
  CXX(target) Release/obj.target/keymapping/src/keyboard_x.o
  SOLINK_MODULE(target) Release/obj.target/keymapping.node
  COPY Release/keymapping.node
make: Leaving directory '/var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/native-keymap/build'

> pty.js@0.3.0 install /var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/pty.js
> node scripts/install.js

make: Entering directory '/var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/pty.js/build'
  CXX(target) Release/obj.target/pty/src/unix/pty.o
  SOLINK_MODULE(target) Release/obj.target/pty.node
  COPY Release/pty.node
make: Leaving directory '/var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/pty.js/build'

> windows-mutex@0.2.0 install /var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/windows-mutex
> node-gyp rebuild

make: Entering directory '/var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/windows-mutex/build'
  CXX(target) Release/obj.target/CreateMutex/src/main.o
../src/main.cc:2:21: fatal error: windows.h: No such file or directory

                     ^
compilation terminated.
CreateMutex.target.mk:89: recipe for target 'Release/obj.target/CreateMutex/src/main.o' failed
make: *** [Release/obj.target/CreateMutex/src/main.o] Error 1
make: Leaving directory '/var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/windows-mutex/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib64/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.8.1
gyp ERR! command "/usr/bin/node" "/usr/lib64/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/windows-mutex
gyp ERR! node -v v6.7.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm WARN install:windows-mutex@0.2.0 windows-mutex@0.2.0 install: `node-gyp rebuild`
npm WARN install:windows-mutex@0.2.0 Exit status 1

> pty.js@0.3.0 postinstall /var/ypkg-root/root/vscode/build/vscode-1.6.0/node_modules/pty.js
> node scripts/post-install.js

npm WARN lifecycle code-oss-dev@1.6.0~preinstall: cannot run in wd%s %s (wd=%s) code-oss-dev@1.6.0 node build/npm/preinstall.js /var/ypkg-root/root/vscode/build/vscode-1.6.0
npm WARN lifecycle code-oss-dev@1.6.0~postinstall: cannot run in wd %s %s (wd=%s) code-oss-dev@1.6.0 node build/npm/postinstall.js /var/ypkg-root/root/vscode/build/vscode-1.6.0
code-oss-dev@1.6.0 /var/ypkg-root/root/vscode/build/vscode-1.6.0
├── agent-base@1.0.2
├── anymatch@1.3.0
├── applicationinsights@0.15.6
├── arr-diff@2.0.0
├── arr-flatten@1.0.1
├── array-unique@0.2.1
├── arrify@1.0.1
├── async@1.5.2
├── async-each@1.0.1
├─┬ azure-storage@0.3.3
│ ├── extend@1.2.1
│ ├── node-uuid@1.4.7
│ ├─┬ request@2.27.0
│ │ ├── aws-sign@0.3.0
│ │ ├── cookie-jar@0.3.0
│ │ ├── forever-agent@0.5.2
│ │ ├─┬ form-data@0.1.4
│ │ │ ├── async@0.9.2
│ │ │ └─┬ combined-stream@0.0.7
│ │ │   └── delayed-stream@0.0.5
│ │ ├─┬ hawk@1.0.0
│ │ │ ├── boom@0.4.2
│ │ │ ├── cryptiles@0.2.2
│ │ │ ├── hoek@0.9.1
│ │ │ └── sntp@0.2.4
│ │ ├─┬ http-signature@0.10.1
│ │ │ ├── asn1@0.1.11
│ │ │ ├── assert-plus@0.1.5
│ │ │ └── ctype@0.5.3
│ │ ├── json-stringify-safe@5.0.1
│ │ ├── oauth-sign@0.3.0
│ │ ├── qs@0.6.6
│ │ └── tunnel-agent@0.3.0
│ ├── underscore@1.4.4
│ ├── validator@3.1.0
│ ├─┬ xml2js@0.2.7
│ │ └── sax@0.5.2
│ └── xmlbuilder@0.4.3
├── balanced-match@0.4.2
├── binary-extensions@1.6.0
├── brace-expansion@1.1.6
├── braces@1.8.5
├── buffer-shims@1.0.0
├── chokidar@1.6.0  (git+https://github.com/bpasero/chokidar.git#8b64fda5a22cc9850f1346d12302051c5ba65b10)
├─┬ clean-css@3.4.6
│ └─┬ commander@2.8.1
│   └── graceful-readlink@1.0.1
├── clone@1.0.2
├── concat-map@0.0.1
├── core-util-is@1.0.2
├─┬ coveralls@2.11.14
│ ├─┬ js-yaml@3.6.1
│ │ ├── argparse@1.0.9
│ │ └── esprima@2.7.3
│ ├── lcov-parse@0.0.10
│ ├── log-driver@1.2.5
│ └─┬ request@2.75.0
│   ├── aws-sign2@0.6.0
│   ├── aws4@1.4.1
│   ├─┬ bl@1.1.2
│   │ └── readable-stream@2.0.6
│   ├── caseless@0.11.0
│   ├─┬ combined-stream@1.0.5
│   │ └── delayed-stream@1.0.0
│   ├── forever-agent@0.6.1
│   ├─┬ form-data@2.0.0
│   │ └── asynckit@0.4.0
│   ├─┬ har-validator@2.0.6
│   │ ├── commander@2.9.0
│   │ └─┬ pinkie-promise@2.0.1
│   │   └── pinkie@2.0.4
│   ├─┬ hawk@3.1.3
│   │ ├── boom@2.10.1
│   │ ├── cryptiles@2.0.5
│   │ ├── hoek@2.16.3
│   │ └── sntp@1.0.9
│   ├─┬ http-signature@1.1.1
│   │ ├── assert-plus@0.2.0
│   │ ├─┬ jsprim@1.3.1
│   │ │ ├── extsprintf@1.0.2
│   │ │ ├── json-schema@0.2.3
│   │ │ └── verror@1.3.6
│   │ └─┬ sshpk@1.10.1
│   │   ├── asn1@0.2.3
│   │   ├── assert-plus@1.0.0
│   │   ├── bcrypt-pbkdf@1.0.0
│   │   ├─┬ dashdash@1.14.0
│   │   │ └── assert-plus@1.0.0
│   │   ├── ecc-jsbn@0.1.1
│   │   ├─┬ getpass@0.1.6
│   │   │ └── assert-plus@1.0.0
│   │   ├── jodid25519@1.0.2
│   │   ├── jsbn@0.1.0
│   │   └── tweetnacl@0.14.3
│   ├── is-typedarray@1.0.0
│   ├── isstream@0.1.2
│   ├─┬ mime-types@2.1.12
│   │ └── mime-db@1.24.0
│   ├── oauth-sign@0.8.2
│   ├── qs@6.2.1
│   ├── stringstream@0.0.5
│   ├── tough-cookie@2.3.1
│   └── tunnel-agent@0.4.3
├─┬ cson-parser@1.3.4
│ └── coffee-script@1.11.1
├─┬ debounce@1.0.0
│ └── date-now@1.0.1
├── debug@2.2.0
├─┬ documentdb@1.10.0
│ ├── binary-search-bounds@2.0.3
│ ├── priorityqueuejs@1.0.0
│ └── semaphore@1.0.5
├── emmet@1.3.1
├─┬ eslint@3.7.1
│ ├─┬ chalk@1.1.3
│ │ ├── ansi-styles@2.2.1
│ │ ├── escape-string-regexp@1.0.5
│ │ ├── has-ansi@2.0.0
│ │ ├── strip-ansi@3.0.1
│ │ └── supports-color@2.0.0
│ ├─┬ concat-stream@1.5.2
│ │ ├── readable-stream@2.0.6
│ │ └── typedarray@0.0.6
│ ├── doctrine@1.4.0
│ ├─┬ escope@3.6.0
│ │ ├─┬ es6-map@0.1.4
│ │ │ ├── d@0.1.1
│ │ │ ├── es5-ext@0.10.12
│ │ │ ├── es6-iterator@2.0.0
│ │ │ ├── es6-set@0.1.4
│ │ │ ├── es6-symbol@3.1.0
│ │ │ └── event-emitter@0.3.4
│ │ ├── es6-weak-map@2.0.1
│ │ └─┬ esrecurse@4.1.0
│ │   └── estraverse@4.1.1
│ ├─┬ espree@3.3.2
│ │ └─┬ acorn-jsx@3.0.1
│ │   └── acorn@3.3.0
│ ├── estraverse@4.2.0
│ ├── esutils@2.0.2
│ ├─┬ file-entry-cache@2.0.0
│ │ └─┬ flat-cache@1.2.1
│ │   ├── circular-json@0.3.1
│ │   ├─┬ del@2.2.2
│ │   │ ├─┬ globby@5.0.0
│ │   │ │ └── glob@7.1.1
│ │   │ ├── is-path-cwd@1.0.0
│ │   │ ├─┬ is-path-in-cwd@1.0.0
│ │   │ │ └── is-path-inside@1.0.0
│ │   │ └── pify@2.3.0
│ │   └── write@0.2.1
│ ├─┬ glob@7.1.1
│ │ └── fs.realpath@1.0.0
│ ├── globals@9.12.0
│ ├── ignore@3.2.0
│ ├── imurmurhash@0.1.4
│ ├─┬ inquirer@0.12.0
│ │ ├── ansi-escapes@1.4.0
│ │ ├── ansi-regex@2.0.0
│ │ ├─┬ cli-cursor@1.0.2
│ │ │ └─┬ restore-cursor@1.0.1
│ │ │   ├── exit-hook@1.1.1
│ │ │   └── onetime@1.1.0
│ │ ├── cli-width@2.1.0
│ │ ├── figures@1.7.0
│ │ ├─┬ readline2@1.0.1
│ │ │ ├─┬ code-point-at@1.0.1
│ │ │ │ └── number-is-nan@1.0.1
│ │ │ ├── is-fullwidth-code-point@1.0.0
│ │ │ └── mute-stream@0.0.5
│ │ ├── run-async@0.1.0
│ │ ├── rx-lite@3.1.2
│ │ └── string-width@1.0.2
│ ├─┬ is-my-json-valid@2.15.0
│ │ ├── generate-function@2.0.0
│ │ ├─┬ generate-object-property@1.2.0
│ │ │ └── is-property@1.0.2
│ │ ├── jsonpointer@4.0.0
│ │ └── xtend@4.0.1
│ ├─┬ is-resolvable@1.0.0
│ │ └── tryit@1.0.2
│ ├─┬ json-stable-stringify@1.0.1
│ │ └── jsonify@0.0.0
│ ├─┬ levn@0.3.0
│ │ ├── prelude-ls@1.1.2
│ │ └── type-check@0.3.2
│ ├── lodash@4.16.4
│ ├── natural-compare@1.4.0
│ ├─┬ optionator@0.8.2
│ │ ├── deep-is@0.1.3
│ │ └── fast-levenshtein@2.0.5
│ ├── path-is-inside@1.0.2
│ ├── pluralize@1.2.1
│ ├── progress@1.1.8
│ ├─┬ require-uncached@1.0.2
│ │ └─┬ caller-path@0.1.0
│ │   └── callsites@0.2.0
│ ├── shelljs@0.6.1
│ ├── strip-bom@3.0.0
│ ├── strip-json-comments@1.0.4
│ ├─┬ table@3.8.0
│ │ ├─┬ ajv@4.7.7
│ │ │ └── co@4.6.0
│ │ ├── ajv-keywords@1.1.1
│ │ └── slice-ansi@0.0.4
│ ├── text-table@0.2.0
│ └─┬ user-home@2.0.0
│   └── os-homedir@1.0.2
├─┬ event-stream@3.3.4
│ ├── duplexer@0.1.1
│ ├── from@0.1.3
│ ├── map-stream@0.1.0
│ ├── pause-stream@0.0.11
│ ├── split@0.3.3
│ ├── stream-combiner@0.0.4
│ └── through@2.3.8
├── expand-brackets@0.1.5
├── expand-range@1.8.2
├─┬ express@4.14.0
│ ├─┬ accepts@1.3.3
│ │ └── negotiator@0.6.1
│ ├── array-flatten@1.1.1
│ ├── content-disposition@0.5.1
│ ├── content-type@1.0.2
│ ├── cookie@0.3.1
│ ├── cookie-signature@1.0.6
│ ├── depd@1.1.0
│ ├── encodeurl@1.0.1
│ ├── escape-html@1.0.3
│ ├── etag@1.7.0
│ ├─┬ finalhandler@0.5.0
│ │ ├── statuses@1.3.0
│ │ └── unpipe@1.0.0
│ ├── fresh@0.3.0
│ ├── merge-descriptors@1.0.1
│ ├── methods@1.1.2
│ ├─┬ on-finished@2.3.0
│ │ └── ee-first@1.1.1
│ ├── parseurl@1.3.1
│ ├── path-to-regexp@0.1.7
│ ├─┬ proxy-addr@1.1.2
│ │ ├── forwarded@0.1.0
│ │ └── ipaddr.js@1.1.1
│ ├── qs@6.2.0
│ ├── range-parser@1.2.0
│ ├─┬ send@0.14.1
│ │ ├── destroy@1.0.4
│ │ ├─┬ http-errors@1.5.0
│ │ │ └── setprototypeof@1.0.1
│ │ └── mime@1.3.4
│ ├── serve-static@1.11.1
│ ├─┬ type-is@1.6.13
│ │ └── media-typer@0.3.0
│ ├── utils-merge@1.0.0
│ └── vary@1.1.0
├── extend@3.0.0
├── extglob@0.3.2
├── extract-opts@2.2.0
├── fast-plist@0.1.2
├── fd-slicer@1.0.1
├── filename-regex@2.0.0
├── fill-range@2.2.3
├── for-in@0.1.5
├── for-own@0.1.4
├── fsevents@0.3.8  (git+https://github.com/bpasero/fsevents.git#fe2aaccaaffbd69a23374cf46a8c6bafe8e51b01)
├── gc-signals@0.0.1
├── getmac@1.0.7
├─┬ ghooks@1.0.3
│ ├─┬ findup@0.1.5
│ │ ├── colors@0.6.2
│ │ └── commander@2.1.0
│ ├─┬ lodash.clone@3.0.3
│ │ ├─┬ lodash._baseclone@3.3.0
│ │ │ ├── lodash._arraycopy@3.0.0
│ │ │ ├── lodash._arrayeach@3.0.0
│ │ │ ├── lodash._baseassign@3.2.0
│ │ │ ├── lodash._basefor@3.0.3
│ │ │ └── lodash.isarray@3.0.4
│ │ ├── lodash._bindcallback@3.0.1
│ │ └── lodash._isiterateecall@3.0.9
│ ├── manage-path@2.0.0
│ └── spawn-command@0.0.2
├─┬ glob@5.0.15
│ ├─┬ inflight@1.0.5
│ │ └── wrappy@1.0.2
│ └── once@1.4.0
├── glob-base@0.3.0
├── glob-parent@2.0.0
├── graceful-fs@4.1.2
├─┬ gulp@3.9.1
│ ├── archy@1.0.0
│ ├── deprecated@0.0.1
│ ├── interpret@1.0.1
│ ├─┬ liftoff@2.3.0
│ │ ├─┬ findup-sync@0.4.2
│ │ │ ├─┬ detect-file@0.1.0
│ │ │ │ └── fs-exists-sync@0.1.0
│ │ │ └─┬ resolve-dir@0.1.1
│ │ │   └─┬ global-modules@0.2.3
│ │ │     ├─┬ global-prefix@0.1.4
│ │ │     │ └── osenv@0.1.3
│ │ │     └── is-windows@0.2.0
│ │ ├─┬ fined@1.0.2
│ │ │ ├── expand-tilde@1.2.2
│ │ │ ├── lodash.assignwith@4.2.0
│ │ │ ├── lodash.isempty@4.4.0
│ │ │ ├── lodash.pick@4.4.0
│ │ │ └─┬ parse-filepath@1.0.1
│ │ │   ├─┬ is-absolute@0.2.5
│ │ │   │ ├─┬ is-relative@0.2.1
│ │ │   │ │ └─┬ is-unc-path@0.1.1
│ │ │   │ │   └── unc-path-regex@0.1.2
│ │ │   │ └── is-windows@0.1.1
│ │ │   ├── map-cache@0.2.2
│ │ │   └─┬ path-root@0.1.1
│ │ │     └── path-root-regex@0.1.2
│ │ ├── flagged-respawn@0.3.2
│ │ ├── lodash.isplainobject@4.0.6
│ │ ├── lodash.isstring@4.0.1
│ │ ├── lodash.mapvalues@4.6.0
│ │ └── rechoir@0.6.2
│ ├─┬ orchestrator@0.3.7
│ │ ├─┬ end-of-stream@0.1.5
│ │ │ └── once@1.3.3
│ │ ├── sequencify@0.0.7
│ │ └── stream-consume@0.1.0
│ ├── pretty-hrtime@1.0.2
│ ├── tildify@1.2.0
│ ├─┬ v8flags@2.0.11
│ │ └── user-home@1.1.1
│ └─┬ vinyl-fs@0.3.14
│   ├── defaults@1.0.3
│   ├─┬ glob-stream@3.1.18
│   │ ├── glob@4.5.3
│   │ ├─┬ glob2base@0.0.12
│   │ │ └── find-index@0.1.1
│   │ ├── minimatch@2.0.10
│   │ ├── ordered-read-streams@0.1.0
│   │ ├─┬ through2@0.6.5
│   │ │ └─┬ readable-stream@1.0.34
│   │ │   └── isarray@0.0.1
│   │ └── unique-stream@1.0.0
│   ├─┬ glob-watcher@0.0.6
│   │ └─┬ gaze@0.5.2
│   │   └─┬ globule@0.1.0
│   │     ├─┬ glob@3.1.21
│   │     │ ├── graceful-fs@1.2.3
│   │     │ └── inherits@1.0.2
│   │     ├── lodash@1.0.2
│   │     └── minimatch@0.2.14
│   ├─┬ graceful-fs@3.0.11
│   │ └── natives@1.1.0
│   ├── strip-bom@1.0.0
│   └─┬ through2@0.6.5
│     └─┬ readable-stream@1.0.34
│       └── isarray@0.0.1
├─┬ gulp-atom-electron@1.9.0
│ ├─┬ github-releases@0.2.1
│ │ ├─┬ grunt@0.4.5
│ │ │ ├── async@0.1.22
│ │ │ ├── coffee-script@1.3.3
│ │ │ ├── dateformat@1.0.2-1.2.3
│ │ │ ├── eventemitter2@0.4.14
│ │ │ ├── exit@0.1.2
│ │ │ ├─┬ findup-sync@0.1.3
│ │ │ │ ├─┬ glob@3.2.11
│ │ │ │ │ └── minimatch@0.3.0
│ │ │ │ └── lodash@2.4.2
│ │ │ ├── getobject@0.1.0
│ │ │ ├─┬ glob@3.1.21
│ │ │ │ ├── graceful-fs@1.2.3
│ │ │ │ └── inherits@1.0.2
│ │ │ ├─┬ grunt-legacy-log@0.1.3
│ │ │ │ ├─┬ grunt-legacy-log-utils@0.1.1
│ │ │ │ │ ├── lodash@2.4.2
│ │ │ │ │ └── underscore.string@2.3.3
│ │ │ │ ├── lodash@2.4.2
│ │ │ │ └── underscore.string@2.3.3
│ │ │ ├─┬ grunt-legacy-util@0.2.0
│ │ │ │ ├── async@0.1.22
│ │ │ │ ├── lodash@0.9.2
│ │ │ │ └── which@1.0.9
│ │ │ ├── hooker@0.2.3
│ │ │ ├── iconv-lite@0.2.11
│ │ │ ├─┬ js-yaml@2.0.5
│ │ │ │ ├─┬ argparse@0.1.16
│ │ │ │ │ ├── underscore@1.7.0
│ │ │ │ │ └── underscore.string@2.4.0
│ │ │ │ └── esprima@1.0.4
│ │ │ ├── lodash@0.9.2
│ │ │ ├── minimatch@0.2.14
│ │ │ ├── nopt@1.0.10
│ │ │ ├── rimraf@2.2.8
│ │ │ ├── underscore.string@2.2.1
│ │ │ └── which@1.0.9
│ │ ├─┬ minimatch@0.2.12
│ │ │ ├── lru-cache@2.7.3
│ │ │ └── sigmund@1.0.1
│ │ ├─┬ optimist@0.4.0
│ │ │ └── wordwrap@0.0.3
│ │ └─┬ prettyjson@0.8.1
│ │   └── colors@0.6.0-1
│ ├── gulp-filter@4.0.0
│ ├─┬ gulp-symdest@1.1.0
│ │ └── queue@3.1.0
│ ├─┬ plist@1.2.0
│ │ ├── base64-js@0.0.8
│ │ ├─┬ xmlbuilder@4.0.0
│ │ │ └── lodash@3.10.1
│ │ └── xmldom@0.1.22
│ ├── rcedit@0.3.0
│ ├─┬ temp@0.8.3
│ │ ├── os-tmpdir@1.0.2
│ │ └── rimraf@2.2.8
│ ├── vinyl@0.5.3
│ └─┬ vinyl-fs@0.3.14
│   ├── graceful-fs@3.0.11
│   ├── strip-bom@1.0.0
│   ├─┬ through2@0.6.5
│   │ └─┬ readable-stream@1.0.34
│   │   └── isarray@0.0.1
│   └─┬ vinyl@0.4.6
│     └── clone@0.2.0
├─┬ gulp-azure-storage@0.6.0
│ ├─┬ azure-storage@0.8.0
│ │ ├── browserify-mime@1.2.9
│ │ ├── extend@1.2.1
│ │ ├── readable-stream@2.0.6
│ │ ├─┬ request@2.57.0
│ │ │ ├── aws-sign2@0.5.0
│ │ │ ├─┬ bl@0.9.5
│ │ │ │ └─┬ readable-stream@1.0.34
│ │ │ │   └── isarray@0.0.1
│ │ │ ├── caseless@0.10.0
│ │ │ ├─┬ combined-stream@1.0.5
│ │ │ │ └── delayed-stream@1.0.0
│ │ │ ├── forever-agent@0.6.1
│ │ │ ├─┬ form-data@0.2.0
│ │ │ │ ├── async@0.9.2
│ │ │ │ └─┬ combined-stream@0.0.7
│ │ │ │   └── delayed-stream@0.0.5
│ │ │ ├── har-validator@1.8.0
│ │ │ ├─┬ hawk@2.3.1
│ │ │ │ ├── boom@2.10.1
│ │ │ │ ├── cryptiles@2.0.5
│ │ │ │ ├── hoek@2.16.3
│ │ │ │ └── sntp@1.0.9
│ │ │ ├── http-signature@0.11.0
│ │ │ ├─┬ mime-types@2.0.14
│ │ │ │ └── mime-db@1.12.0
│ │ │ ├── oauth-sign@0.8.2
│ │ │ ├── qs@3.1.0
│ │ │ └── tunnel-agent@0.4.3
│ │ ├── underscore@1.4.4
│ │ └── validator@3.22.2
│ ├── delayed-stream@0.0.6
│ ├── mime@1.3.4
│ ├─┬ optimist@0.6.1
│ │ ├── minimist@0.0.10
│ │ └── wordwrap@0.0.3
│ ├── queue@3.1.0
│ ├── streamifier@0.1.1
│ └─┬ vinyl-fs@0.3.14
│   ├── graceful-fs@3.0.11
│   ├── strip-bom@1.0.0
│   └─┬ through2@0.6.5
│     └─┬ readable-stream@1.0.34
│       └── isarray@0.0.1
├─┬ gulp-bom@1.0.0
│ └─┬ through2@2.0.1
│   └── readable-stream@2.0.6
├─┬ gulp-buffer@0.0.2
│ └─┬ through2@0.4.2
│   ├─┬ readable-stream@1.0.34
│   │ └── isarray@0.0.1
│   └─┬ xtend@2.1.2
│     └── object-keys@0.4.0
├─┬ gulp-concat@2.6.0
│ ├─┬ concat-with-sourcemaps@1.0.4
│ │ └── source-map@0.5.6
│ └─┬ through2@0.6.5
│   └─┬ readable-stream@1.0.34
│     └── isarray@0.0.1
├─┬ gulp-cssnano@2.1.2
│ ├─┬ cssnano@3.7.7
│ │ ├─┬ autoprefixer@6.5.0
│ │ │ ├── browserslist@1.4.0
│ │ │ ├── caniuse-db@1.0.30000553
│ │ │ ├── normalize-range@0.1.2
│ │ │ └── num2fraction@1.2.2
│ │ ├── decamelize@1.2.0
│ │ ├── defined@1.0.0
│ │ ├─┬ has@1.0.1
│ │ │ └── function-bind@1.1.0
│ │ ├─┬ postcss@5.2.4
│ │ │ ├── js-base64@2.1.9
│ │ │ ├── source-map@0.5.6
│ │ │ └── supports-color@3.1.2
│ │ ├─┬ postcss-calc@5.3.1
│ │ │ ├── postcss-message-helpers@2.0.0
│ │ │ └─┬ reduce-css-calc@1.3.0
│ │ │   ├─┬ math-expression-evaluator@1.2.14
│ │ │   │ └── lodash.indexof@4.0.5
│ │ │   └─┬ reduce-function-call@1.0.1
│ │ │     └── balanced-match@0.1.0
│ │ ├─┬ postcss-colormin@2.2.1
│ │ │ └─┬ colormin@1.1.2
│ │ │   ├─┬ color@0.11.3
│ │ │   │ ├── color-convert@1.5.0
│ │ │   │ └─┬ color-string@0.3.0
│ │ │   │   └── color-name@1.1.1
│ │ │   └── css-color-names@0.0.4
│ │ ├── postcss-convert-values@2.4.1
│ │ ├── postcss-discard-comments@2.0.4
│ │ ├── postcss-discard-duplicates@2.0.1
│ │ ├── postcss-discard-empty@2.1.0
│ │ ├── postcss-discard-overridden@0.1.1
│ │ ├─┬ postcss-discard-unused@2.2.1
│ │ │ ├── flatten@1.0.2
│ │ │ └── uniqs@2.0.0
│ │ ├─┬ postcss-filter-plugins@2.0.2
│ │ │ └─┬ uniqid@4.1.0
│ │ │   └── macaddress@0.2.8
│ │ ├── postcss-merge-idents@2.1.7
│ │ ├── postcss-merge-longhand@2.0.1
│ │ ├─┬ postcss-merge-rules@2.0.10
│ │ │ └── vendors@1.0.1
│ │ ├── postcss-minify-font-values@1.0.5
│ │ ├── postcss-minify-gradients@1.0.3
│ │ ├─┬ postcss-minify-params@1.0.5
│ │ │ └── alphanum-sort@1.0.2
│ │ ├─┬ postcss-minify-selectors@2.0.5
│ │ │ └─┬ postcss-selector-parser@2.2.1
│ │ │   ├── indexes-of@1.0.1
│ │ │   └── uniq@1.0.1
│ │ ├── postcss-normalize-charset@1.1.0
│ │ ├─┬ postcss-normalize-url@3.0.7
│ │ │ ├── is-absolute-url@2.0.0
│ │ │ └─┬ normalize-url@1.6.1
│ │ │   ├── prepend-http@1.0.4
│ │ │   ├─┬ query-string@4.2.3
│ │ │   │ └── strict-uri-encode@1.1.0
│ │ │   └─┬ sort-keys@1.1.2
│ │ │     └── is-plain-obj@1.1.0
│ │ ├── postcss-ordered-values@2.2.2
│ │ ├── postcss-reduce-idents@2.3.0
│ │ ├── postcss-reduce-initial@1.0.0
│ │ ├── postcss-reduce-transforms@1.0.3
│ │ ├─┬ postcss-svgo@2.1.5
│ │ │ ├─┬ is-svg@2.0.1
│ │ │ │ └── html-comment-regex@1.1.1
│ │ │ └─┬ svgo@0.7.1
│ │ │   ├─┬ coa@1.0.1
│ │ │   │ └── q@1.4.1
│ │ │   ├── colors@1.1.2
│ │ │   ├─┬ csso@2.2.1
│ │ │   │ ├── clap@1.1.1
│ │ │   │ └── source-map@0.5.6
│ │ │   ├── sax@1.2.1
│ │ │   └── whet.extend@0.9.9
│ │ ├── postcss-unique-selectors@2.0.2
│ │ ├── postcss-value-parser@3.3.0
│ │ └── postcss-zindex@2.1.1
│ └─┬ vinyl-sourcemaps-apply@0.2.1
│   └── source-map@0.5.6
├─┬ gulp-filter@3.0.1
│ ├─┬ multimatch@2.1.0
│ │ └── array-union@1.0.2
│ └── streamfilter@1.0.5
├─┬ gulp-flatmap@1.0.0
│ ├─┬ gulp-util@2.2.20
│ │ ├─┬ chalk@0.5.1
│ │ │ ├── ansi-styles@1.1.0
│ │ │ ├─┬ has-ansi@0.1.0
│ │ │ │ └── ansi-regex@0.2.1
│ │ │ ├── strip-ansi@0.3.0
│ │ │ └── supports-color@0.2.0
│ │ ├── lodash._reinterpolate@2.4.1
│ │ ├─┬ lodash.template@2.4.1
│ │ │ ├── lodash._escapestringchar@2.4.1
│ │ │ ├─┬ lodash.defaults@2.4.1
│ │ │ │ ├── lodash._objecttypes@2.4.1
│ │ │ │ └── lodash.keys@2.4.1
│ │ │ ├─┬ lodash.escape@2.4.1
│ │ │ │ ├─┬ lodash._escapehtmlchar@2.4.1
│ │ │ │ │ └── lodash._htmlescapes@2.4.1
│ │ │ │ └─┬ lodash._reunescapedhtml@2.4.1
│ │ │ │   └── lodash.keys@2.4.1
│ │ │ ├─┬ lodash.keys@2.4.1
│ │ │ │ ├── lodash._isnative@2.4.1
│ │ │ │ ├── lodash._shimkeys@2.4.1
│ │ │ │ └── lodash.isobject@2.4.1
│ │ │ ├── lodash.templatesettings@2.4.1
│ │ │ └─┬ lodash.values@2.4.1
│ │ │   └── lodash.keys@2.4.1
│ │ ├── minimist@0.2.0
│ │ ├─┬ through2@0.5.1
│ │ │ └── xtend@3.0.0
│ │ └── vinyl@0.2.3
│ └─┬ through2@0.6.5
│   ├─┬ readable-stream@1.0.34
│   │ └── isarray@0.0.1
│   └── xtend@4.0.1
├─┬ gulp-json-editor@2.2.1
│ ├── deepmerge@0.2.10
│ ├─┬ detect-indent@2.0.0
│ │ ├── get-stdin@3.0.2
│ │ └─┬ repeating@1.1.3
│ │   └── is-finite@1.0.2
│ ├─┬ js-beautify@1.5.10
│ │ ├─┬ config-chain@1.1.11
│ │ │ ├── ini@1.3.4
│ │ │ └── proto-list@1.2.4
│ │ └── nopt@3.0.6
│ └─┬ through2@0.5.1
│   ├─┬ readable-stream@1.0.34
│   │ └── isarray@0.0.1
│   └── xtend@3.0.0
├─┬ gulp-mocha@2.2.0
│ ├─┬ plur@2.1.2
│ │ └── irregular-plurals@1.2.0
│ └── resolve-from@1.0.1
├─┬ gulp-remote-src@0.4.1
│ ├─┬ event-stream@3.1.7
│ │ └── split@0.2.10
│ ├── node.extend@1.1.6
│ ├─┬ request@2.58.0
│ │ ├── aws-sign2@0.5.0
│ │ ├── bl@0.9.5
│ │ ├── caseless@0.10.0
│ │ ├─┬ combined-stream@1.0.5
│ │ │ └── delayed-stream@1.0.0
│ │ ├── extend@2.0.1
│ │ ├── forever-agent@0.6.1
│ │ ├─┬ form-data@1.0.1
│ │ │ ├── async@2.0.1
│ │ │ └── mime-types@2.1.12
│ │ ├─┬ har-validator@1.8.0
│ │ │ └── bluebird@2.11.0
│ │ ├─┬ hawk@2.3.1
│ │ │ ├── boom@2.10.1
│ │ │ ├── cryptiles@2.0.5
│ │ │ ├── hoek@2.16.3
│ │ │ └── sntp@1.0.9
│ │ ├── http-signature@0.11.0
│ │ ├─┬ mime-types@2.0.14
│ │ │ └── mime-db@1.12.0
│ │ ├── oauth-sign@0.8.2
│ │ ├── qs@3.1.0
│ │ └── tunnel-agent@0.4.3
│ ├─┬ through2@0.5.1
│ │ ├─┬ readable-stream@1.0.34
│ │ │ └── isarray@0.0.1
│ │ └── xtend@3.0.0
│ └── vinyl@0.2.3
├── gulp-rename@1.2.2
├─┬ gulp-replace@0.5.4
│ ├─┬ istextorbinary@1.0.2
│ │ ├── binaryextensions@1.0.1
│ │ └── textextensions@1.0.2
│ └── replacestream@4.0.2
├── gulp-shell@0.5.2
├─┬ gulp-sourcemaps@1.7.1
│ ├── acorn@4.0.3
│ ├── convert-source-map@1.3.0
│ ├─┬ css@2.2.1
│ │ ├── source-map@0.1.43
│ │ ├─┬ source-map-resolve@0.3.1
│ │ │ ├── atob@1.1.3
│ │ │ ├── resolve-url@0.2.1
│ │ │ └── source-map-url@0.3.0
│ │ └── urix@0.1.0
│ ├── detect-newline@2.1.0
│ ├─┬ strip-bom@2.0.0
│ │ └── is-utf8@0.2.1
│ └── vinyl@1.2.0
├── gulp-tsb@2.0.1
├─┬ gulp-tslint@4.3.5
│ └─┬ rcloader@0.2.1
│   ├── lodash.assign@4.2.0
│   ├── lodash.isobject@3.0.2
│   ├── lodash.merge@4.6.0
│   └─┬ rcfinder@0.1.9
│     └── lodash.clonedeep@4.5.0
├─┬ gulp-uglify@2.0.0
│ ├─┬ gulplog@1.0.0
│ │ └── glogg@1.0.0
│ ├─┬ has-gulplog@0.1.0
│ │ └── sparkles@1.0.0
│ ├─┬ make-error-cause@1.2.1
│ │ └── make-error@1.2.1
│ ├─┬ uglify-js@2.7.0
│ │ ├── async@0.2.10
│ │ ├── source-map@0.5.6
│ │ └─┬ yargs@3.10.0
│ │   ├── camelcase@1.2.1
│ │   ├─┬ cliui@2.1.0
│ │   │ ├─┬ center-align@0.1.3
│ │   │ │ ├─┬ align-text@0.1.4
│ │   │ │ │ └── longest@1.0.1
│ │   │ │ └── lazy-cache@1.0.4
│ │   │ ├── right-align@0.1.3
│ │   │ └── wordwrap@0.0.2
│ │   └── window-size@0.1.0
│ └── uglify-save-license@0.4.1
├─┬ gulp-util@3.0.7
│ ├── array-differ@1.0.0
│ ├── array-uniq@1.0.3
│ ├── beeper@1.1.0
│ ├─┬ dateformat@1.0.12
│ │ ├── get-stdin@4.0.1
│ │ └─┬ meow@3.7.0
│ │   ├── camelcase-keys@2.1.0
│ │   ├─┬ loud-rejection@1.6.0
│ │   │ ├─┬ currently-unhandled@0.4.1
│ │   │ │ └── array-find-index@1.0.2
│ │   │ └── signal-exit@3.0.1
│ │   ├── map-obj@1.0.1
│ │   ├─┬ normalize-package-data@2.3.5
│ │   │ ├── hosted-git-info@2.1.5
│ │   │ ├─┬ is-builtin-module@1.0.0
│ │   │ │ └── builtin-modules@1.1.1
│ │   │ └─┬ validate-npm-package-license@3.0.1
│ │   │   ├─┬ spdx-correct@1.0.2
│ │   │   │ └── spdx-license-ids@1.2.2
│ │   │   └── spdx-expression-parse@1.0.4
│ │   ├─┬ read-pkg-up@1.0.1
│ │   │ ├─┬ find-up@1.1.2
│ │   │ │ └── path-exists@2.1.0
│ │   │ └─┬ read-pkg@1.1.0
│ │   │   ├─┬ load-json-file@1.1.0
│ │   │   │ ├─┬ parse-json@2.2.0
│ │   │   │ │ └─┬ error-ex@1.3.0
│ │   │   │ │   └── is-arrayish@0.2.1
│ │   │   │ └── strip-bom@2.0.0
│ │   │   └── path-type@1.1.0
│ │   ├─┬ redent@1.0.0
│ │   │ ├─┬ indent-string@2.1.0
│ │   │ │ └── repeating@2.0.1
│ │   │ └── strip-indent@1.0.1
│ │   └── trim-newlines@1.0.0
│ ├─┬ fancy-log@1.2.0
│ │ └── time-stamp@1.0.1
│ ├── lodash._reescape@3.0.0
│ ├── lodash._reevaluate@3.0.0
│ ├── lodash._reinterpolate@3.0.0
│ ├─┬ lodash.template@3.6.2
│ │ ├── lodash._basecopy@3.0.1
│ │ ├── lodash._basetostring@3.0.1
│ │ ├── lodash._basevalues@3.0.0
│ │ ├─┬ lodash.escape@3.2.0
│ │ │ └── lodash._root@3.0.1
│ │ ├─┬ lodash.keys@3.1.2
│ │ │ ├── lodash._getnative@3.9.1
│ │ │ └── lodash.isarguments@3.1.0
│ │ ├── lodash.restparam@3.6.1
│ │ └── lodash.templatesettings@3.1.1
│ ├─┬ multipipe@0.1.2
│ │ └─┬ duplexer2@0.0.2
│ │   └─┬ readable-stream@1.1.14
│ │     └── isarray@0.0.1
│ ├── object-assign@3.0.0
│ ├── replace-ext@0.0.1
│ └── vinyl@0.5.3
├─┬ gulp-vinyl-zip@1.4.0
│ ├── queue@3.1.0
│ ├─┬ through2@0.6.5
│ │ └─┬ readable-stream@1.0.34
│ │   └── isarray@0.0.1
│ └─┬ yazl@2.4.1
│   └── buffer-crc32@0.2.5
├── http-proxy-agent@0.2.7
├── https-proxy-agent@0.3.6
├── iconv-lite@0.4.13
├── inherits@2.0.1
├── innosetup-compiler@5.5.62
├── is@3.1.0
├── is-binary-path@1.0.1
├── is-buffer@1.1.4
├── is-dotfile@1.0.2
├── is-equal-shallow@0.1.3
├── is-extendable@0.1.1
├── is-extglob@1.0.0
├── is-glob@2.0.1
├── is-number@2.1.0
├── is-posix-bracket@0.1.1
├── is-primitive@2.0.0
├── isarray@1.0.0
├── isobject@2.1.0
├─┬ istanbul@0.3.22
│ ├── abbrev@1.0.9
│ ├─┬ escodegen@1.7.1
│ │ ├── esprima@1.2.5
│ │ ├── estraverse@1.9.3
│ │ ├─┬ optionator@0.5.0
│ │ │ ├── fast-levenshtein@1.0.7
│ │ │ ├── levn@0.2.5
│ │ │ └── wordwrap@0.0.3
│ │ └── source-map@0.2.0
│ ├── esprima@2.5.0
│ ├─┬ fileset@0.2.1
│ │ └── minimatch@2.0.10
│ ├─┬ handlebars@4.0.5
│ │ ├─┬ optimist@0.6.1
│ │ │ ├── minimist@0.0.10
│ │ │ └── wordwrap@0.0.3
│ │ └─┬ uglify-js@2.7.3
│ │   ├── async@0.2.10
│ │   └── source-map@0.5.6
│ ├── nopt@3.0.6
│ ├── resolve@1.1.7
│ ├─┬ supports-color@3.1.2
│ │ └── has-flag@1.0.0
│ ├─┬ which@1.2.11
│ │ └── isexe@1.1.2
│ └── wordwrap@1.0.0
├─┬ jsdom-no-contextify@3.1.0
│ ├── browser-request@0.3.3
│ ├── cssom@0.3.1
│ ├── cssstyle@0.2.37
│ ├─┬ htmlparser2@3.9.1
│ │ ├── domelementtype@1.3.0
│ │ ├── domhandler@2.3.0
│ │ ├─┬ domutils@1.5.1
│ │ │ └─┬ dom-serializer@0.1.0
│ │ │   └── domelementtype@1.1.3
│ │ └── entities@1.1.1
│ ├── nwmatcher@1.3.8
│ ├── parse5@1.5.1
│ ├─┬ request@2.75.0
│ │ ├─┬ combined-stream@1.0.5
│ │ │ └── delayed-stream@1.0.0
│ │ ├── forever-agent@0.6.1
│ │ ├── form-data@2.0.0
│ │ ├─┬ hawk@3.1.3
│ │ │ ├── boom@2.10.1
│ │ │ ├── cryptiles@2.0.5
│ │ │ ├── hoek@2.16.3
│ │ │ └── sntp@1.0.9
│ │ ├─┬ http-signature@1.1.1
│ │ │ └── assert-plus@0.2.0
│ │ ├── oauth-sign@0.8.2
│ │ ├── qs@6.2.1
│ │ └── tunnel-agent@0.4.3
│ ├── xml-name-validator@1.0.0
│ └── xmlhttprequest@1.8.0
├── kind-of@3.0.4
├── lazy.js@0.4.2
├── micromatch@2.3.11
├── mime@1.2.11
├── minimatch@3.0.3
├── minimist@1.2.0
├─┬ mkdirp@0.5.1
│ └── minimist@0.0.8
├─┬ mocha@2.5.3
│ ├── commander@2.3.0
│ ├── diff@1.4.0
│ ├── escape-string-regexp@1.0.2
│ ├─┬ glob@3.2.11
│ │ └── minimatch@0.3.0
│ ├── growl@1.9.2
│ ├─┬ jade@0.26.3
│ │ ├── commander@0.6.1
│ │ └── mkdirp@0.3.0
│ ├── supports-color@1.2.0
│ └── to-iso-string@0.0.2
├── ms@0.7.1
├── nan@2.4.0
├── native-keymap@0.2.0
├── normalize-path@2.0.1
├── object-assign@4.1.0
├── object.omit@2.0.0
├── oniguruma@6.1.1
├─┬ optimist@0.3.5
│ └── wordwrap@0.0.3
├── parse-glob@3.0.4
├── path-is-absolute@1.0.0
├── pend@1.2.0
├── preserve@0.2.0
├── process-nextick-args@1.0.7
├─┬ pty.js@0.3.0
│ ├── extend@1.2.1
│ └── nan@2.2.1
├─┬ pump@1.0.1
│ └─┬ end-of-stream@1.1.0
│   └── once@1.3.3
├── queue@3.0.6
├── randomatic@1.1.5
├── readable-stream@2.1.5
├── readdirp@2.1.0
├── regex-cache@0.4.3
├─┬ remap-istanbul@0.6.4
│ ├── amdefine@1.0.0
│ ├─┬ istanbul@0.4.3
│ │ ├─┬ escodegen@1.8.1
│ │ │ ├── estraverse@1.9.3
│ │ │ └── source-map@0.2.0
│ │ ├── nopt@3.0.6
│ │ └── supports-color@3.1.2
│ └── source-map@0.5.6
├── repeat-element@1.1.2
├── repeat-string@1.5.4
├─┬ rimraf@2.5.4
│ └── glob@7.1.1
├── semver@4.3.6
├── set-immediate-shim@1.0.1
├─┬ sinon@1.17.6
│ ├── formatio@1.1.1
│ ├── lolex@1.3.2
│ ├── samsam@1.1.2
│ └── util@0.10.3
├── source-map@0.4.4
├── string_decoder@0.10.31
├─┬ tslint@3.15.1
│ ├── colors@1.1.2
│ ├── diff@2.2.3
│ ├─┬ findup-sync@0.3.0
│ │ └── glob@5.0.15
│ ├── glob@7.1.1
│ ├─┬ optimist@0.6.1
│ │ ├── minimist@0.0.10
│ │ └── wordwrap@0.0.3
│ └─┬ underscore.string@3.3.4
│   └── sprintf-js@1.0.3
├── typechecker@2.0.8
├── typescript@2.0.3
├─┬ uglify-js@2.4.8
│ ├── async@0.2.10
│ ├── source-map@0.1.43
│ └── uglify-to-browserify@1.0.2
├── underscore@1.8.3
├── util-deprecate@1.0.2
├─┬ vinyl@0.4.6
│ ├── clone@0.2.0
│ └── clone-stats@0.0.1
├─┬ vinyl-fs@2.4.3
│ ├─┬ duplexify@3.4.5
│ │ ├─┬ end-of-stream@1.0.0
│ │ │ └── once@1.3.3
│ │ └── stream-shift@1.0.0
│ ├─┬ glob-stream@5.3.5
│ │ ├─┬ glob-parent@3.0.0
│ │ │ └─┬ is-glob@3.0.0
│ │ │   └── is-extglob@2.0.0
│ │ ├─┬ ordered-read-streams@0.3.0
│ │ │ └── is-stream@1.1.0
│ │ ├─┬ through2@0.6.5
│ │ │ └─┬ readable-stream@1.0.34
│ │ │   └── isarray@0.0.1
│ │ ├─┬ to-absolute-glob@0.1.1
│ │ │ └── extend-shallow@2.0.1
│ │ └── unique-stream@2.2.1
│ ├── is-valid-glob@0.3.0
│ ├── lazystream@1.0.0
│ ├── lodash.isequal@4.4.0
│ ├── merge-stream@1.0.0
│ ├── strip-bom@2.0.0
│ ├─┬ strip-bom-stream@1.0.0
│ │ ├── first-chunk-stream@1.0.0
│ │ └── strip-bom@2.0.0
│ ├── through2-filter@2.0.0
│ ├── vali-date@1.0.0
│ └── vinyl@1.2.0
├── vscode-debugprotocol@1.13.0
├─┬ vscode-nls-dev@2.0.1
│ ├── glob@6.0.4
│ ├── source-map@0.5.6
│ ├── vinyl@1.2.0
│ └─┬ yargs@3.32.0
│   ├── camelcase@2.1.1
│   ├─┬ cliui@3.2.0
│   │ └── wrap-ansi@2.0.0
│   ├─┬ os-locale@1.4.0
│   │ └─┬ lcid@1.0.0
│   │   └── invert-kv@1.0.0
│   ├── window-size@0.1.4
│   └── y18n@3.2.1
├── vscode-textmate@2.2.0
├── winreg@1.2.0
├── xterm@1.1.3  (git+https://github.com/Tyriar/xterm.js.git#e214e3f78b0c27adcc0637a362c62ee0f242e712)
└── yauzl@2.3.1

npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@0.3.8
+ gulp vscode-linux-x64
module.js:457
    throw err;
    ^

Error: Cannot find module 'gulp-watch'
    at Function.Module._resolveFilename (module.js:455:15)
    at Function.Module._load (module.js:403:25)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/var/ypkg-root/root/vscode/build/vscode-1.6.0/build/lib/watch/index.js:22:4)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)

For reference, the build bits (important and relevant bits here) of our package.yml are:

npm install -g mocha gulp
./scripts/npm.sh install
gulp vscode-linux-x64

Other potential helpful bits: NPM version: 3.10.3 nodejs version: 6.7.0

joaomoreno commented 8 years ago

Clean your repository and try again:

git clean -xfd .
./scripts/npm.sh install
ikeydoherty commented 8 years ago

Not a git repo build.

joaomoreno commented 8 years ago

What are you trying to build?

JoshStrobl commented 8 years ago

Visual Studio Code? Is there something else from you guys that I would be building?

JoshStrobl commented 8 years ago

For more information:

  1. The package.yml script for how we build and create the Visual Studio Code (OSS) package is viewable here. As stated in the first comment, the usage of ./scripts/npm.sh install has been just fine up until 1.6.0.
  2. Our builds occur in an isolated environment called evobuild. These are done in temporary directories, there are simply no dirty repos or directories, the temp dirs always get wiped.
joaomoreno commented 8 years ago

[https://github.com/Microsoft/vscode/blob/master/build/npm/preinstall.js#L29](This code) is responsible for installing gulp-watch as a preinstall hook to npm. Make sure it runs... and if it doesn't try to figure out why.

JoshStrobl commented 8 years ago

Any chance it has something to do with your fsevents commit that was tagged for 1.6.0, which was the last thing to change on the file?

JoshStrobl commented 8 years ago

Confirmed, your removal of the gulp-watch line in the package.json in the above linked commit caused the build to fail. I patched it back in and I'm getting a build success now. Want a PR?

joaomoreno commented 8 years ago

No. This code is responsible for installing gulp-watch as a preinstall hook. Make sure that runs when you run ./scripts/npm.sh install.

Ultimately, npm should not install gulp-watch at the root of the project, but rather in build/lib/watch. gulp-watch depends on fsevents which is a binary module. If you install it at the top level of the repository as part of./scripts/npm.sh install, it will be compile against Electron's node, which is likely incompatible with your globally installed node. So, when runninggulp watch` later on you'd not be able to load that module.

If your ./scripts/npm.sh install isn't running the preinstall hook correctly in your system, you should investigate into why that is. It seems to run for everyone else.

ikeydoherty commented 8 years ago

and if it doesn't try to figure out why. you should investigate into why that is. It seems to run for everyone else.

"Works for me" ethos? The idea in reporting an issue is to interactively debug the issue, not to tell the OP to find out themselves why the thing they've reported is broken, in your software.

it will be compile against Electron's node, which is likely incompatible with your globally installed node.

This is built in an isolated chroot, there is no global to build against. The resulting build is clean and functional.

joaomoreno commented 8 years ago

I would... it's just that it doesn't reproduce for me, making it very hard to know what's going on. And it also happens not to reproduce in anyone else's machine. So... yeah... you'd have to figure it out. Or give me SSH access and I'll do it for you.

If you just want to work around it, you can do

cd build/lib/watch && npm install

right after ./scripts/npm.sh install.

JoshStrobl commented 8 years ago

So... yeah... you'd have to figure it out.

And I did. Then you told me to dig through the log to check if it's running the preinstall hook, which you could've gotten from the full log I quite literally linked in the first comment.

These are reproducible builds. The log isn't going to be different, and what you get is whatever output our tooling provides as well as whatever yours does.

Already fixed downstream with a patch to revert your change to the package.json.

joaomoreno commented 8 years ago

Sure I looked into your full log... but there's nothing there related to our preinstall hooks.

Something is different between what your tooling does, compared to ours. Just look at our Travis builds, for example, gulp-watch appears in the log as being installed, as part of the preinstall hook.

How can I further help?

joaomoreno commented 8 years ago

Actually, there is:

npm WARN lifecycle code-oss-dev@1.6.0~preinstall: cannot run in wd%s %s (wd=%s) code-oss-dev@1.6.0 node build/npm/preinstall.js /var/ypkg-root/root/vscode/build/vscode-1.6.0
npm WARN lifecycle code-oss-dev@1.6.0~postinstall: cannot run in wd %s %s (wd=%s) code-oss-dev@1.6.0 node build/npm/postinstall.js /var/ypkg-root/root/vscode/build/vscode-1.6.0

Any idea what %s %s means?

joaomoreno commented 8 years ago

Here are a few hints:

TryGhost/Ghost#6754 CurrentByGE/ie-angular-ref-app#1

So, does adding --unsafe-perm to npm install work?

JoshStrobl commented 8 years ago

Can confirm that appending --unsafe-perm to ./scripts/npm.sh install enables it to build correctly. Can we please get this documented please or make sure the flag is set when executing as root?

joaomoreno commented 8 years ago

Added a note to https://github.com/Microsoft/vscode/wiki/How-to-Contribute.

Automatically adding the flag when running as root would defeat the purpose of having the flag at all, which exists exactly for this purpose: making sure users know that what they are doing is not safe.

JoshStrobl commented 8 years ago

Thanks for the documentation improvements and the help!

ghost commented 7 years ago

--unsafe-perm is also a thing in windows btw.