Doom-emacs: Сделать компиляцию выдает ошибку.

Созданный на 4 янв. 2018  ·  23Комментарии  ·  Источник: hlissner/doom-emacs

Наблюдаемое поведение

Make install выдает ошибку Recursive 'require' for feature 'org' .

M-x org-version дает 9.1.6-elpa

Системная информация

Я также добавил пакет-архив ("org" . "https://orgmode.org/elpa/") .


Нажмите, чтобы развернуть

DOOM Doctor
Running Emacs v25.3.2, commit d465c6199249fb6e6e8b49474a04f94e7d5e3cdd

shell: /bin/zsh
Compiled with:
  XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
  NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
  TOOLKIT_SCROLL_BARS GTK3 X11 MODULES
uname -a:
  Linux zeronone-ubuntu 4.10.0-42-generic #46~16.04.1-Ubuntu SMP Mon Dec
  4 15:57:59 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Attempt to load DOOM: success! Loaded v2.0.9
Revision d465c6199249fb6e6e8b49474a04f94e7d5e3cdd

----

test-emacs
test-windows
test-fonts
Found font material-design-icons.ttf
Found font weathericons.ttf
Found font octicons.ttf
Found font fontawesome.ttf
Found font file-icons.ttf
Found font all-the-icons.ttf
test-gnutls
test-tls
Validated https://elpa.gnu.org
Validated https://melpa.org
Successfully rejected https://self-signed.badssl.com
Successfully rejected https://wrong.host.badssl.com/
test-tar
Everything seems fine, happy Emacs’ing!

bug obsolete bidoom resolved

Самый полезный комментарий

Эти проблемы исправлены в develop . Релиз 2.1 состоится в эти выходные, так что скоро они появятся в master .

Все 23 Комментарий

Имея такую ​​же проблему и на Arch.

Не могли бы вы прокомментировать эту строку: https://github.com/hlissner/doom-emacs/blob/master/modules/lang/org/config.el#L45 ?

@hlissner Я закомментировал это, но не

Комментирование строки, похоже, не помогло. Я попытался выполнить новую установку doom, и во время установки происходит следующее, возможно, связанное с

Installing ox-reveal
  FATAL ERROR: (error) Package ‘org-20150330’ is unavailable
Installing org-tree-slide
✓ DONE
Installing centered-window-mode
✓ DONE
Installing ox-pandoc
  FATAL ERROR: (error) Package ‘org-8.2’ is unavailable
Installing ob-translate
  FATAL ERROR: (error) Package ‘org-8’ is unavailable

@exrok Я добавил ("org" . "http://orgmode.org/elpa/") в архивы пакетов, чтобы исправить это. AFAIK org-9.x требуется для doom-emacs. Но emacs v25.x использует org-8

@zeronone Спасибо, что

Странный. Ни одно из этих исправлений не требуется. Я думаю, что основная проблема заключается в том, что Doom пытается установить все эти пакеты, _зависимые_ от org, _ перед установкой org-plus-contrib _, который включает org 9.1.4. Я займусь этим.

Привет. Я не знал, что orgmode.com получил поддержку https. Если вместо этого вы добавите ("org" . "https://orgmode.org/elpa/") , решит ли это ваши проблемы? Это была практически единственная причина, по которой Doom не использовал его.

Я добавил его в develop . Я буду держать его открытым, пока он не окажется в master .

@hlissner @exrok Проблема все еще не https://github.com/hlissner/doom-emacs/commit/2598d48bba46435249402693edacfe65f22bdb2f и https://github.com/hlissner/doom-emacs/commit/a29fc437e3c

Я вижу, что установлены как org (зависимость ox-reveal и других?), Так и org-plus-contrib .

Я попытался установить org-plus-contrib :files ("contrib/lisp/*.el") а также изменить порядок org в init.el (первый элемент после :lang ); но такая же ошибка появилась и в других местах.

Наконец, я просто добавил org-plus-contrib к doom-core-packages и это устранило проблему.

diff --git a/core/core-packages.el b/core/core-packages.el
index d486c5f..6ae55ea 100644
--- a/core/core-packages.el
+++ b/core/core-packages.el
@@ -63,7 +63,7 @@ package's name as a symbol, and whose CDR is the plist supplied to its
 `package!' declaration. Set by `doom-initialize-packages'.")

 (defvar doom-core-packages
-  '(persistent-soft use-package quelpa async)
+  '(persistent-soft use-package quelpa async org-plus-contrib)
   "A list of packages that must be installed (and will be auto-installed if
 missing) and shouldn't be deleted.")

