AtomLinter / linter-glsl

Atom package that lints GLSL shaders on the fly.
https://atom.io/packages/linter-glsl
MIT License
15 stars 6 forks source link

Uncaught Error: spawn EACCES #9

Closed stephanstross closed 8 years ago

stephanstross commented 8 years ago

[Enter steps to reproduce below:]

  1. Open Atom.

Happened after installing glslangValidator to /usr/local/bin/, following the instructions from the KhronosGroup.

Atom Version: 1.3.2 System: Ubuntu 15.04 Thrown From: linter-glsl package, v1.0.5

Stack Trace

Uncaught Error: spawn EACCES

At /usr/share/atom/resources/app.asar/src/buffered-process.js:260

Error: spawn EACCES
    at exports._errnoException (util.js:837:11)
    at ChildProcess.spawn (internal/child_process.js:298:11)
    at Object.exports.spawn (child_process.js:351:9)
    at BufferedProcess.module.exports.BufferedProcess.spawn (/usr/share/atom/resources/app.asar/src/buffered-process.js:188:44)
    at new BufferedProcess (/usr/share/atom/resources/app.asar/src/buffered-process.js:52:14)
    at /home/stephan/.atom/packages/linter-glsl/node_modules/atom-linter/lib/helpers.coffee:40:30
    at Object.module.exports.Helpers._exec (/home/stephan/.atom/packages/linter-glsl/node_modules/atom-linter/lib/helpers.coffee:22:16)
    at Object.module.exports.Helpers.exec (/home/stephan/.atom/packages/linter-glsl/node_modules/atom-linter/lib/helpers.coffee:13:13)
    at /home/stephan/.atom/packages/linter-glsl/lib/linter-glsl.js:298:34

Commands

Config

{
  "core": {},
  "linter-glsl": {}
}

Installed Packages

# User
autocomplete-glsl, v0.2.3
glsl-preview, v0.5.0
language-glsl, v2.0.1
language-rust, v0.4.5
language-x86-64-assembly, v2.1.5
linter, v1.11.3
linter-glsl, v1.0.5
linter-rust, v0.3.0
rust-api-docs-helper, v0.5.1

# Dev
No dev packages
andystanton commented 8 years ago

Hi @stephanstross

Thanks for the very detailed bug report! It looks as though Atom can't find the glslangValidator executable.

If you load atom from the terminal via the atom CLI command, simply adding /usr/local/bin to your PATH is enough.

Otherwise you need to specify the full path to glslangValidator in your config. You can do this by either:

  1. Using the Atom preferences for the linter-glsl package to set glslangValidatorPath to /usr/local/bin/glslangValidator
  2. Updating the linter-glsl section of your config to:
"linter-glsl":
    glslangValidatorPath: "/usr/local/bin/glslangValidator"

Let me know if that helps!

stephanstross commented 8 years ago

Nope. Same error :/ I've set the config option as you said, and the program is in there, but, no dice.

andystanton commented 8 years ago

Ok, what does the output of ls -la look like?

$ ls -la /usr/local/bin/glslangValidator

Perhaps glslangValidator isn't executable for your user.

stephanstross commented 8 years ago
-rw-r----- 1 root root 3553816 Dec 24 22:06 /usr/local/bin/glslangValidator

It appears that it is not... One quick sudo chmod +x /usr/local/bin/glslangValidator later, and the output looks like this:

-rwxr-x--x 1 root root 3553816 Dec 24 22:06 /usr/local/bin/glslangValidator

and it looks like this! And, that being done, it seems to work now! No more error, and when I cause deliberate errors, it picks them up! Thanks for the help, and sorry about the late response.