help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: hork point in ~/.emacs: needing emacs.pdmp & other


From: ken
Subject: Re: hork point in ~/.emacs: needing emacs.pdmp & other
Date: Mon, 31 Aug 2020 07:30:30 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0

On 8/29/20 2:13 PM, Eli Zaretskii wrote:
>> From: ken <gebser@mousecar.com>
>> Date: Sat, 29 Aug 2020 12:02:51 -0400
>>
>> On 8/29/20 8:47 AM, Eli Zaretskii wrote:
>>>> From: ken <gebser@mousecar.com>
>>>> Date: Sat, 29 Aug 2020 08:24:01 -0400
>>>>
>>>> On 8/28/20 9:19 AM, Eli Zaretskii wrote:
>>>>>> From: ken <gebser@mousecar.com>
>>>>>> Date: Fri, 28 Aug 2020 09:02:39 -0400
>>>>>>
>>>>>>>> "rpm -ql emacs|grep emacs.pdmp" returns nothing.
>>>>> What does "rpm -ql emacs" display?
>>>> # rpm -ql emacs
>>>> /etc/skel/.gnu-emacs
>>>> /usr/bin/ebrowse
>>>> /usr/bin/emacs
>>>> /usr/bin/emacsclient
>>>> /usr/lib/emacs
>>>> /usr/lib/emacs/27.1
>>>> /usr/lib/emacs/27.1/x86_64-suse-linux
>>>> /usr/lib/emacs/27.1/x86_64-suse-linux/hexl
>>>> /usr/lib/emacs/27.1/x86_64-suse-linux/rcs2log
>>>> /usr/lib/emacs/27.1/x86_64-suse-linux/update-game-score
>>> So they use /usr/lib/emacs/27.1/x86_64-suse-linux/ instead of
>>> /usr/libexec/emacs/27.1/x86_64-suse-linux/.  I believe this is the old
>>> standard.
>>>
>>> OK, but this RPM is AFAIU simply busted: they didn't include the
>>> emacs.pdmp file, which is now a must, and AFAIU should have been in
>>> /usr/lib/emacs/27.1/x86_64-suse-linux/.
>> There is this:
>>
>> # ll /usr/lib/emacs/27.1/x86_64-suse-linux
>> total 30812
>> -rw-r--r-- 1 root root 10667896 Aug 20 20:20 emacs-gtk.pdmp
>> -rw-r--r-- 1 root root 10158064 Aug 20 20:20 emacs-nox.pdmp
>> -rw-r--r-- 1 root root 10656232 Aug 20 20:20 emacs-x11.pdmp
>> -rwxr-xr-x 1 root root    14576 Aug 20 20:20 hexl
>> -rwxr-xr-x 1 root root    21156 Aug 20 20:20 rcs2log
>> -rwxr-xr-x 1 root root    23016 Aug 20 20:20 update-game-score
> But these *.pdmp files were not in the RPM whose contents you've
> shown.  So where did they come from?
# pwd; rpm -qf *.pdmp
/usr/lib/emacs/27.1/x86_64-suse-linux
emacs-x11-27.1-2.1.x86_64
emacs-nox-27.1-2.1.x86_64
emacs-x11-27.1-2.1.x86_64

And evidently, emacs is broken out into several packages:

# rpm -qa|grep emacs
emacs-x11-27.1-2.1.x86_64
emacs-info-27.1-2.1.noarch
emacs-apel-10.8-2.6.noarch
emacs-nox-27.1-2.1.x86_64
emacs-27.1-2.1.x86_64
emacs-el-27.1-2.1.noarch
emacs-auctex-12.2-1.1.noarch

Here's brief info on those packages:

# for f in $(rpm -qa|grep emacs); do echo RPM info on $f :; rpm -qi $f;
echo =================; done
RPM info on emacs-x11-27.1-2.1.x86_64 :
Name        : emacs-x11
Version     : 27.1
Release     : 2.1
Architecture: x86_64
Install Date: Fri Aug 28 08:47:46 2020
Group       : Productivity/Text/Editors
Size        : 33929391
License     : GPL-3.0-or-later
Signature   : RSA/SHA256, Thu Aug 20 20:22:47 2020, Key ID b88b2fd43dbdc284
Source RPM  : emacs-27.1-2.1.src.rpm
Build Date  : Thu Aug 20 20:00:15 2020
Build Host  : lamb18
Packager    : https://bugs.opensuse.org
Vendor      : openSUSE
URL         : http://www.gnu.org/software/emacs/
Summary     : GNU Emacs: Emacs binary with X Window System Support
Description :
Call it

