Emacs unable to load its startup files
Asked Answered
I

7

7

I upgraded emacs on a remote terminal to 23-snapshot. As I did not have root privileges there, I did 'make install' with 'prefix' set to a folder in my home directory. Now when I start emacs, it gives an error 'Cannot open load file: encoded-kb', it, also, is unable to run dired or load cc-mode. I tried starting it with '--no-site-file', '-Q', '-q', all have the same issue. My .emacs is empty. Any suggestions?

Thanks for your help.

Regards, Nishith

Update: These are the messages I get when I try to run 'emacs' no arguments.

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.

Its a 64 bit system. Emacs source code was take from the cvs using

cvs -d:pserver:[email protected]:/sources/emacs co emacs

update2: Thanks Charlie and Trey for your answers. I think I will skip the 'make install' and stick to using the src/emacs for the time being. Cheers.

Implication answered 21/5, 2009 at 4:52 Comment(1)
Can you show a bit more messages you get when you start Emacs?Tenishatenn
T
2

AFAIK, make install is needed in case of you want to install a package system-wide. Prefix only defines the prefix path of that system-wide installation, but it still requires the proper directory hierarchy (bin/, /lib, /share, etc). If you simply want to use CVS Emacs, you can run it right after the make procedure. For instance, my Emacs' source code is located at ~/src/emacs/, and I can simply type ~/src/emacs/src/emacs in order to run Emacs.

Tenishatenn answered 21/5, 2009 at 5:4 Comment(0)
C
5

For me, this error disappeared when I instead of changing the prefix variable in the Makefiles, did a:

./configure --prefix=/my_special_path/usr/local
Carlycarlye answered 28/8, 2009 at 20:9 Comment(1)
+1 This is what you should have done if you wanted a non-global install.Playreader
C
2

"encoded-kb.el" is in the standard internationalization code in the EMACS lisp directories, so something is not getting the right path. Your load-path is hosed somewhere. There are hooks in the makefile to let you explicitly set what the load-path should be to fix that.

Try dumping your load-path after you start up, say with (pp load-path) and see what it's really looking at. To evaluate that, type

(pp load-path)^j

in your *scratch* buffer. That buffer should be in lisp-interaction mode. The ^j (Control-j, aka C-j) says to evaluate it. and the pp will pretty-print the list.

Coworker answered 21/5, 2009 at 4:59 Comment(0)
T
2

AFAIK, make install is needed in case of you want to install a package system-wide. Prefix only defines the prefix path of that system-wide installation, but it still requires the proper directory hierarchy (bin/, /lib, /share, etc). If you simply want to use CVS Emacs, you can run it right after the make procedure. For instance, my Emacs' source code is located at ~/src/emacs/, and I can simply type ~/src/emacs/src/emacs in order to run Emacs.

Tenishatenn answered 21/5, 2009 at 5:4 Comment(0)
P
2

In my case my MacOSX was just pointing to an old version of Emacs, I don't know why. So, when I open it on graphical interface everything was OK but when I tried to open it on a terminal I got that error. So, I first find where the shortcut was pointing to and fixed the /usr/bin/emacs path like this:

$ 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.
Pennon answered 5/8, 2014 at 17:40 Comment(0)
R
1

I ran into this same problem doing a build of emacs 23.1 on AIX. In my case, I wanted to install emacs in my directory, as I was the only developer using emacs. The problem can be resolved by modifying the paths in the src/epaths.in file prior to running configure. Configure uses this file to create epaths.h. The --prefix= parameter does not change the paths in the epaths.in file. Using the --prefix= and modifying the epaths.in file fixed my issues.

Recoverable answered 21/1, 2010 at 17:27 Comment(0)
V
1

I ran into this same problem doing a build of emacs 25.0.92 on 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

And I found the problem. There is a system registry key: HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs, which defines the load path EMACSLOADPATH.

I just delete the registry key to resolve the problem.

Vehicular answered 6/4, 2016 at 2:25 Comment(0)
W
0

Also check to see if you have an environment variable by the name of EMACSPATH. Emacs expects it to be a directory.

Warfold answered 11/5, 2018 at 2:13 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.