TooTallNate / node-speaker

Output PCM audio data to the speakers
648 stars 145 forks source link

Build Failure on Windows: 'win32.c': No such file or directory #136

Open Melvin-Abraham opened 4 years ago

Melvin-Abraham commented 4 years ago

I wanted to create a Google Assistant Client on Windows for which I used the google-assistant library. In order to output Audio Data to the speakers, I wanted to use node-speaker library but each time, I get disappointed as it fails to build on my machine. I checked for any environment or other issues and fixed most of them but still, the issue persists.

Error Log:

E:\My CODE\WEB\G Assist 2>npm install speaker
npm WARN rm not removing E:\My CODE\WEB\G Assist 2\node_modules\.bin\semver.cmd as it wasn't installed by E:\My CODE\WEB\G Assist 2\node_modules\semver
npm WARN rm not removing E:\My CODE\WEB\G Assist 2\node_modules\.bin\semver as it wasn't installed by E:\My CODE\WEB\G Assist 2\node_modules\semver
npm WARN rm not removing E:\My CODE\WEB\G Assist 2\node_modules\.bin\pbjs.cmd as it wasn't installed by E:\My CODE\WEB\G Assist 2\node_modules\protobufjs
npm WARN rm not removing E:\My CODE\WEB\G Assist 2\node_modules\.bin\pbjs as it wasn't installed by E:\My CODE\WEB\G Assist 2\node_modules\protobufjs
npm WARN rm not removing E:\My CODE\WEB\G Assist 2\node_modules\grpc\node_modules\.bin\node-pre-gyp.cmd as it wasn't installed by E:\My CODE\WEB\G Assist 2\node_modules\grpc\node_modules\node-pre-gyp
npm WARN rm not removing E:\My CODE\WEB\G Assist 2\node_modules\grpc\node_modules\.bin\node-pre-gyp as it wasn't installed by E:\My CODE\WEB\G Assist 2\node_modules\grpc\node_modules\node-pre-gyp

> speaker@0.3.1 install E:\My CODE\WEB\G Assist 2\node_modules\audio-speaker\node_modules\speaker
> node-gyp rebuild

E:\My CODE\WEB\G Assist 2\node_modules\audio-speaker\node_modules\speaker>if not defined npm_config_node_gyp (node "E:\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "E:\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  win32.c
c1 : fatal error C1083: Cannot open source file: '..\..\..\deps\mpg123\src\output\win32.c': No such file or directory [
E:\My CODE\WEB\G Assist 2\node_modules\audio-speaker\node_modules\speaker\build\deps\mpg123\output.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (E:\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Windows_NT 10.0.18363
gyp ERR! command "E:\\nodejs\\node.exe" "E:\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd E:\My CODE\WEB\G Assist 2\node_modules\audio-speaker\node_modules\speaker
gyp ERR! node -v v12.13.1
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok

> grpc@1.24.2 install E:\My CODE\WEB\G Assist 2\node_modules\grpc
> node-pre-gyp install --fallback-to-build --library=static_library

node-pre-gyp WARN Using request for node-pre-gyp https download
[grpc] Success: "E:\My CODE\WEB\G Assist 2\node_modules\grpc\src\node\extension_binary\node-v72-win32-x64-unknown\grpc_node.node" is installed via remote

> speaker@0.4.2 install E:\My CODE\WEB\G Assist 2\node_modules\speaker
> node-gyp rebuild

E:\My CODE\WEB\G Assist 2\node_modules\speaker>if not defined npm_config_node_gyp (node "E:\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "E:\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  win32.c
c1 : fatal error C1083: Cannot open source file: '..\..\..\deps\mpg123\src\output\win32.c': No such file or directory [
E:\My CODE\WEB\G Assist 2\node_modules\speaker\build\deps\mpg123\output.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (E:\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Windows_NT 10.0.18363
gyp ERR! command "E:\\nodejs\\node.exe" "E:\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd E:\My CODE\WEB\G Assist 2\node_modules\speaker
gyp ERR! node -v v12.13.1
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: speaker@0.3.1 (node_modules\audio-speaker\node_modules\speaker):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: speaker@0.3.1 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! speaker@0.4.2 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the speaker@0.4.2 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\DELL\AppData\Roaming\npm-cache\_logs\2019-11-29T19_01_37_411Z-debug.log

E:\My CODE\WEB\G Assist 2>

I am unsure what's the cause of the issue because the file 'win32.c' clearly exists in the project within the proper directory:

Annotation 2019-11-30 010049

Info:

Node Version: v12.13.1 npm Version: v6.12.1 node-gyp Version: v5.0.5 MS Visual Studio Edition: 2017 Windows: Windows 10 Build 1909