1

Я использую предварительные версии emacs уже довольно давно. Я проверяю код с помощью git из git://git.savannah.gnu.org/emacs.git и следую инструкциям в INSTALL.txt. Последний раз, когда он работал нормально, был с 24.0.50.1 согласно моему экрану "about" в emacs. С тех пор я периодически пытался обновить мою версию emacs 24, но компиляция всегда завершается неудачей (возможно, в части самопроверки или начальной загрузки) со следующей ошибкой:

Loading button (compiled; note, source file is newer)...
Loading startup (compiled; note, source file is newer)...
Loading /usr/local/src/emacs/lisp/loaddefs.el (source)...
Symbol's function definition is void: replace-buffer-in-windows
make[1]: *** [bootstrap-emacs] Error 1
make[1]: Leaving directory `/usr/local/src/emacs/src'
make: *** [src] Error 2

Так было уже несколько месяцев. Я регулярно гуглил, чтобы увидеть, есть ли какие-нибудь решения / обходные пути, но я ничего не нахожу. Я единственный, кто получил удар с этим, и если да, какие-либо предложения для обходных путей? Не то чтобы мне абсолютно необходимо иметь последний предварительный выпуск emacs 24, но я все же хотел бы выяснить, почему я больше не могу его скомпилировать, и почему кажется, что никто больше не сталкивается с ошибкой (или нет упоминая его где угодно, где гугл может его забрать).

Обновление: это произошло в настольной системе Ubuntu 11.10, а теперь и в бета-версиях 12.04 для всех версий x64.

2 ответа2

1

Клонирование последней версии в новый каталог, а не выполнение извлечения на месте (за которым следуют make distclean , ./autogen.sh , ./configure , make), похоже, решает эту проблему. Таким образом, в более ранних версиях процесса компиляции для более ранних версий должно быть что-то запутанное в моем случае.

Поэтому, если у вас есть похожие проблемы, перед тем как сдаться, обязательно попробуйте "чистую" проверку в новом каталоге.

1

Это случилось со мной. Казалось, что есть некоторые старые артефакты компиляции elisp, которые не удаляются make clean . Я исправил это с

find . -name '*.elc' -print0 | xargs -0 rm -f

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .