karfcz / grunt-sprite-packer

A grunt plugin that converts multiple png files into single sprite file using efficient packer algorithm.
MIT License
11 stars 5 forks source link

Cryptic error reported when ImageMagic missing #11

Open smokku opened 10 years ago

smokku commented 10 years ago

When I tried running a build using spritepacker I got:

$ grunt spritepacker:icons
Running "spritepacker:icons" (spritepacker) task
Fatal error: spawn ENOENT

That explains... absolutely nothing.

After rolling my sleeves up and passing grunt through strace I got:

[pid 10787] execve("/usr/local/bin/identify", ["identify", "sprite/icons/arrow-blue-down.png", "sprite/icons/arrow-left-disabled"..., "sprite/icons/arrow-left.png", "sprite/icons/arrow-right-disable"..., "sprite/icons/arrow-right.png", "sprite/icons/clear-hover.png", "sprite/icons/clear.png", "sprite/icons/close.png", "sprite/icons/collapse.png", "sprite/icons/context-help-close."..., "sprite/icons/context-help-more-i"..., "sprite/icons/copy.png", "sprite/icons/datepicker.png", "sprite/icons/delete.png", "sprite/icons/edit.png", ...], [/* 75 vars */]) = -1 ENOENT (No such file or directory)
[pid 10787] execve("/usr/bin/identify", ["identify", "sprite/icons/arrow-blue-down.png", "sprite/icons/arrow-left-disabled"..., "sprite/icons/arrow-left.png", "sprite/icons/arrow-right-disable"..., "sprite/icons/arrow-right.png", "sprite/icons/clear-hover.png", "sprite/icons/clear.png", "sprite/icons/close.png", "sprite/icons/collapse.png", "sprite/icons/context-help-close."..., "sprite/icons/context-help-more-i"..., "sprite/icons/copy.png", "sprite/icons/datepicker.png", "sprite/icons/delete.png", "sprite/icons/edit.png", ...], [/* 75 vars */]) = -1 ENOENT (No such file or directory)
[pid 10787] execve("/bin/identify", ["identify", "sprite/icons/arrow-blue-down.png", "sprite/icons/arrow-left-disabled"..., "sprite/icons/arrow-left.png", "sprite/icons/arrow-right-disable"..., "sprite/icons/arrow-right.png", "sprite/icons/clear-hover.png", "sprite/icons/clear.png", "sprite/icons/close.png", "sprite/icons/collapse.png", "sprite/icons/context-help-close."..., "sprite/icons/context-help-more-i"..., "sprite/icons/copy.png", "sprite/icons/datepicker.png", "sprite/icons/delete.png", "sprite/icons/edit.png", ...], [/* 75 vars */]) = -1 ENOENT (No such file or directory)
[pid 10787] execve("/usr/local/sbin/identify", ["identify", "sprite/icons/arrow-blue-down.png", "sprite/icons/arrow-left-disabled"..., "sprite/icons/arrow-left.png", "sprite/icons/arrow-right-disable"..., "sprite/icons/arrow-right.png", "sprite/icons/clear-hover.png", "sprite/icons/clear.png", "sprite/icons/close.png", "sprite/icons/collapse.png", "sprite/icons/context-help-close."..., "sprite/icons/context-help-more-i"..., "sprite/icons/copy.png", "sprite/icons/datepicker.png", "sprite/icons/delete.png", "sprite/icons/edit.png", ...], [/* 75 vars */]) = -1 ENOENT (No such file or directory)

identify is a part of ImageMagick...

smokku commented 10 years ago

4 probably is a duplicate

karfcz commented 10 years ago

Thanks for your report. Unfortunately I cannot catch this error in my package because this is an error from a child process. It's a bug in Imagemagick package that adds error listeners after the childproc.spawn() call, so the error from this command itself is never caught. Sadly, Imagemagick package seems to be abandoned so it is probably not going to be fixed.

smokku commented 10 years ago

imagemagick A wrapper around the imagemagick cli =rsms =yourdeveloper 2014-07-23 21:43 0.1.3

This one doesn't look abandoned.