关于janet的treeesit.so被emacs报错``二进制符号不一致"的问题

在我使用的三个版本的emacs(当前的emacs30/emacs31master/emacs31igc)的使用过程中,使用treesit-auto安装janet的.so文件均报出了 undefined symbol: tree_sitter_janet 的错误。

我用objdump -sd 简单看了一下,有一个字段关于tree_sitter_janet_simple,我不知道这是否与问题本身相关,但我还想排查一下,请问大家,emacs内部是否有一个变量来描述这些.so文件应有的二进制符号的名称呢?我在现在使用的igc分支下使用emacs -q -l .config/emacs/elpaca/repos/treesit-auto/treesit-auto.el 仍然在报错,其形式也和我上面提到的相似:The installed language grammar for janet cannot be located or has problems (symbol-error): /home/iris/.config/emacs/tree-sitter/libtree-sitter-janet.so: undefined symbol: tree_sitter_janet

(因为我没有什么计算机基础知识,这些措辞可能有些奇怪,不过如果你询问我应该还能给出你需要的讯息)

tree-sitter-janet-simpletree-sitter-janet 是两个项目, 是不是装混了

treesit-auto内部hardcode的地址就是前者,也就是simple的那个,如果这有问题我应该给treesit-auto的作者提一个issue么?因为我在用了你提到的那个repos的.so之后emacs的确不再报错了。

1 个赞