Получение ошибки rb-inotify "Errno :: ENOSYS" с плагином compass и susy - PullRequest
1 голос
/ 10 марта 2011

У меня установлен Compass gem (compass-0.11.beta.2) вместе с плагином Compass susy.Каждый раз, когда я запускаю «Compass Watch», я получаю сообщение об ошибке:
«Errno :: ENOSYS on line [" 60 »] из /path/to/rb-inotify/notifier.rb: initialize inotify"
Thisявляется блоком кода в notifier.rb, на который ссылается ошибка

def initialize
@fd = Native.inotify_init
  @watchers = {}
  return unless @fd < 0

  raise SystemCallError.new(
    "Failed to initialize inotify" +
    case FFI.errno
    when Errno::EMFILE::Errno; ": the user limit on the total number of inotify instances has been reached."
    when Errno::ENFILE::Errno; ": the system limit on the total number of file descriptors has been reached."
    when Errno::ENOMEM::Errno; ": insufficient kernel memory is available."
    else; ""
    end,
This is line ["60"] ===>  FFI.errno)
end

Я попытался переустановить все задействованные гемы, а также 3-4 разные версии каждого, но я все еще получаюодна и та же ошибка каждый раз.Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 11 марта 2011

Вам необходимо обновить систему.

Основной вызов inotify_init(2) возвращает ENOSYS, что означает, что функциональность не реализована в libc вашей системы и, возможно, даже не поддерживается в ядре.

(Некоторые старые версии Fedora Linux, например, похоже, поддерживают функцию inotify в ядре, но не поставляют glibc, предоставляющий эту функцию.)

...