Emacs

Love it or leave it. This is the Emacs binary with X Window System
Support.
Distribution: openSUSE Tumbleweed
=================
RPM info on emacs-info-27.1-2.1.noarch :
Name        : emacs-info
Version     : 27.1
Release     : 2.1
Architecture: noarch
Install Date: Fri Aug 28 08:31:38 2020
Group       : Productivity/Text/Editors
Size        : 4872696
License     : GPL-3.0-or-later
Signature   : RSA/SHA256, Thu Aug 20 20:22:47 2020, Key ID b88b2fd43dbdc284
Source RPM  : emacs-27.1-2.1.src.rpm
Build Date  : Thu Aug 20 20:00:15 2020
Build Host  : lamb18
Packager    : https://bugs.opensuse.org
Vendor      : openSUSE
URL         : http://www.gnu.org/software/emacs/
Summary     : Info files for GNU Emacs
Description :
This package contains all the Info files for GNU Emacs. These files can
be read online with GNU Emacs. They describe Emacs and some of its
modes.
Distribution: openSUSE Tumbleweed
=================
RPM info on emacs-apel-10.8-2.6.noarch :
Name        : emacs-apel
Version     : 10.8
Release     : 2.6
Architecture: noarch
Install Date: Thu Aug  6 01:59:37 2020
Group       : Productivity/Editors/Emacs
Size        : 472441
License     : GPL-2.0-or-later
Signature   : RSA/SHA256, Sat May 30 22:29:11 2020, Key ID b88b2fd43dbdc284
Source RPM  : emacs-apel-10.8-2.6.src.rpm
Build Date  : Sat May 30 22:29:01 2020
Build Host  : lamb60
Packager    : https://bugs.opensuse.org
Vendor      : openSUSE
URL         : http://git.chise.org/elisp/apel
Summary     : A Portable Emacs Library
Description :
A Portable Emacs Library
Distribution: openSUSE Tumbleweed
=================
RPM info on emacs-nox-27.1-2.1.x86_64 :
Name        : emacs-nox
Version     : 27.1
Release     : 2.1
Architecture: x86_64
Install Date: Fri Aug 28 08:47:52 2020
Group       : Productivity/Text/Editors
Size        : 15671224
License     : GPL-3.0-or-later
Signature   : RSA/SHA256, Thu Aug 20 20:22:47 2020, Key ID b88b2fd43dbdc284
Source RPM  : emacs-27.1-2.1.src.rpm
Build Date  : Thu Aug 20 20:00:15 2020
Build Host  : lamb18
Packager    : https://bugs.opensuse.org
Vendor      : openSUSE
URL         : http://www.gnu.org/software/emacs/
Summary     : GNU Emacs-nox: An Emacs Binary without X Window System Support
Description :
Eight Megabytes And Constantly Swapping. Call it

emacs-nox

Love it or leave it.
Distribution: openSUSE Tumbleweed
=================
RPM info on emacs-27.1-2.1.x86_64 :
Name        : emacs
Version     : 27.1
Release     : 2.1
Architecture: x86_64
Install Date: Fri Aug 28 08:47:04 2020
Group       : Productivity/Text/Editors
Size        : 74741020
License     : GPL-3.0-or-later
Signature   : RSA/SHA256, Thu Aug 20 20:22:46 2020, Key ID b88b2fd43dbdc284
Source RPM  : emacs-27.1-2.1.src.rpm
Build Date  : Thu Aug 20 20:00:15 2020
Build Host  : lamb18
Packager    : https://bugs.opensuse.org
Vendor      : openSUSE
URL         : http://www.gnu.org/software/emacs/
Summary     : GNU Emacs Base Package
Description :
Basic package for the GNU Emacs editor. Requires emacs-x11 or
emacs-nox.
Distribution: openSUSE Tumbleweed
=================
RPM info on emacs-el-27.1-2.1.noarch :
Name        : emacs-el
Version     : 27.1
Release     : 2.1
Architecture: noarch
Install Date: Fri Aug 28 08:48:42 2020
Group       : Productivity/Text/Editors
Size        : 16032458
License     : GPL-3.0-or-later
Signature   : RSA/SHA256, Thu Aug 20 20:22:46 2020, Key ID b88b2fd43dbdc284
Source RPM  : emacs-27.1-2.1.src.rpm
Build Date  : Thu Aug 20 20:00:15 2020
Build Host  : lamb18
Packager    : https://bugs.opensuse.org
Vendor      : openSUSE
URL         : http://www.gnu.org/software/emacs/
Summary     : Several Lisp Files for GNU Emacs
Description :
Several Lisp files not needed for running GNU Emacs. Most of these
files are pre-byte compiled and therefore not necessary.
Distribution: openSUSE Tumbleweed
=================
RPM info on emacs-auctex-12.2-1.1.noarch :
Name        : emacs-auctex
Version     : 12.2
Release     : 1.1
Architecture: noarch
Install Date: Tue Aug 18 16:30:15 2020
Group       : Productivity/Editors/Emacs
Size        : 33096040
License     : GPL-2.0-or-later
Signature   : RSA/SHA256, Sat Aug 15 16:05:36 2020, Key ID b88b2fd43dbdc284
Source RPM  : emacs-auctex-12.2-1.1.src.rpm
Build Date  : Sat Aug 15 16:01:15 2020
Build Host  : lamb51
Packager    : https://bugs.opensuse.org
Vendor      : openSUSE
URL         : http://www.gnu.org/software/auctex
Summary     : AUC TeX: An Emacs Extension
Description :
These macros make it easier for you to write TeX documents with GNU
Emacs.    Documentation can be found under:

