Commented out the following to get Compass to watch appropriately. Maybe we should comment this out by default?

Assuming this theme is in sites/*/themes/THEMENAME, we can add the Drupal
root, sites/all and sites/default directories to the Sass import path using
add_import_path. Paths added first are used before paths added later.
#add_import_path "../../../default"
#add_import_path "../../../all"
#add_import_path "../../../.."

I was getting this error:

Compass is watching for changes. Press Ctrl-C to Stop.
Errno::ENOSPC on line 80 of /var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/watcher.rb: No space left on device - Failed to watch "www/sites/default/files//xml/ncic/dr00/0006/2748": The user limit on the total number of inotify watches was reached or the kernel failed to allocate a needed resource.
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:182:in `new'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:182:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:190:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:186:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `each'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:186:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `each'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:186:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `each'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:186:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `each'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:186:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `each'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:186:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `each'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:186:in `watch'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `each'
/var/lib/gems/1.8/gems/rb-inotify-0.8.4/lib/rb-inotify/notifier.rb:183:in `watch'
/var/lib/gems/1.8/gems/fssm-0.2.7/lib/fssm/backends/inotify.rb:8:in `add_handler'
/var/lib/gems/1.8/gems/fssm-0.2.7/lib/fssm/monitor.rb:9:in `path'
/var/lib/gems/1.8/gems/compass-0.12.alpha.2/lib/compass/commands/watch_project.rb:90:in `perform'
/var/lib/gems/1.8/gems/compass-0.12.alpha.2/lib/compass/commands/watch_project.rb:87:in `each'
/var/lib/gems/1.8/gems/compass-0.12.alpha.2/lib/compass/commands/watch_project.rb:87:in `perform'
/var/lib/gems/1.8/gems/fssm-0.2.7/lib/fssm/support.rb:85:in `call'
/var/lib/gems/1.8/gems/fssm-0.2.7/lib/fssm/support.rb:85:in `use_block'
/var/lib/gems/1.8/gems/fssm-0.2.7/lib/fssm.rb:18:in `monitor'
/var/lib/gems/1.8/gems/compass-0.12.alpha.2/lib/compass/commands/watch_project.rb:86:in `perform'
/var/lib/gems/1.8/gems/compass-0.12.alpha.2/lib/compass/commands/base.rb:18:in `execute'
/var/lib/gems/1.8/gems/compass-0.12.alpha.2/lib/compass/commands/project_base.rb:19:in `execute'
/var/lib/gems/1.8/gems/compass-0.12.alpha.2/lib/compass/exec/sub_command_ui.rb:43:in `perform!'
/var/lib/gems/1.8/gems/compass-0.12.alpha.2/lib/compass/exec/sub_command_ui.rb:15:in `run!'
/var/lib/gems/1.8/gems/compass-0.12.alpha.2/bin/compass:25
/var/lib/gems/1.8/gems/compass-0.12.alpha.2/bin/compass:39:in `call'
/var/lib/gems/1.8/gems/compass-0.12.alpha.2/bin/compass:39
/var/lib/gems/1.8/bin/compass:19:in `load'
/var/lib/gems/1.8/bin/compass:19

Comments

JohnAlbin’s picture

Priority: Normal » Critical

I was under the mistaken impression that add_import_path simply allowed your Sass files to import things in that path. I did not realize it also caused compass watch to watch all of those paths.

I didn't have any issues with these lines uncommented, but I wasn't testing it on a production site with 1000s of items in sites/default/files. That's why the "The user limit on the total number of inotify watches" error popped up; the system ran out of resources trying to watch all those files for modifications.

Since this caused "compass watch" to fail, I'm bumping this to critical.

JohnAlbin’s picture

Title: Compass Error » Use of add_import_path in config.rb causes compass watch to fail
Status: Active » Fixed

I've modified these lines so a themer can pick specific modules to import (instead of trying to automatically import them all) and I've converted them to code comments, so they're not enabled by default.

Here's the change: http://drupalcode.org/project/zen.git/commitdiff/19665ae

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.