openEuler 24.03 LTS 安装了 emacs,使用中大量出现此类错误:
error in process filter: Wrong type argument: stringp, (require . china-util)
error in process filter: Wrong type argument: stringp, nil
导致 c, python, 等语言 mode 都不能使用。
是不是打包文件出现错误了吗?相对而言,el源码包不应该会出现错误啊。
emacs-version 29.1
自己去下载一个,从源代码开始安装就没有问题,顺带下载了最新版本 29.4,应该不是版本的问题。
编译Emacs需要 makeinfo,该文件在 texinfo 包中;需要 gif图形库 ~giflib-devel~ 。
#+begin_src sh
dnf install ncurses-devel libXt-devel libXpm-devel libXaw-devel gnutls-devel tcl-devel
dnf install giflib-devel texinfo
./configure --without-pop
make bootstrap # 检查更多测试项
#+end_src
初,编译失败,使用命令 ~make bootstrap~ 查知,似乎缺少 makeinfo,在 texinfo 包中有。
上述安装、编译,缺少 json 支持,在 elisp 下,求值 (json-available-p)
为假。
可在编译前,再安装库 json-c-devel
解决。