/usr/share/doc/packages/emacs-auctex/

and in the dvi files math-ref.dvi and tex-ref.dvi (reference cards) and
in the info file auctex in emacs info-mode.

AuC TeX is integrated in XEmacs 19.15 and higher, so these packages may
not be installed concurrently.    Note that the binary formats of the
byte-compiled lisp files of the two emacs editors are incompatible, so
you cannot use this package for XEmacs.
Distribution: openSUSE Tumbleweed
=================




>
> And your Emacs executable is named just 'emacs', so it is not clear
> which of the *.pdmp files belongs to it.  maybe try renaming them one
> by one to emacs.pdmp and see if one of them stops those "Loading
> FOO..." messages from appearing.

It looks like one purpose of the pdmp fle is to interface with the
system's window manager.  The window manager on this system is gnome, so
it would seem that either emacs-gtk.pdmp or emacs-x11.pdmp, but I
haven't been able to determine which.  And yeah, I thought to create a
symlink from one of those to emacs.pdmp, but then read this from
/usr/share/doc/packages/emacs/doc/NEWS:

** Emacs now uses a "portable dumper" instead of unexec.
This improves compatibility with memory allocation on modern systems,
and in particular better supports the Address Space Layout
Randomization (ASLR) feature, a security technique used by most modern
operating systems.

When built with the portable dumping support (which is the default),
Emacs looks for the "emacs.pdmp" file, generated during the build, in
its data directory at startup, and loads the dumped state from there.
The new command-line argument '--dump-file=FILE' allows specifying a
non-default ".pdmp" file to load the state from; see the node
"(emacs) Initial Options" in the Emacs manual for more information.

An Emacs started via a dump file can create a new dump file only if it
was invoked with the '-batch' option.  (This is a temporary
limitation; we plan on lifting it in a future release.)

Although the portable dumper has been tested, it may have a bug on
unusual platforms.  If you require traditional unexec dumping you can
use the configure-time option '--with-dumping=unexec'; however, please
file a bug report describing the situation, as unexec dumping is
deprecated, and we plan on removing it in some future release.

So trying

emacs --dump-file=/usr/lib/emacs/27.1/x86_64-suse-linux/emacs-gtk.pdmp
--debug-init &

I get just

Warning: game dir ’/var/games/emacs’: Permission denied

Loading desktop...done
Loading saveplace...done
...

Then it shows loading my own files into emacs buffers, but then some errors

Error during redisplay: (jit-lock-function 1) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 501) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 1001) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 3006) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 2321) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 2821) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 2320) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 2314) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 3506) signaled (void-variable
bufname)

Then messages about what tramp's doing, then more errors

Error during redisplay: (jit-lock-function 1) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 501) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 1001) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 1501) signaled (void-variable
bufname)

Then more messages about tramp, then more errors

No docstring slot for jka-compr-handler
For information about GNU Emacs and the GNU system, type C-h C-a.
Error during redisplay: (jit-lock-function 1281) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 1781) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 2149) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 4006) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 3122) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 3622) signaled (void-variable
bufname)
Error during redisplay: (jit-lock-function 80854) signaled
(void-variable bufname)

But emacs seems to be working, and from what I can see in just five
minutes, my ~/.emacs is also working now..











reply via email to

[Prev in Thread] Current Thread [Next in Thread]