Emacs не может загрузить файлы запуска - PullRequest
5 голосов
/ 21 мая 2009

Я обновил emacs на удаленном терминале до 23 снимка. Поскольку у меня там не было привилегий root, я сделал 'make install' с 'prefix', установленным в папку в моем домашнем каталоге. Теперь, когда я запускаю emacs, он выдает ошибку «Не удается открыть файл загрузки: encoded-kb», он также не может запустить dired или загрузить режим cc. Я попытался запустить его с «--no-site-file», «-Q», «-q», у всех одна и та же проблема. Мой .emacs пуст. Есть предложения?

Спасибо за вашу помощь.

С уважением, Nishith

Обновление: это сообщения, которые я получаю, когда пытаюсь запустить 'emacs' без аргументов.

Warning: arch-dependent data dir (/usr/local/libexec/emacs/23.0.93/x86_64-unknown-linux-gnu/) does not exist.
Warning: Lisp directory `/usr/local/share/emacs/23.0.93/site-lisp' does not exist.
Warning: Lisp directory `/usr/local/share/emacs/site-lisp' does not exist.
Warning: Lisp directory `/usr/local/share/emacs/23.0.93/lisp' does not exist.
Warning: Lisp directory `/usr/local/share/emacs/23.0.93/leim' does not exist.

Это 64-битная система. Исходный код Emacs был взят из cvs, используя

cvs -d:pserver:anonymous@cvs.sv.gnu.org:/sources/emacs co emacs

Update2: Спасибо Чарли и Трею за ваши ответы. Я думаю, что я пропущу 'make install' и пока что буду использовать src / emacs. Приветствия.

Ответы [ 7 ]

3 голосов
/ 29 августа 2009

Для меня эта ошибка исчезла, когда я вместо того, чтобы изменить переменную prefix в Makefiles, сделал:

./configure --prefix=/my_special_path/usr/local
2 голосов
/ 05 августа 2014

В моем случае мой MacOSX просто указывал на старую версию Emacs, я не знаю почему. Итак, когда я открывал его в графическом интерфейсе, все было в порядке, но когда я пытался открыть его в терминале, я получал эту ошибку. Итак, я сначала нахожу, куда ярлык указывал, и исправляю путь /usr/bin/emacs следующим образом:

$ emacs --version
GNU Emacs 22.1.1
Copyright (C) 2007 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
$ whereis emacs
/usr/bin/emacs
$ sudo rm /usr/bin/emacs 
$ sudo ln -s /usr/local/Cellar/emacs/HEAD/bin/emacs /usr/bin/emacs
$ emacs --version
GNU Emacs 24.4.50.1
Copyright (C) 2014 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
2 голосов
/ 21 мая 2009

"encoded-kb.el" находится в стандартном коде интернационализации в каталогах lisp EMACS, поэтому что-то не получает правильного пути. Ваш грузовой путь где-то проложен. В make-файле есть хуки, позволяющие вам явно указать, каким должен быть путь загрузки, чтобы это исправить.

Попробуйте сбросить путь загрузки после запуска, скажем, с помощью (pp load-path) и посмотрите, на что он действительно смотрит. Чтобы оценить это, наберите

(pp load-path)^j

в вашем *scratch* буфере. Этот буфер должен быть в режиме lisp-взаимодействия. ^j (Control-j, он же C-j) говорит, чтобы оценить это. и pp довольно распечатает список.

1 голос
/ 06 апреля 2016

Я столкнулся с этой же проблемой при сборке emacs 25.0.92 в Windows 7.

D:\emacs\bin>emacs
Warning: arch-dependent data dir 'd:/emacs/libexec/emacs/24.5/x86_64-w64-mingw32/': Invalid argument
Warning: arch-independent data dir 'd:/emacs/share/emacs/24.5/etc/': Invalid argument
Warning: Lisp directory 'd:/emacs/share/emacs/24.5/site-lisp': Invalid argument
Warning: Lisp directory 'D:/emacs/share/emacs/24.5/lisp': Invalid argument

И я нашел проблему. Существует системный раздел реестра: HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs, который определяет путь загрузки EMACSLOADPATH.

Я просто удаляю раздел реестра, чтобы решить проблему.

1 голос
/ 21 января 2010

Я столкнулся с этой же проблемой при сборке emacs 23.1 в AIX. В моем случае я хотел установить emacs в мой каталог, так как я был единственным разработчиком, использующим emacs. Проблема может быть решена путем изменения путей в файле src / epaths.in до запуска configure. Configure использует этот файл для создания epaths.h. Параметр --prefix = не изменяет пути в файле epaths.in. Использование --prefix = и изменение файла epaths.in устранили мои проблемы.

1 голос
/ 21 мая 2009

AFAIK, make install требуется, если вы хотите установить пакет для всей системы. Префикс определяет только префиксный путь для этой общесистемной установки, но он все еще требует правильной иерархии каталогов (bin /, / lib, / share и т. Д.). Если вы просто хотите использовать CVS Emacs, вы можете запустить его сразу после процедуры make. Например, исходный код моего Emacs находится на ~/src/emacs/, и я могу просто набрать ~/src/emacs/src/emacs для запуска Emacs.

0 голосов
/ 11 мая 2018

Также проверьте, есть ли у вас переменная окружения с именем EMACSPATH. Emacs ожидает, что это будет каталог.

...