Использование Sublime для редактирования файлов Yocto приводит к невозможности запуска сервера битбейков - PullRequest
1 голос
/ 01 февраля 2020

Если я открою папку своего проекта Yocto с помощью Sublime в Ubuntu 16.04 и попытаюсь собрать с помощью:

bitbake <image>

, я получу следующие ошибки:

ERROR: Unable to start bitbake server (None)
ERROR: Server log for this session (/local/STM32MP15-Ecosystem-v1.1.0/Distribution-Package/openstlinux-4.19-thud-mp1-19-10-09/build-openstlinuxeglfs-stm32mp1-sw25v00/bitbake-cookerdaemon.log):
--- Starting bitbake server pid 4602 at 2020-02-01 02:59:00.519051 ---
Traceback (most recent call last):
  File "/local/STM32MP15-Ecosystem-v1.1.0/Distribution-Package/openstlinux-4.19-thud-mp1-19-10-09/layers/openembedded-core/bitbake/lib/bb/daemonize.py", line 83, in createDaemon
    function()
  File "/local/STM32MP15-Ecosystem-v1.1.0/Distribution-Package/openstlinux-4.19-thud-mp1-19-10-09/layers/openembedded-core/bitbake/lib/bb/server/process.py", line 469, in _startServer
    self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset)
  File "/local/STM32MP15-Ecosystem-v1.1.0/Distribution-Package/openstlinux-4.19-thud-mp1-19-10-09/layers/openembedded-core/bitbake/lib/bb/cooker.py", line 210, in __init__
    self.initConfigurationData()
  File "/local/STM32MP15-Ecosystem-v1.1.0/Distribution-Package/openstlinux-4.19-thud-mp1-19-10-09/layers/openembedded-core/bitbake/lib/bb/cooker.py", line 396, in initConfigurationData
    self.add_filewatch(mc.getVar("__base_depends", False), self.configwatcher)
  File "/local/STM32MP15-Ecosystem-v1.1.0/Distribution-Package/openstlinux-4.19-thud-mp1-19-10-09/layers/openembedded-core/bitbake/lib/bb/cooker.py", line 306, in add_filewatch
    watcher.add_watch(f, self.watchmask, quiet=False)
  File "/local/STM32MP15-Ecosystem-v1.1.0/Distribution-Package/openstlinux-4.19-thud-mp1-19-10-09/layers/openembedded-core/bitbake/lib/pyinotify.py", line 1924, in add_watch
    raise WatchManagerError(err, ret_)
pyinotify.WatchManagerError: add_watch: cannot watch /local/STM32MP15-Ecosystem-v1.1.0/Distribution-Package/openstlinux-4.19-thud-mp1-19-10-09/build-openstlinuxeglfs-stm32mp1-sw25v00/conf WD=-1, Errno=No space left on device (ENOSPC)
ERROR: No space left on device or exceeds fs.inotify.max_user_watches?
ERROR: To check max_user_watches: sysctl -n fs.inotify.max_user_watches.
ERROR: To modify max_user_watches: sysctl -n -w fs.inotify.max_user_watches=<value>.
ERROR: Root privilege is required to modify max_user_watches.

Закрытие редактора и повторный ввод команды работает правильно. Другие редакторы (например, gedit) не имеют такого поведения.

Я знаю, что могу жить без Sublime, но я хочу понять, чья причина ошибок.

1 Ответ

2 голосов
/ 02 февраля 2020

У вас заканчиваются inotify часы. Программное обеспечение, такое как Sublime, и программа, которую вы здесь запускаете (среди прочих), используют inotify отслеживает, чтобы обнаружить изменения в файловой системе, такие как возможность отслеживать, когда файлы изменяются или когда изменяется содержимое каталога.

Существует (настраиваемый пользователем) верхний предел количества часов, которые могут быть использованы одновременно, и довольно кричащее сообщение об ошибке c, которое вы видите здесь, является симптомом достигнутого предела и программы не удается получить часы.

Значение по умолчанию для максимальных inotify часов может быть недостаточно высоко установлено в вашей системе для программного обеспечения (и объема файлов), которое вы используете, но вы можете изменить что если хочешь.

Вывод в нижней части вашей диагностики ошибок c Информация показывает, как вы можете просмотреть / отрегулировать верхний предел. Следующий вопрос также показывает, как вы могли бы сделать это.

https://unix.stackexchange.com/questions/13751/kernel-inotify-watch-limit-reached

...