native-comp 编译库文件 el.gz 错误

今天重新编译了一下Emacs,结果每次启动后 Async-native-compile-log buffer 里面就会出现下面类似的信息

Compiling /usr/local/emacs/share/emacs/28.0.50/lisp/emacs-lisp/cl-seq.el.gz...
uncompressing cl-seq.el.gz...
uncompressing cl-seq.el.gz...done
/usr/local/emacs/share/emacs/28.0.50/lisp/emacs-lisp/cl-seq.el.gz: Error: File error Opening output file
Compiling /usr/local/emacs/share/emacs/28.0.50/lisp/emacs-lisp/cl-macs.el.gz...
uncompressing cl-macs.el.gz...
uncompressing cl-macs.el.gz...done
/usr/local/emacs/share/emacs/28.0.50/lisp/emacs-lisp/cl-macs.el.gz: Error: File error Opening output file
Compiling /usr/local/emacs/share/emacs/28.0.50/lisp/help-mode.el.gz...
uncompressing help-mode.el.gz...
uncompressing help-mode.el.gz...done
/usr/local/emacs/share/emacs/28.0.50/lisp/help-mode.el.gz: Error: File error Opening output file
Compiling /usr/local/emacs/share/emacs/28.0.50/lisp/emacs-lisp/cl-extra.el.gz...
uncompressing cl-extra.el.gz...
uncompressing cl-extra.el.gz...done
/usr/local/emacs/share/emacs/28.0.50/lisp/emacs-lisp/cl-extra.el.gz: Error: File error Opening output file
Compiling /usr/local/emacs/share/emacs/28.0.50/lisp/emacs-lisp/gv.el.gz...
uncompressing gv.el.gz...
uncompressing gv.el.gz...done
/usr/local/emacs/share/emacs/28.0.50/lisp/emacs-lisp/gv.el.gz: Error: File error Opening output file
Compiling /usr/local/emacs/share/emacs/28.0.50/lisp/emacs-lisp/seq.el.gz...
uncompressing seq.el.gz...
uncompressing seq.el.gz...done

我看了下报错的文件,目录下对应的文件只有 .elc.el.gz 的格式。

不知道是这是需要新的设置,还是新引入的BUG。

我今晚重新编译了Emacs,也遇到了这个问题。

感觉是个bug,但是去bug list里也没搜到有人报告。

而且我这里的现象是:只有Emacs自带的那些文件编译会报错,自己通过package装的文件就可以正常编译。

然后我做了两件事:1. 删除eln-cache目录, 2. 重新编译安装Emacs(我用archlinux的aur安装的),编译Emacs的时候关闭了LTO。现在又可以正常编译所有的elc文件了。 也不清楚是哪个改动使得它正常了。

master 分支已经解决了这个问题。

https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=a4fb5811fab64b7437fa47239d5aae39ba3ed82a

但是我还是没找到 bug#49118 的报告页面。

在这儿 bug#49118: 28.0.50; Error: File error Opening output file