Closed JobLeonard closed 8 years ago
+1
I'm in the same state of mind :)
+2 using 14.04. (with xfce)
Hey all, thanks for your interest in helping here. I think the first steps we want to follow are like this:
Hope that helps!
Ok, I gave it a shot! I followed the instructions of the readme, it basically timed out once I tried running gulp:
job@job-ThinkPad-T440s-Ubuntu ~/D/P/p/p5.js-editor>gulp
[13:14:05] Using gulpfile ~/Dev/Processing/p5js/p5.js-editor/gulpfile.js
[13:14:05] Starting 'copy-ffmpeg-default'...
copying ffmpegsumo to ./node_modules
[13:14:05] Finished 'copy-ffmpeg-default' after 7.35 ms
[13:14:05] Starting 'css'...
[13:14:05] Finished 'css' after 8.91 ms
[13:14:05] Starting 'browserify'...
[13:14:05] Finished 'browserify' after 4.44 ms
[13:14:05] Starting 'injected-js'...
[13:14:05] Starting 'watch'...
[13:14:05] Finished 'watch' after 31 ms
[13:14:05] Finished 'injected-js' after 82 ms
[13:14:05] Starting 'default'...
[13:14:05] Finished 'default' after 8.67 μs
[13:14:06] Starting 'browserify'...
[13:14:06] Finished 'browserify' after 1.87 ms
It has been stuck at this point for over an hour now. Killing it and trying again has the same results. Frustratingly, because it doesn't visibly crash I don't know what the problem is.
If I try to run npm run app
(which of course won't work, but might give some info), I get:
> p5@0.5.10 app /home/job/Dev/Processing/p5js/p5.js-editor
> nw public
[10204:0325/150436:ERROR:browser_main_loop.cc(170)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
[10204:0325/150437:ERROR:nw_shell.cc(336)] TypeError: undefined is not a function
at Object.8../files (file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:1043:11)
at s (file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:1:220)
at file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:1:271
at Object.7../debug/index (file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:489:12)
at s (file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:1:220)
at e (file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:1:391)
at file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:1:409
[10204:0325/150437:INFO:CONSOLE(1043)] "Uncaught TypeError: undefined is not a function", source: file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js (1043)
Argh sorry this is so frustrating to debug. I did open up main.js and found at line 1043:
if (!isWin) {
menubar.createMacBuiltin("p5");
}
So this definitely seems wrong... Maybe one place to start would be to look through the codebase at this isWin
var and maybe more properly name the var isMac
, and then see where it plays out and make changes as necessary.
FYI here's where that particular line in main.js gets generated from: https://github.com/processing/p5.js-editor/blob/master/app/menu.js#L7
As I search around for the definition of isWin
it seems like this comes from one of the node_modules, but it seems likely there are also isMac
and isLinux
vars already defined that could be used:
/Users/lmccart/Documents/p5/p5.js-editor/dist/p5 - v0.5.10/osx64/p5.app/Contents/Resources/app.nw/js/main.js:
7665 var os = (navigator.platform.match(/mac|win|linux/i) || ["other"])[0].toLowerCase();
7666 var ua = navigator.userAgent;
7667: exports.isWin = (os == "win");
7668 exports.isMac = (os == "mac");
7669 exports.isLinux = (os == "linux");
@lmccart Hi, I've been working on the linux support and have got it running on linux with npm run app
. My dev branch is here: https://github.com/davejm/p5.js-editor/tree/linux-support . I haven't got a new ffmpegsumo library built for linux64 bit in there and the release seems a bit weird but everything else seems to work. Shall I create a pull request?
The build oddities were caused by me not having wine to update the windows build's icons. All works now. I can't see any problems. @JobLeonard can you test on your system to make sure?
this is fantastic, nice work! yes, go ahead and submit a PR and I'll review and merge it in. if anyone else on linux has a moment to test as well, that'd be very helpful!
Hey @lmccart no problem. Submitted pull request #237. Sound doesn't work atm as I don't have the relevant custom built ffmpeg library but this can be copied from a linux version of Chrome, from a custom build of nw.js or from another project apparently according to this: https://github.com/nwjs/nw.js/wiki/Using-MP3-&-MP4-(H.264)-using-the--video--&--audio--tags. Anyway there's a note about that in the PR.
Hey @davejm, thanks for working on this!
I'm getting this error when I try to run npm install
in public
, although I suspect that has more to do with my system:
> serialport@1.7.4 install /home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport
> node-pre-gyp install --fallback-to-build
sh: 1: node-pre-gyp: not found
npm ERR! Linux 4.4.0-22-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v4.4.4
npm ERR! npm v2.15.1
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! serialport@1.7.4 install: `node-pre-gyp install --fallback-to-build`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the serialport@1.7.4 install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! This is most likely a problem with the serialport package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-pre-gyp install --fallback-to-build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs serialport
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR! npm owner ls serialport
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /home/job/Dev/Processing/p5js/p5.js-editor/public/npm-debug.log
Thanks for testing @JobLeonard. Not sure what the problem is. I think that might be a native addon. Do you have the correct build tools for your distribution? If on debian/ubuntu do sudo apt-get install -y build-essential
and try again. Also might be worth deleting the node_modules folder in public before you try again.
Ok, so after a bit of googling, I learned that what you should never do on Debian- or Ubuntu-based distros, is install node from the default packages. Instead you should follow the instructions on the node website.
After fixing that, and giving this another go, I now get the following output on npm install
:
job@job-ThinkPad-T440s-Ubuntu ~/D/P/p/p/public> npm install
npm WARN package.json p5@0.5.10 No description
npm WARN package.json p5@0.5.10 No repository field.
npm WARN package.json p5@0.5.10 No README data
npm WARN package.json p5@0.5.10 No license field.
npm ERR! Linux 4.4.0-22-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v4.4.5
npm ERR! npm v2.15.5
npm ERR! path /home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport/node_modules/.bin/node-pre-gyp
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall unlink
npm ERR! Error: EACCES: permission denied, unlink '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport/node_modules/.bin/node-pre-gyp'
npm ERR! at Error (native)
npm ERR! { [Error: EACCES: permission denied, unlink '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport/node_modules/.bin/node-pre-gyp']
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'unlink',
npm ERR! path: '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport/node_modules/.bin/node-pre-gyp' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! error rolling back Error: EACCES: permission denied, unlink '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport/node_modules/.bin/node-pre-gyp'
npm ERR! error rolling back at Error (native)
npm ERR! error rolling back { [Error: EACCES: permission denied, unlink '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport/node_modules/.bin/node-pre-gyp']
npm ERR! error rolling back errno: -13,
npm ERR! error rolling back code: 'EACCES',
npm ERR! error rolling back syscall: 'unlink',
npm ERR! error rolling back path: '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport/node_modules/.bin/node-pre-gyp' }
npm ERR! Please include the following file with any support request:
npm ERR! /home/job/Dev/Processing/p5js/p5.js-editor/public/npm-debug.log
job@job-ThinkPad-T440s-Ubuntu ~/D/P/p/p/public> ls
boot.html fonts/ images/ index.html* js/ mode_assets/ node_modules/ npm-debug.log package.json serial.html
job@job-ThinkPad-T440s-Ubuntu ~/D/P/p/p/public> sudo rm -rf node_modules/
job@job-ThinkPad-T440s-Ubuntu ~/D/P/p/p/public> npm install
npm WARN package.json p5@0.5.10 No description
npm WARN package.json p5@0.5.10 No repository field.
npm WARN package.json p5@0.5.10 No README data
npm WARN package.json p5@0.5.10 No license field.
npm WARN deprecated wrench@1.5.9: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years.
npm WARN optional dep failed, continuing fsevents@0.3.8
npm WARN deprecated graceful-fs@3.0.8: 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 in the tree.
npm WARN installMany node-pre-gyp was bundled with serialport@1.7.4, but bundled package wasn't found in unpacked tree
|
> serialport@1.7.4 install /home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport
> node-pre-gyp install --fallback-to-build
node-pre-gyp ERR! Tried to download: https://node-serialport.s3.amazonaws.com/serialport/v1.7.4/Release/node-v46-linux-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for serialport@1.7.4 and node@4.4.5 (node-v46 ABI) (falling back to source compile with node-gyp)
make: Entering directory '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport/build'
CXX(target) Release/obj.target/serialport/src/serialport.o
CXX(target) Release/obj.target/serialport/src/serialport_unix.o
CXX(target) Release/obj.target/serialport/src/serialport_poller.o
SOLINK_MODULE(target) Release/obj.target/serialport.node
COPY Release/serialport.node
COPY /home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport/build/serialport/v1.7.4/Release/node-v46-linux-x64/serialport.node
TOUCH Release/obj.target/action_after_build.stamp
make: Leaving directory '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport/build'
> bufferutil@1.2.1 install /home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/p5.serialserver/node_modules/ws/node_modules/bufferutil
> node-gyp rebuild
make: Entering directory '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/p5.serialserver/node_modules/ws/node_modules/bufferutil/build'
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/obj.target/bufferutil.node
COPY Release/bufferutil.node
make: Leaving directory '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/p5.serialserver/node_modules/ws/node_modules/bufferutil/build'
> utf-8-validate@1.2.1 install /home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/p5.serialserver/node_modules/ws/node_modules/utf-8-validate
> node-gyp rebuild
make: Entering directory '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/p5.serialserver/node_modules/ws/node_modules/utf-8-validate/build'
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/obj.target/validation.node
COPY Release/validation.node
make: Leaving directory '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/p5.serialserver/node_modules/ws/node_modules/utf-8-validate/build'
semver@3.0.1 node_modules/semver
wrench@1.5.9 node_modules/wrench
portscanner@1.0.0 node_modules/portscanner
└── async@0.1.15
node-static@0.7.6 node_modules/node-static
├── mime@1.3.4
├── colors@1.1.2
└── optimist@0.6.1 (wordwrap@0.0.3, minimist@0.0.10)
rimraf@2.5.2 node_modules/rimraf
└── glob@7.0.3 (path-is-absolute@1.0.0, inherits@2.0.1, once@1.3.3, inflight@1.0.5, minimatch@3.0.0)
chokidar@1.0.5 node_modules/chokidar
├── arrify@1.0.1
├── is-glob@1.1.3
├── path-is-absolute@1.0.0
├── async-each@0.1.6
├── is-binary-path@1.0.1 (binary-extensions@1.4.1)
├── glob-parent@1.3.0 (is-glob@2.0.1)
├── readdirp@1.4.0 (graceful-fs@4.1.4, minimatch@0.2.14, readable-stream@1.0.34)
└── anymatch@1.3.0 (micromatch@2.3.8)
trash@0.1.2 node_modules/trash
├── escape-string-applescript@0.1.1
├── minimist@0.1.0
└── update-notifier@0.1.10 (semver@2.3.2, chalk@0.4.0, configstore@0.3.2)
request@2.72.0 node_modules/request
├── aws-sign2@0.6.0
├── tunnel-agent@0.4.3
├── forever-agent@0.6.1
├── oauth-sign@0.8.2
├── caseless@0.11.0
├── is-typedarray@1.0.0
├── stringstream@0.0.5
├── aws4@1.4.1
├── isstream@0.1.2
├── json-stringify-safe@5.0.1
├── extend@3.0.0
├── tough-cookie@2.2.2
├── node-uuid@1.4.7
├── qs@6.1.0
├── combined-stream@1.0.5 (delayed-stream@1.0.0)
├── mime-types@2.1.11 (mime-db@1.23.0)
├── form-data@1.0.0-rc4 (async@1.5.2)
├── bl@1.1.2 (readable-stream@2.0.6)
├── hawk@3.1.3 (cryptiles@2.0.5, boom@2.10.1, sntp@1.0.9, hoek@2.16.3)
├── http-signature@1.1.1 (assert-plus@0.2.0, jsprim@1.2.2, sshpk@1.8.3)
└── har-validator@2.0.6 (pinkie-promise@2.0.1, commander@2.9.0, chalk@1.1.3, is-my-json-valid@2.13.1)
serialport@1.7.4 node_modules/serialport
├── bindings@1.2.1
├── async@0.9.0
├── sf@0.1.7
├── debug@2.2.0 (ms@0.7.1)
├── nan@2.0.9
├── optimist@0.6.1 (wordwrap@0.0.3, minimist@0.0.10)
└── node-pre-gyp@0.6.28 (semver@5.1.0, nopt@3.0.6, mkdirp@0.5.1, rc@1.1.6, npmlog@2.0.4, tar-pack@3.1.3, tar@2.2.1)
p5.serialserver@0.0.20 node_modules/p5.serialserver
└── ws@0.8.0 (options@0.0.6, ultron@1.0.2, bufferutil@1.2.1, utf-8-validate@1.2.1)
job@job-ThinkPad-T440s-Ubuntu ~/D/P/p/p/public>
@JobLeonard hmm weird ok. Did you try installing the 'build-essential'? Looks like the error might be to do with permissions... could you try running sudo npm install
?
Sorry, forgot to mention that build-essential
had already been installed (just double checked).
Using sudo
causes a regression (?) to the former error message.
What's really strange is that node-serialport claims that using Chris Lea's PPA should have fixed this. So I'm puzzled as to where the problem might lie.
@JobLeonard after looking at this for quite some time I think I've pinpointed the problem. All was well when I was running nodejs v0.12 from the official ubuntu repo then I upgraded to Node4 and then Node6 and things started to break. The newest versions of serialport work with new nodejs but the old one in the public/package.json of this project doesn't. So, try replacing your public/package.json with the attached code and see if it works. It did for me. I upgraded the serialport version within this file and in the dependencies file of my fork of the p5-serialport package. Note that I haven't tested the functionality of serialport although there aren't any API changes in the latest build as far as I can see.
So, make the this code your public/package.json and remove the node_modules folder in public as well. Then try install again.
{
"name": "p5",
"version": "0.5.10",
"main": "boot.html",
"window": {
"title": "Untitled",
"toolbar": false,
"frame": true,
"position": "center",
"width": 1024,
"height": 768,
"show": false,
"focus": true,
"resizable": true
},
"dependencies": {
"chokidar": "1.0.5",
"node-static": "0.7.6",
"p5.serialserver": "git://github.com/davejm/p5.serialport.git#master",
"portscanner": "1.0.0",
"rimraf": "^2.3.4",
"semver": "~3.0.1",
"serialport": "3.1.2",
"trash": "~0.1.2",
"wrench": "~1.5.8"
},
"devDependencies": {
"request": "^2.58.0"
}
}
Well, that seems to work for that bug!
job@job-ThinkPad-T440s-Ubuntu ~/D/P/p/p/public> npm install
npm WARN package.json p5@0.5.10 No description
npm WARN package.json p5@0.5.10 No repository field.
npm WARN package.json p5@0.5.10 No README data
npm WARN package.json p5@0.5.10 No license field.
npm WARN deprecated wrench@1.5.9: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years.
npm WARN optional dep failed, continuing fsevents@0.3.8
npm WARN deprecated graceful-fs@3.0.8: 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 in the tree.
> bufferutil@1.2.1 install /home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/p5.serialserver/node_modules/ws/node_modules/bufferutil
> node-gyp rebuild
make: Entering directory '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/p5.serialserver/node_modules/ws/node_modules/bufferutil/build'
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/obj.target/bufferutil.node
COPY Release/bufferutil.node
make: Leaving directory '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/p5.serialserver/node_modules/ws/node_modules/bufferutil/build'
> utf-8-validate@1.2.1 install /home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/p5.serialserver/node_modules/ws/node_modules/utf-8-validate
> node-gyp rebuild
make: Entering directory '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/p5.serialserver/node_modules/ws/node_modules/utf-8-validate/build'
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/obj.target/validation.node
COPY Release/validation.node
make: Leaving directory '/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/p5.serialserver/node_modules/ws/node_modules/utf-8-validate/build'
> serialport@3.1.2 install /home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport
> node-pre-gyp install --fallback-to-build
[serialport] Success: "/home/job/Dev/Processing/p5js/p5.js-editor/public/node_modules/serialport/build/Release/serialport.node" is installed via remote
semver@3.0.1 node_modules/semver
wrench@1.5.9 node_modules/wrench
portscanner@1.0.0 node_modules/portscanner
└── async@0.1.15
rimraf@2.5.2 node_modules/rimraf
└── glob@7.0.3 (path-is-absolute@1.0.0, inherits@2.0.1, inflight@1.0.5, once@1.3.3, minimatch@3.0.0)
node-static@0.7.6 node_modules/node-static
├── mime@1.3.4
├── colors@1.1.2
└── optimist@0.6.1 (wordwrap@0.0.3, minimist@0.0.10)
chokidar@1.0.5 node_modules/chokidar
├── is-glob@1.1.3
├── arrify@1.0.1
├── path-is-absolute@1.0.0
├── async-each@0.1.6
├── is-binary-path@1.0.1 (binary-extensions@1.4.1)
├── glob-parent@1.3.0 (is-glob@2.0.1)
├── readdirp@1.4.0 (graceful-fs@4.1.4, readable-stream@1.0.34, minimatch@0.2.14)
└── anymatch@1.3.0 (micromatch@2.3.8)
trash@0.1.2 node_modules/trash
├── escape-string-applescript@0.1.1
├── minimist@0.1.0
└── update-notifier@0.1.10 (semver@2.3.2, chalk@0.4.0, configstore@0.3.2)
request@2.72.0 node_modules/request
├── aws-sign2@0.6.0
├── tunnel-agent@0.4.3
├── forever-agent@0.6.1
├── oauth-sign@0.8.2
├── is-typedarray@1.0.0
├── caseless@0.11.0
├── stringstream@0.0.5
├── aws4@1.4.1
├── isstream@0.1.2
├── json-stringify-safe@5.0.1
├── extend@3.0.0
├── tough-cookie@2.2.2
├── node-uuid@1.4.7
├── qs@6.1.0
├── combined-stream@1.0.5 (delayed-stream@1.0.0)
├── mime-types@2.1.11 (mime-db@1.23.0)
├── form-data@1.0.0-rc4 (async@1.5.2)
├── bl@1.1.2 (readable-stream@2.0.6)
├── hawk@3.1.3 (cryptiles@2.0.5, boom@2.10.1, sntp@1.0.9, hoek@2.16.3)
├── http-signature@1.1.1 (assert-plus@0.2.0, jsprim@1.2.2, sshpk@1.8.3)
└── har-validator@2.0.6 (pinkie-promise@2.0.1, commander@2.9.0, chalk@1.1.3, is-my-json-valid@2.13.1)
p5.serialserver@0.0.20 node_modules/p5.serialserver
└── ws@0.8.0 (options@0.0.6, ultron@1.0.2, bufferutil@1.2.1, utf-8-validate@1.2.1)
serialport@3.1.2 node_modules/serialport
├── bindings@1.2.1
├── es6-promise@3.2.1
├── commander@2.9.0 (graceful-readlink@1.0.1)
├── nan@2.3.5
├── debug@2.2.0 (ms@0.7.1)
└── object.assign@4.0.3 (function-bind@1.1.0, object-keys@1.0.9, define-properties@1.1.2)
Except now it hangs on gulp
:
job@job-ThinkPad-T440s-Ubuntu ~/D/P/p/p5.js-editor> gulp
[22:27:59] Using gulpfile ~/Dev/Processing/p5js/p5.js-editor/gulpfile.js
[22:27:59] Starting 'copy-ffmpeg-default'...
copying ffmpegsumo to ./node_modules
[22:27:59] Finished 'copy-ffmpeg-default' after 7.37 ms
[22:27:59] Starting 'css'...
[22:27:59] Finished 'css' after 9.06 ms
[22:27:59] Starting 'browserify'...
[22:27:59] Finished 'browserify' after 4.38 ms
[22:27:59] Starting 'injected-js'...
[22:27:59] Starting 'watch'...
[22:27:59] Finished 'watch' after 30 ms
[22:27:59] Finished 'injected-js' after 85 ms
[22:27:59] Starting 'default'...
[22:27:59] Finished 'default' after 9.22 μs
To be clear, it just hangs - it doesn't finish. If I ctrl+c
out of that, and continue (since it might give some useful feedback about what's missing) I get:
^C~
job@job-ThinkPad-T440s-Ubuntu ~/D/P/p/p5.js-editor> npm run app
> p5@0.5.10 app /home/job/Dev/Processing/p5js/p5.js-editor
> nw public
[20496:0606/222936:ERROR:browser_main_loop.cc(170)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
ATTENTION: default value of option force_s3tc_enable overridden by environment.
[20496:0606/222936:ERROR:nw_shell.cc(336)] TypeError: undefined is not a function
at Object.8../files (file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:1043:11)
at s (file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:1:220)
at file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:1:271
at Object.7../debug/index (file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:489:12)
at s (file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:1:220)
at e (file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:1:391)
at file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js:1:409
[20496:0606/222936:INFO:CONSOLE(1043)] "Uncaught TypeError: undefined is not a function", source: file:///home/job/Dev/Processing/p5js/p5.js-editor/public/js/main.js (1043)
Again, it just stops doing anything - it doesn't open a window or anything. If I ctrl+c
out of that I get:
^C~ job@job-ThinkPad-T440s-Ubuntu ~/D/P/p/p5.js-editor> [20518:0606/223229:WARNING:x11_util.cc(1490)] X error received: serial 213, error_code 3 (BadWindow (invalid Window parameter)), request_code 4, minor_code 0 (X_DestroyWindow)
[20518:0606/223229:WARNING:x11_util.cc(1490)] X error received: serial 215, error_code 3 (BadWindow (invalid Window parameter)), request_code 4, minor_code 0 (X_DestroyWindow)
@JobLeonard very strange. Ok what about deleting the node_modules folder in the project root and the public folder and doing npm install for both again then trying again. I think after gulp finishes it's supposed to stay running as it 'watches' for changes in order to rebuild. It's hard to know what's going wrong as the main.js file is all the JS combined.
Problem solved...
@JobLeonard yay haha. p5 is perfect for quick memes!
Seemed like an appropriate way to celebrate victory.. over my own idiocy, but victory nonetheless! (at least the serial port issue was real)
You're a champ for making this work, @davejm!
So what's keeping the changes from being merged, if everything seems to work?
sorry for the delay on this, I will take a look later today and get it merged in!
This is awesome, thanks all! I merged it in and just posted a new release. http://p5js.org/download/ 🎉 🎉
it works nicely ! though :
chmod +x p5
is needed to make the file executable.
Also:
The p5.js editor is currently in development, try out a beta version of it now. Help out by posting feedback and bugs. Support for Linux coming soon, along with more features.
I think you can remove the bolded line ;)
So, what is needed for proper Linux support?
I have little node and gulp experience, but am willing to try and help out; running Ubuntu 15.10 on my laptop here.
Testing shouldn't be too hard for me, but anything more than that will need a bit of guidance.
Cheers, Job