native Emacs Lisp

现在windows下编译运行native-comp很稳定。msys2没有libgccjit。自己checkout gcc源码编译。

想问一下有相关的编译教程吗?是否还需要大量的修改脚本和源代码呢?

gcc要稍微改改源码编译。可以看看我以前写的 在windows上用mingw64编译emacs的feature/native-comp分支 。不过gcc 11.0还要再改改,我没时间修改blog,没写上去。

native-comp分支源码现在应该基本不用改了,

  1. 我的zlib库不知道有什么问题,native-comp在算文件名的md5交易和,在link时报错,我直接注释掉了。
  2. 编译选项有 with-svg 时,link报错找不到2.46版本的一个函数,我改了一下,define定义的rsvg版本号,link到低版本的函数。

貌似好复杂,我还是再观望一下把,谢谢 :joy:

其实就是gcc有点麻烦。但是在mingw64没有libgccjit的包,只能自己编译。native-comp用mingw64编译比春节时好多了,我改的那些代码已经不需要了,有人已经在native-comp分支上提了。如mingw64的gcc long是32bit,不是64bit的问题。windows用loadlibrary的问题。set_jmp的问题。这些都不用再自己改代码了。

不过你用master分支的,不用native-comp的,在机器配置好的情况下,速度感觉没太大区别。master分支不改代码在windows上编译是ok的。

上周折腾了一下,最终放弃,GCC 11.0 编译通过了,可是emacs configure的时候,始终过不了–with-native-comp 的冒烟测试,提示说没有 libgccjit, 可gcc 明显已经编译进去了。最后放弃,编译了master,还是再等等natvie吧。

export LIBRARY_PATH=把libgccjit.a的路径加上去,再试试

wsl2 装 archlinux, 直接 yay -S archlinuxcn/emacs-native-comp-git

2 个赞

加上了,还是不行。

大家用着体感上有感觉吗( comp-speed 3),我这除了启动速度明显变慢了,其它的感觉和普通的一样,,

有变快,在 linux 上面。

具体使用什么变快了呢,他那个benchmark我一跑emacs就直接炸了,只能靠体感了,,

exwm 启动 从 10 秒变 2 秒 (comp-speed 2)

写 elixir 的话,感觉 eglot 或 nox 体验更流畅了。

参考gccjit的官方howto,写个test,自己编译一下,看看是否报错,确认gcc的编译安装是否正常。

windows上我设置comp-speed 0,不然编译速度太慢了。

1 个赞

我这里native comp (comp-speed 3)和没编译成elc的elisp速度一样(体感上。。) 放弃native comp了,用了差不多一个月每日构建。现在用回原来的感觉好像更流畅一点,,,

Arch linux 通过sudo pacman -S emacs-native-comp-git安装的native comp Emacs,启动时报错。请问一下是缺了什么依赖?

更新:这个问题已经解决,需要在字体设置中加入图形界面的判断。

(if (display-graphic-p)
    (dolist (charset '(kana han symbol cjk-misc bopomofo))
      (set-fontset-font (frame-parameter nil 'font) charset
                        (font-spec :family (car (cdr fonts))))))

来了来了

Include feature/native-comp into master

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=43725

3 个赞

使用archlinuxcn的emacs-native-comp-git打开rust代码就会崩溃,有谁知道怎么处理吗?