diff --git a/modules/lang/org/packages.el b/modules/lang/org/packages.el
index d6a7eca..2d523c1 100644
--- a/modules/lang/org/packages.el
+++ b/modules/lang/org/packages.el
@@ -2,7 +2,7 @@
 ;;; lang/org/packages.el

 ;; Installs a cutting-edge version of org-mode
-(package! org-plus-contrib)
+;; (package! org-plus-contrib)

 (package! org-bullets :recipe (:fetcher github :repo "hlissner/org-bullets"))
 (package! toc-org)

Ой, извините, это не решило проблему. Я ошибался. Мне также пришлось дополнительно переместить деталь when-let .

diff --git a/core/core-packages.el b/core/core-packages.el
index d486c5f..6ae55ea 100644
--- a/core/core-packages.el
+++ b/core/core-packages.el
@@ -63,7 +63,7 @@ package's name as a symbol, and whose CDR is the plist supplied to its
 `package!' declaration. Set by `doom-initialize-packages'.")

 (defvar doom-core-packages
-  '(persistent-soft use-package quelpa async)
+  '(persistent-soft use-package quelpa async org-plus-contrib)
   "A list of packages that must be installed (and will be auto-installed if
 missing) and shouldn't be deleted.")

diff --git a/core/core.el b/core/core.el
index fbcc234..a77f98c 100644
--- a/core/core.el
+++ b/core/core.el
@@ -162,6 +162,15 @@ ability to invoke the debugger in debug mode."
         doom--package-load-path (eval-when-compile doom--package-load-path))

   (load! core-lib)
