native Emacs Lisp

都试过,不是这个问题。看提示是 The system cannot find the path specified. 但是不知道哪个 path 它没找到。/c/emacs/nt 这个目录下根本就没有 emacs.res 这个文件

git clean -dxf之后重新编译了一下,我能确认emacs.res应该是make生成的文件(configure之后是没有这个文件的),The system cannot find the path specified.难道是指/c/emacs/nt

另一个我能想到的可能的原因是msys2启动的不是MinGW-w64环境,msys64目录下的msys2_shell.cmd默认启动的是msys环境,编译emacs必须要MinGW-w64才行。

当年 XEmacs 创新,一度红火超过 GNU Emacs,但后来挂了,倒是倒逼 GNU Emacs 加了很多功能。

这跟vim的情况如出一辙。好在现在Emacs的情况没有当时vim那么严重,一直有重要的新特性。

emacs代码太复杂了, 开发人手太少, 查bug比较难, 看bug列表里, 崩溃的堆栈一般都30层左右, 复杂了点. 维护者也是一直在说这个问题, 所以底层的大功能很慎重. c语言太底层了, 用高级点的语言会减少一些工作量.

make是能成功的 你们都不make install ? 我现在是make install 会有问题

要 sudo 啊

你的make install这一步的报错信息是没找到native-lisp这个文件夹,正常情况下configure的时候用了 --with-nativecomp,并且安装好了libgccjit的话,编译之后源码根目录下是有这个文件夹的,所以要么是编译的时候就没有生成这个文件夹,要么是make install没有找到这个文件夹。

我还是怀疑出错的原因是你发的reddit帖子里面那一步

mkdir build; cd build

因为这一步完全是多余的,官方文档里没有这一步,编译生成的二进制文件和elc文件什么的都会被放到源码根目录下对应的文件夹里面,make clean也能把它们干净的删除,所以开发者可能没考虑到用户编译的时候会有这一步,导致生成的文件位置不对所以安装失败(?)

恩,其实没有mkdir builld; cd build 这个去掉我也去掉过,还是有问题,我今天pull了下现在make就报错了image

编译出错的同学可以试下 make clean. git worktree 到一个全新的文件夹重新来。之前我怎么弄怎么解决不了,最后重新来解决了。

window 编译好后 要如何正确开始使用呢 ?我直接将环境变量emacs指向新的emacs就崩溃了 gdb调试

你编译好以后,把native-comp 的emacs 的bin 目录加入Path ,放到最上面,然后在终端 看看是否能找到你最新的Emacs。如果可以,就执行一次Emacs -q 启动emacs,这时随便打开一个buffer,使得Emacs开始编译一些内置的包。完成后退出Emacs,直接在终端启动emacs,就可以正常使用了,每次新开的功能都要等待编译。以后就可以正常使用了。

make NATIVE_FULL_AOT=1 可以把所有内置的包都编译好

好的 我试试

把msys2的mingw64/bin 和usr/bin加到path里面,编译成的emacs不包括启动需要的dll,这些dll都在msys2的目录里面

感谢,在这个问题上卡了半天。

加了以后终于成功了!

(setenv "LIBRARY_PATH" "/usr/local/opt/gcc/lib/gcc/10:/usr/local/opt/gcc/lib/gcc/10/gcc/x86_64-apple-darwin20/10.2.0")

你这个启动时间惊呆我了,果然是不需要emacsclient了。我的启动大约10来秒,所以一直都是开两个emacs server,除非配置变动,否则用到地老天荒。

大概也有疫情的原因?有些人不得不先向生活妥协,喂饱自己。希望尽快重启,期待28

commit 4f90b0b6e6249597cf2e1450b5b9d7f6522c049f Author: Eli Zaretskii [email protected] Date: Wed Mar 3 13:59:08 2021 +0200

Improve NEWS entries about native-compilation

* etc/NEWS: Add an entry about native-compilation.  Improve
wording of the entry about 'package-native-compile'.

navie-comp入emacs28看来是板上钉钉了,Andrea Corallo之前抱怨native-comp分支合并入master的review迟迟没下文,这算是开始给合并进master做准备了 :thinking:

1 个赞

我也遇到了类似的问题.

请问如何确定 LIBRARY_PATH 的值和gcc 的路径, 我这里貌似没有找到 /usr/local/opt 这个目录.