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

building windows binary fails under wsl and ubuntu vm #3591

Closed
jms1989 opened this issue Jun 15, 2019 · 13 comments
Closed

building windows binary fails under wsl and ubuntu vm #3591

jms1989 opened this issue Jun 15, 2019 · 13 comments

Comments

@jms1989
Copy link

jms1989 commented Jun 15, 2019

I've been attempting to build a windows installer from the latest commit but am stuck on one thing.

I'm using the windows subsystem for linux and a ubuntu vm, both give the same error. I'm also attempting it in a windows vm but electron keeps failing to rebuild. not sure why.

michael@Terminator:~/google-play-music-player$ npm run make:win

> google-play-music-desktop-player@4.6.1 make:win /home/michael/google-play-music-player
> gulp make:win

[19:55:25] Failed to load external module @babel/register
[19:55:25] Requiring external module babel-register
[19:55:29] Using gulpfile ~/google-play-music-player/gulpfile.babel.js
[19:55:29] Starting 'clean-dist-win'...
[19:55:29] Starting 'clean-internal'...
[19:55:29] Starting 'clean-images'...
[19:55:29] Starting 'clean-less'...
[19:55:29] Starting 'clean-fonts'...
[19:55:29] Starting 'clean-html'...
[19:55:29] Starting 'clean-locales'...
[19:55:29] Finished 'clean-dist-win' after 43 ms
[19:55:29] Finished 'clean-less' after 95 ms
[19:55:29] Starting 'less'...
[19:55:29] Finished 'clean-html' after 108 ms
[19:55:29] Starting 'html'...
[19:55:29] Finished 'clean-images' after 154 ms
[19:55:29] Starting 'copy-static-images'...
[19:55:29] Finished 'clean-fonts' after 176 ms
[19:55:29] Starting 'fonts'...
[19:55:29] Finished 'html' after 168 ms
[19:55:29] Finished 'clean-locales' after 373 ms
[19:55:29] Starting 'locales'...
[19:55:29] Finished 'less' after 330 ms
[19:55:30] Finished 'copy-static-images' after 306 ms
[19:55:30] Starting 'images'...
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
TypeError: "file" argument must be a non-empty string
    at normalizeSpawnArguments (child_process.js:381:11)
    at exports.spawn (child_process.js:494:38)
    at Object.exports.execFile (child_process.js:210:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)
    at <anonymous>
[19:55:30] Finished 'locales' after 196 ms
[19:55:30] Finished 'fonts' after 402 ms
[19:55:30] Finished 'clean-internal' after 772 ms
[19:55:30] Starting 'transpile'...
[19:55:34] Finished 'transpile' after 4.6 s

OS: Win10 Pro 64bit 1904

GPMDP Version: 1.6.1

Issue Descriptions: Build fail

Steps to Reproduce: download git repo, run npm install, then npm run make:win

@welcome
Copy link

welcome bot commented Jun 15, 2019

👋 Thanks for opening your first issue here! If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of duplicate issues on this repo, so please double check now that your issue has not already been solved or doesn't have an open issue already.
To help make it easier for us to investigate your issue, please follow the contributing guidelines and ensure the issue template was filled out.

@jostrander
Copy link
Collaborator

I'm fairly certain you need to be in the windows cmd or powershell in order to build for Windows.

@MarshallOfSound
Copy link
Owner

I'm fairly certain you need to be in the windows cmd or powershell in order to build for Windows.

This is accurate

@jms1989
Copy link
Author

jms1989 commented Jun 15, 2019

Even attempting to build debian packages within the linux environment fails the same way.

@jostrander
Copy link
Collaborator

From a fresh clone be of the repo with no modifications? Version of node?

@jms1989
Copy link
Author

jms1989 commented Jun 15, 2019

fresh clone; using node v9.11.2

@jostrander
Copy link
Collaborator

Try node 8 or 10

@jms1989
Copy link
Author

jms1989 commented Jun 15, 2019

downgraded to node v8.16. same thing.

@jms1989
Copy link
Author

jms1989 commented Jun 15, 2019

using node 10, I got a bunch of these when doing the image bit.

TypeError [ERR_INVALID_ARG_TYPE]: The "file" argument must be of type string. Received type object
    at validateString (internal/validators.js:125:11)
    at normalizeSpawnArguments (child_process.js:411:3)
    at spawn (child_process.js:545:16)
    at Object.execFile (child_process.js:221:15)
    at Object.execFile (/home/michael/google-play-music-player/node_modules/pn/_promisify.js:50:27)
    at Promise.resolve.then (/home/michael/google-play-music-player/node_modules/svg2png/lib/svg2png.js:13:33)

@jostrander
Copy link
Collaborator

Looking back I see you are using NPM. Try using yarn to install dependencies as that is the lock file tracked in the repo. If you use npm you will have upgraded sub dependencies that haven't been tested.

@jms1989
Copy link
Author

jms1989 commented Jun 15, 2019

ok. yarn worked in the windows vm to install the dependencies.

now running the build script npm run make:win results in an error. something about directory lengths and temp directories.
windowsbuilderror.log

@jostrander
Copy link
Collaborator

I'm not on windows so I can't say for certain, but try and use yarn to run all the commands. I would start with a yarn build and yarn start to be sure it works. Then try to yarn make:win. I've read npm@3 can cause path too long issues on windows, so if yarn on windows doesn't solve you're problem maybe making sure you're using a later version of npm might help?

@jms1989
Copy link
Author

jms1989 commented Jun 15, 2019

ok, I did yarn build and yarn start and they seem to work then tried yarn make:win and got a similar error.
windowsbuilderror-yarn.log

I have npm v6.9.0 and node v10.16.0 on the windows vm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants