fstiewitz / build-tools-cpp

Build your projects in atom
https://atom.io/packages/build-tools
MIT License
31 stars 6 forks source link

Cannot install on windows due to dependency build failure #47

Closed mertzt89 closed 8 years ago

mertzt89 commented 8 years ago

pty.js@0.3.0 install C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js node-gyp rebuild

C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js>if not defined npm_config_node_gyp (node "c:\Users\mertz\AppData\Local\atom\app-1.2.4\resources\app\apm\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node  rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(396,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js\build\deps\winpty\winpty-agent.vcxproj]
  Agent.cc
  AgentAssert.cc
  ConsoleInput.cc
  Coord.cc
  EventLoop.cc
  NamedPipe.cc
  SmallRect.cc
  Terminal.cc
  Win32Console.cc
..\..\..\deps\winpty\agent\EventLoop.cc(69): error C2039: 'max' : is not a member of 'std' [C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js\build\deps\winpty\winpty-agent.vcxproj]
..\..\..\deps\winpty\agent\EventLoop.cc(69): error C3861: 'max': identifier not found [C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js\build\deps\winpty\winpty-agent.vcxproj]
  main.cc
..\..\..\deps\winpty\agent\NamedPipe.cc(153): error C2039: 'min' : is not a member of 'std' [C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js\build\deps\winpty\winpty-agent.vcxproj]
..\..\..\deps\winpty\agent\NamedPipe.cc(153): error C3861: 'min': identifier not found [C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js\build\deps\winpty\winpty-agent.vcxproj]
..\..\..\deps\winpty\agent\NamedPipe.cc(222): error C2039: 'min' : is not a member of 'std' [C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js\build\deps\winpty\winpty-agent.vcxproj]
..\..\..\deps\winpty\agent\NamedPipe.cc(222): error C3861: 'min': identifier not found [C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js\build\deps\winpty\winpty-agent.vcxproj]
..\..\..\deps\winpty\agent\NamedPipe.cc(229): error C2039: 'min' : is not a member of 'std' [C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js\build\deps\winpty\winpty-agent.vcxproj]
..\..\..\deps\winpty\agent\NamedPipe.cc(229): error C3861: 'min': identifier not found [C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js\build\deps\winpty\winpty-agent.vcxproj]
  DebugClient.cc
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(396,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js\build\deps\winpty\winpty.vcxproj]
  winpty.cc
  DebugClient.cc
     Creating library C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js\build\Release\winpty.lib and object C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js\build\Release\winpty.exp
  Generating code
  Finished generating code
  winpty.vcxproj -> C:\Users\mertz\AppData\Local\Temp\apm-install-dir-1151024-197992-1wati5i\node_modules\build-tools\node_modules\pty.js\build\Release\\winpty.dll

gypnpm ERR! Windows_NT 6.1.7601
npm ERR! argv "c:\\Users\\mertz\\AppData\\Local\\atom\\app-1.2.4\\resources\\app\\apm\\bin\\node.exe" "c:\\Users\\mertz\\AppData\\Local\\atom\\app-1.2.4\\resources\\app\\apm\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "C:\\Users\\mertz\\.atom\\.apm\\.apmrc" "--userconfig" "C:\\Users\\mertz\\.atom\\.apmrc" "install" "C:\\Users\\mertz\\AppData\\Local\\Temp\\d-1151024-197992-185myrr\\package.tgz" "--target=0.34.0" "--arch=ia32" "--msvs_version=2013"
npm ERR! node v0.10.40
npm ERR! npm  v2.13.3
npm ERR! code ELIFECYCLE

npm ERR! pty.js@0.3.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the pty.js@0.3.0 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the pty.js 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 pty.js
npm ERR! There is likely additional logging output above.
fstiewitz commented 8 years ago

It appears that one dependency of this package (pty.js) is having a bit of trouble on windows. I'll see what can and can't be done about this :bow:

mertzt89 commented 8 years ago

Thanks for looking in to this. I did some brief investigation and it seems that many people have attempted to fix this issue and have even submitted PR's to pty.js but they never got accepted.

fstiewitz commented 8 years ago

I'm still trying to decide how to properly handle this situation:

I haven't tested this on windows (because I don't have windows), but apm allows users to specify a version, so apm install build-tools@4.2.3 should install the latest version of build-tools that didn't have pty.js. Most users probably don't even need pty.js, it's only necessary if you execute programs that take user input.

fstiewitz commented 8 years ago

Sorry for the delay. I updated build-tools to use a fork called ptyw.js and that seems to work (at least in Travis CI, AppVeyor and testing on my linux machine). AppVeyor is testing on Windows, so I assume(?) this issue is fixed.

mertzt89 commented 8 years ago

I updated to the latest version including your switch to ptyw.js and everything in that regard is working.