是的,我就是手动删掉了就可以了,谢谢了
有没有什么办法可以开启和关闭使用 native-comp 特性呢。我想在启动的时候关闭,起来之后再打开。
gcc emacs 年度更新来了(笑
作者感觉最近 BUG 率有点低了,于是决定引进一些新功能来提高 BUG 率(再笑
所以这是一个功能性更新
主要讨论的是值/类型推断的相关改进。
详情戳链接 gccemacs
编译时间有没有翻倍?
我放在 travis ci 上编译超时了,打算换个 ci。
没具体关注这个
貌似差不太多
gentoo 上面有可用的 ebuild 文件吗?在论坛搜索、全网搜索都没有搜到相关的信息,是gentoo的用户都不用native-comp吗?
尝试自己更改了 emacs-28.0.9999 的 ebuild 文件,将 master 更改成了 feature/native-comp,将文件重命名为了emacs-gcc-28.0.9999.ebuild,将其放到了我的local-repo里面安装。
然后它给我报了这个错误,不知道是为什么:
/usr/native-lisp/28.0.50-x86_64-pc-linux-gnu-bd935fd615d5ac7d952f0d3237f2b96d/mouse-15f283fa50e83fc2aec8714353ada84c-30fd7430435a275a2a47ffd6cc759057.eln: cannot open shared object file: No such file or directory
这个是出了什么问题呢?
如果有哪位大佬写了ebuild文件能够不吝分享,我感激不尽。
因为 native comp 硬编码了储存 object file 的路徑。
那请问要怎么更改呢?
让作者把这俢复了,再整 ebuild
好吧,谢谢大佬解惑:D
可以参考
--- emacs-28.0.9999.ebuild 2021-01-07 09:45:10.982022746 +0800
+++ emacs-28.0.9999-r1.ebuild 2021-01-07 09:51:24.525995010 +0800
@@ -40,7 +40,7 @@
HOMEPAGE="https://www.gnu.org/software/emacs/"
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
-IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif +gmp gpm gsettings gtk gtk2 gui gzip-el harfbuzz imagemagick +inotify jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm xwidgets zlib"
+IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif +gmp gpm gsettings gtk gtk2 gui gzip-el harfbuzz imagemagick +inotify jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif native png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm xwidgets zlib"
RESTRICT="test"
RDEPEND="app-emacs/emacs-common-gentoo[games?,gui(-)?]
@@ -126,7 +126,8 @@
) )"
DEPEND="${RDEPEND}
- gui? ( !aqua? ( x11-base/xorg-proto ) )"
+ gui? ( !aqua? ( x11-base/xorg-proto ) )
+ native? ( sys-devel/gcc[jit] )"
BDEPEND="app-eselect/eselect-emacs
sys-apps/texinfo
@@ -271,6 +272,12 @@
myconf+=" --with-dumping=pdumper"
fi
+ if use native; then
+ if [ -z "$EGIT_OVERRIDE_BRANCH_EMACS" ] ; then
+ die "Default branch ${EGIT_BRANCH} does not currently have the native-comp code"
+ fi
+ fi
+
econf \
--program-suffix="-${EMACS_SUFFIX}" \
--includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
@@ -293,6 +300,7 @@
$(use_with lcms lcms2) \
$(use_with libxml2 xml2) \
$(use_with mailutils) \
+ $(use_with native nativecomp)
$(use_with selinux) \
$(use_with ssl gnutls) \
$(use_with systemd libsystemd) \
@@ -337,7 +345,8 @@
# avoid collision between slots, see bug #169033 e.g.
rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
rm -rf "${ED}"/usr/share/{appdata,applications,icons}
- rm -rf "${ED}/usr/$(get_libdir)"
+ # rm -rf "${ED}/usr/$(get_libdir)"
+ rm -rf "${ED}/usr/$(get_libdir)"/systemd
rm -rf "${ED}"/var
# remove unused <version>/site-lisp dir
另外, 在 /etc/portage/env/emacs-native-comp
设置
EGIT_OVERRIDE_REPO_EMACS="https://github.com/emacs-mirror/emacs.git"
EGIT_OVERRIDE_BRANCH_EMACS="feature/native-comp"
如果需要编译某一个 commit, 需要设置
EGIT_OVERRIDE_COMMIT_EMACS="..."
是的,切到feature/nativecomp 那个分支
这个问题有遇到的吗?
之前我使用 native-comp 分支和 clangd 的时候, 在 c++-mode 里也有类似问题, trigger-character 设置好像失效了.
在打开文件之后, 重新定义 lsp-completion--looking-back-trigger-characterp
这个函数, 有一定几率又可以解决问题
感觉native-comp速度确实快一点,但是小问题不少
我去看了下,后面越写越魔幻·