+
+  ;; Ensure ELPA org is prioritized above built-in org.
+  ;; when-let is defined in core-lib
+  (when-let ((path (locate-library "org" nil doom--base-load-path)))
+            (setq load-path
+                  (delete (substring (file-name-directory path) 0 -1)
+                          load-path)))
+
+
   (load! core-os) ; consistent behavior across OSes
   (condition-case-unless-debug ex
       (require 'autoloads doom-autoload-file t)
diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el
index 422e0ea..7876b9e 100644
--- a/modules/lang/org/config.el
+++ b/modules/lang/org/config.el
@@ -3,12 +3,6 @@
 (defvar +org-dir (expand-file-name "~/work/org/")
   "The directory where org files are kept.")

-;; Ensure ELPA org is prioritized above built-in org.
-(when-let* ((path (locate-library "org" nil doom--base-load-path)))
-  (setq load-path
-        (delete (substring (file-name-directory path) 0 -1)
-                load-path)))
-
 ;; Sub-modules
 (if (featurep! +attach)  (load! +attach))
 (if (featurep! +babel)   (load! +babel))

@zeronone Теперь ваш патч полностью make compile теперь работает нормально. Однако я думаю, что патч нарушает модульность, поскольку функции doom org должны быть переключаемыми, хотя я думаю, что org-mode является довольно важным элементом Doom.

До патча, если я запускал make compile-lang/org он работал без ошибок. Кроме того, перед патчем при запуске make compile первой странной ошибкой была Cannot load toc-org: (void-function org-link-set-parameters) которая произошла до того, как рекурсивный запрос требует ошибок, предположительно, поскольку в этот момент использовалась неправильная версия org-mode. Я думаю, ваш патч заставляет правильную версию загружаться на ранней стадии, чтобы избежать этой проблемы.

@zeronone Не могли бы вы попробовать что-нибудь еще для меня?

Если вы переместите этот блок when-let* обратно в lang/org/config.el и заключите его в (eval-and-compile (when-let* ...)) , решит ли это ваши проблемы?

Просто нажал. Теперь это https://github.com/hlissner/doom-emacs/commit/55ad843a09f9064f38af067da217da2f740cdadd с этим блоком, заключенным в блок eval-and-compile . Это _должно_ решить эти проблемы.

@hlissner Это не решило проблему для меня. Для справки я получаю следующую ошибку. Я пытался сделать DEBUG=1 make compile но почему-то никогда не получается при компиляции eshell


Скомпилировать журнал

⚠ Игнорируемые модули / lang / clojure / packages.el
Невозможно загрузить clojure-mode: (void-function org-link-set-parameters)
Невозможно загрузить clj-refactor: (ошибка «Рекурсивно 'require' для функции 'org'»)
Невозможно загрузить сидр: (ошибка «Рекурсивный запрос» для функции «организация» »)
✓ Скомпилированные модули / lang / clojure / config.el

Были ошибки взлома.

Рекурсивный 'require' для функции 'org'

Отмена изменений ...

Ах, глупый я. Я забыл, что могут быть другие пакеты, которые пытаются загрузить org до загрузки lang / org (например, сидр).

Хорошо, новая стратегия. Я сделал так, чтобы load-path изменено _much_ ранее в процессе загрузки. Сообщите мне, если это решит проблему.

@hlissner ~ Я выполнил новую установку из ветки develop , но проблема все еще сохраняется. У меня все еще появляется ошибка в clojure как и раньше. ~ Моя ошибка, теперь он работает.

Уф! Я немного волновался. Как бы то ни было, некоторое время назад я нажимал https://github.com/hlissner/doom-emacs/commit/c0680e6fa30ad80fb91be520f20e98d56076e5a3 , что должно еще больше повысить надежность Doom с org. Я считаю, что это исправлено, и оставлю это открытым, пока он не достигнет master .

Make дает:
Ищем пакеты для установки ...
Будет установлено 5 пакетов:

+ об-монго (ELPA)
+ ob-redis (ELPA)
+ ob-translate (ELPA)
+ ox-pandoc (ELPA)
+ бычий откос (ELPA)

Продолжить? (y или n) y
Обновление архивов пакетов
Импорт package-keyring.gpg ...
Импорт package-keyring.gpg ... готово
Связь с хостом: elpa.gnu. org: 443
Связь с хостом: elpa.gnu. org: 443
Связь с хозяином: melpa. org: 443
Обновление пакета выполнено
Установка воловьего откоса
ФАТАЛЬНАЯ ОШИБКА: (ошибка) Пакет 'org-20150330' недоступен
Установка ox-pandoc
ФАТАЛЬНАЯ ОШИБКА: (ошибка) Пакет org-8.2 недоступен.
Установка ob-translate
ФАТАЛЬНАЯ ОШИБКА: (ошибка) Пакет 'org-8' недоступен
Установка ob-redis
ФАТАЛЬНАЯ ОШИБКА: (ошибка) Пакет 'org-8' недоступен
Установка ob-mongo
ФАТАЛЬНАЯ ОШИБКА: (ошибка) Пакет 'org-8' недоступен
Законченный!

У всех этих неудачных пакетов больше нет пакетов среди их зависимостей (MELPA).
Должен ли я создать новый выпуск по этому поводу?

У меня такая же ошибка:

Импорт package-keyring.gpg ...
Импорт package-keyring.gpg ... готово
Связь с хостом: elpa.gnu. org: 443
Связь с хостом: elpa.gnu. org: 443
Связь с хозяином: melpa. org: 443
Обновление пакета выполнено
Установка воловьего откоса
ФАТАЛЬНАЯ ОШИБКА: (ошибка) Пакет 'org-20150330' недоступен
Установка режима центрированного окна
ФАТАЛЬНАЯ ОШИБКА: (ошибка) Пакет 'centered-window-mode-' недоступен
Установка ox-pandoc
ФАТАЛЬНАЯ ОШИБКА: (ошибка) Пакет org-8.2 недоступен.
Установка ob-translate
ФАТАЛЬНАЯ ОШИБКА: (ошибка) Пакет 'org-8' недоступен
Установка ob-redis
ФАТАЛЬНАЯ ОШИБКА: (ошибка) Пакет 'org-8' недоступен
Установка ob-mongo
ФАТАЛЬНАЯ ОШИБКА: (ошибка) Пакет 'org-8' недоступен
Установка help-fns +
ФАТАЛЬНАЯ ОШИБКА: (ошибка) Пакет 'help-fns + -' недоступен
Законченный!
Перезагрузка активного сеанса Emacs ...

Эти проблемы исправлены в develop . Релиз 2.1 состоится в эти выходные, так что скоро они появятся в master .

Каков статус этой проблемы и версии 2.1?

Ну, уж точно не вышло в те выходные! Ха-ха.

Это будет в эти выходные. 2.1 уже есть на develop два дня назад, за исключением новой документации. Это все, что осталось сделать. Более предприимчивые пользователи Doom сейчас проходят через его раунды.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги