Bugzilla – Bug 1214008
emacs: after upgrade to 29.1 can't start
Last modified: 2024-07-02 08:30:05 UTC
After the rolling upgrade. The emacs is upgraded to 29.1 and it can't be started. And when I run it in the terminal The result is Loading loadup.el (source)... Dump mode: nil Using load-path (/usr/share/emacs/29.1/site-lisp /usr/share/emacs/site-lisp /usr/share/emacs/29.1/lisp /usr/share/emacs/29.1/lisp/emacs-lisp /usr/share/emacs/29.1/lisp/progmodes /usr/share/emacs/29.1/lisp/language /usr/share/emacs/29.1/lisp/international /usr/share/emacs/29.1/lisp/textmodes /usr/share/emacs/29.1/lisp/vc) Loading emacs-lisp/debug-early... Symbol's function definition is void: file-name-sans-extension and it refuse to start.
Same here. That build of emacs is broken.
After checking /usr/bin/emacs I find that the shell using exec -a $arg0 ${1+$@} "${argv[@]" to start the emacs. And arg0 is /usr/bin/emacs and ${1+$@} will be /usr/bin/emacs-gtk. I'm not sure the 28 is the same contents. At the same time, we can't find emacs.pdmp under /usr/libexec/emacs/29.1/x86_64-suse-linux/, so it can't start correctly.
In any case, starting the binary directly (emacs-gtk, emacs-x11, emacs-nox) works, so the /usr/bin/emacs shell script must be the cause of the problem.
Same here after update to 29.1-1.1 and running "emacs -Q". Adding Werner.
``` Loading loadup.el (source)... Dump mode: nil Using load-path (/usr/share/emacs/29.1/site-lisp /usr/share/emacs/site-lisp /usr/share/emacs/29.1/lisp /usr/share/emacs/29.1/lisp/emacs-lisp /usr/share/emacs/29.1/lisp/progmodes /usr/share/emacs/29.1/lisp/language /usr/share/emacs/29.1/lisp/international /usr/share/emacs/29.1/lisp/textmodes /usr/share/emacs/29.1/lisp/vc) Loading emacs-lisp/debug-early... Symbol's function definition is void: file-name-sans-extension ``` I received the same thing as well. Running emacs-x11, emacs-gtk, and emacs-nox works. It's probably the emacs shells script doing wrong.
emacs Loading loadup.el (source)... Dump mode: nil Using load-path (/usr/share/emacs/29.1/site-lisp /usr/share/emacs/site-lisp /usr/share/emacs/29.1/lisp /usr/share/emacs/29.1/lisp/emacs-lisp /usr/share/emacs/29.1/lisp/progmodes /usr/share/emacs/29.1/lisp/language /usr/share/emacs/29.1/lisp/international /usr/share/emacs/29.1/lisp/textmodes /usr/share/emacs/29.1/lisp/vc) Loading emacs-lisp/debug-early... Symbol's function definition is void: file-name-sans-extension ---------------------------------- Follow Soc Virnyl Estela suggestion can run emacs-x11, emacs-gtk, emacs-nox to start emacs. Thanks
(In reply to Linh Tran from comment #6) > emacs > Loading loadup.el (source)... > Dump mode: nil > Using load-path (/usr/share/emacs/29.1/site-lisp /usr/share/emacs/site-lisp > /usr/share/emacs/29.1/lisp /usr/share/emacs/29.1/lisp/emacs-lisp > /usr/share/emacs/29.1/lisp/progmodes /usr/share/emacs/29.1/lisp/language > /usr/share/emacs/29.1/lisp/international > /usr/share/emacs/29.1/lisp/textmodes /usr/share/emacs/29.1/lisp/vc) > Loading emacs-lisp/debug-early... > Symbol's function definition is void: file-name-sans-extension > ---------------------------------- > Follow Soc Virnyl Estela suggestion can run emacs-x11, emacs-gtk, emacs-nox > to start emacs. Thanks Yes but I use emacs daemon more so I hope this will be fixed. For now, I am using distrobox on archlinux for emacs-wayland
SR#1102651
This is an autogenerated message for OBS integration: This bug (1214008) was mentioned in https://build.opensuse.org/request/show/1102651 Factory / emacs
(In reply to OBSbugzilla Bot from comment #9) > This is an autogenerated message for OBS integration: > This bug (1214008) was mentioned in > https://build.opensuse.org/request/show/1102651 Factory / emacs I installed emacs from repository editors / emacs and still get this error: > emacs Loading loadup.el (source)... Dump mode: nil Using load-path (/usr/share/emacs/29.1/site-lisp /usr/share/emacs/site-lisp /usr/share/emacs/29.1/lisp /usr/share/emacs/29.1/lisp/emacs-lisp /usr/share/emacs/29.1/lisp/progmodes /usr/share/emacs/29.1/lisp/language /usr/share/emacs/29.1/lisp/international /usr/share/emacs/29.1/lisp/textmodes /usr/share/emacs/29.1/lisp/vc) Loading emacs-lisp/debug-early... Symbol's function definition is void: file-name-sans-extension
Does those packages really fail if installed all six https://download.opensuse.org/repositories/editors/openSUSE_Tumbleweed/x86_64/emacs-29.1-421.3.x86_64.rpm https://download.opensuse.org/repositories/editors/openSUSE_Tumbleweed/x86_64/emacs-eln-29.1-421.3.x86_64.rpm https://download.opensuse.org/repositories/editors/openSUSE_Tumbleweed/x86_64/emacs-x11-29.1-421.3.x86_64.rpm https://download.opensuse.org/repositories/editors/openSUSE_Tumbleweed/x86_64/emacs-nox-29.1-421.3.x86_64.rpm https://download.opensuse.org/repositories/editors/openSUSE_Tumbleweed/noarch/emacs-el-29.1-421.3.noarch.rpm https://download.opensuse.org/repositories/editors/openSUSE_Tumbleweed/noarch/emacs-info-29.1-421.3.noarch.rpm Here it works as now e.g. emacs-gtk finds its emacs-gtk.pdmp even if called as emacs from the /usr/bin/emacs wrapper script.
(In reply to Dr. Werner Fink from comment #11) > Does those packages really fail if installed all six > > https://download.opensuse.org/repositories/editors/openSUSE_Tumbleweed/ > x86_64/emacs-29.1-421.3.x86_64.rpm > https://download.opensuse.org/repositories/editors/openSUSE_Tumbleweed/ > x86_64/emacs-eln-29.1-421.3.x86_64.rpm > https://download.opensuse.org/repositories/editors/openSUSE_Tumbleweed/ > x86_64/emacs-x11-29.1-421.3.x86_64.rpm > https://download.opensuse.org/repositories/editors/openSUSE_Tumbleweed/ > x86_64/emacs-nox-29.1-421.3.x86_64.rpm > https://download.opensuse.org/repositories/editors/openSUSE_Tumbleweed/ > noarch/emacs-el-29.1-421.3.noarch.rpm > https://download.opensuse.org/repositories/editors/openSUSE_Tumbleweed/ > noarch/emacs-info-29.1-421.3.noarch.rpm > > Here it works as now e.g. emacs-gtk finds its emacs-gtk.pdmp even if called > as emacs from the /usr/bin/emacs wrapper script. From this list, only the links for emacs-el-29.1-421.3.noarch.rpm and emacs-info-29.1-421.3.noarch.rpm are valid. The version numbers for the other packages differ slightly. I did my own build with osc checkout editors emacs cd editors/emacs osc build openSUSE_Tumbleweed --clean emacs.spec But yes, there was a RPM installation error, sorry. Now I installed correctly. The error is fixed. With the new Emacs packages there is a warning in the Emacs *Warnings* screen. This can be unrelated to this bug. ⛔ Warning (comp): ispell.el.gz:1457:24: Warning: Unused lexical variable `load-dict' ⛔ Warning (comp): ispell.el.gz:1479:26: Warning: Unused lexical variable `load-dict'
(In reply to Björn Voigt from comment #12) > > From this list, only the links for emacs-el-29.1-421.3.noarch.rpm and > emacs-info-29.1-421.3.noarch.rpm are valid. The version numbers for the > other packages differ slightly. Every rebuild will change the release numbers indeed > > I did my own build with > > osc checkout editors emacs > cd editors/emacs > osc build openSUSE_Tumbleweed --clean emacs.spec > > But yes, there was a RPM installation error, sorry. Now I installed > correctly. > > The error is fixed. With the new Emacs packages there is a warning in the > Emacs *Warnings* screen. This can be unrelated to this bug. > > ⛔ Warning (comp): ispell.el.gz:1457:24: Warning: Unused lexical variable > `load-dict' > ⛔ Warning (comp): ispell.el.gz:1479:26: Warning: Unused lexical variable > `load-dict' That are warning for the eln support aka native compilation of el(.gz) files ... some of them you find below /usr/lib/emacs/29.1/native-lisp/ ... as those eln files are created on the fly as well as cached if not exist ... e.g. below ~/.emacs.d/eln-cache/ those warning will not happen twice with the same GNU Emacs version. Btw: GNU Emacs 29.1 has a function (native-compile-prune-cache) which removes old cache data but not of the current version