el-get ждет завершения "*bzr branch cedet"

У меня уже есть cedet, установленный на emacs24. Однако всякий раз, когда я запускаю emacs, я получаю сообщение об ошибке, что el-get безуспешно устанавливает cedet. Это занимает довольно много времени и терпит неудачу где-то в процессе.

Почему el-get загружает cedet, который уже поставляется по умолчанию, почему он выдает ошибку, и как я могу отключить это?

При запуске:

el-get waiting for "*bzr branch cedet" to complete 
el-get is waiting for "make" to complete
error: el-get: make el-get could not build cedet [make EMACS=/usr/bin/emacs24]

1 ответ

Решение

Всякий раз, когда вы делаете el-get-installСначала el-get пытается установить зависимости, объявленные пакетом. Перед установкой пакета el-get добавляет пакет в файл состояния (по умолчанию он находится в ~/.emacs.d/el-get/.status.el) и помечает его как обязательный пакет, и после его установки статус изменяется на installed, При запуске emacs он проверяет этот файл, чтобы получить список пакетов, которые он должен установить, и если какой-либо пакет имеет статус "требуемый", он устанавливается первым.

В вашем конкретном случае рецепт для пакета ecb объявляет cedet как зависимость. Так el-get пытался установить cedet первый и не удалось, так какcedet рецепт, который поставляется с el-get пытается установить cedet из источника. Этот шаг не удался, так как у вас не было texinfo установлено что нужно было сделать cedet, В следствии el-get пометил cedet как необходимый пакет, и при каждом запуске он пытался установить его (и не смог).

Вы можете сделатьMxel-get-removeRETname-of-offending-packageRET, чтобы el-get прекратил попытки установить этот пакет. Чтобы выяснить, почему не удается установить конкретный пакет, вы всегда можете проверить вывод процесса сборки пакета, переключившись в буфер. el-get: build (Я не помню название правильно, но это что-то похожее).

Для вашего конкретного случая вы могли бы избежать установки cedet в целом, указав el-get установить ecb из мельпы по следующему рецепту. Сделайте Chv el-get-sourcesRET, чтобы прочитать о синтаксисе рецептов

(:name ecb
       :description "Emacs Code Browser"
       :type elpa
       :repo ("melpa" . "http://melpa.milkbox.net/packages/"))

Добавьте рецепт выше в файл с именем ecb.rcp в вашем личном каталоге рецептов. Я храню их в ~/.emacs.d/recipes, местоположение не имеет значения, просто убедитесь, что оно находится первым в списке el-get-recipe-path так что ваши рецепты имеют приоритет над встроенными. Что-то вроде

(add-to-list 'el-get-recipe-path "/path/to/personal/recipes")

должно быть достаточно, чтобы ваши личные рецепты el-get,

Другие вопросы по тегам