Emacs Build
文章目录
build emacs 30
on arch linux
安装依赖
1sudo pacman -S cairo giflib gnutls gtk3 harfbuzz jansson libgccjit libjpeg-turbo libotf libpng libsm libtiff libwebp libxcb libxi libxml2 libxpm sqlite tree-sitter xcb-util git libxi xorgproto webkitgtk-6.0 webkit2gtk #icu libavif构建准备
1 2 3cd emacs git checkout emacs-30 ./autogen.shconfigure
1./configure --with-tree-sitter --with-native-compilation=aot --with-mailutils --with-pop --with-xml2 --with-xwidgets --with-x-toolkit=gtk3 # LDFLAGS="-Wl,-rpath,/usr/lib -Wl,-rpath-link,/usr/lib"get error: webkit2gtk version 太高
- 修复方法:手动降低版本
合适的版本文件可以在这里找到:https://archive.archlinux.org/packages/w/webkit2gtk/
1sudo -E pacman -U https://archive.archlinux.org/packages/w/webkit2gtk/webkit2gtk-2.40.0-1-x86_64.pkg.tar.zst
make
1make -j 8错误:
1 2 3 4/usr/bin/ld: /usr/lib/pkgconfig/../../lib/libjavascriptcoregtk-4.0.so: undefined reference to `u_toupper_72' /usr/bin/ld: /usr/lib/pkgconfig/../../lib/libjavascriptcoregtk-4.0.so: undefined reference to `ucol_getKeywordValues_72' /usr/bin/ld: /usr/lib/pkgconfig/../../lib/libjavascriptcoregtk-4.0.so: undefined reference to `u_foldCase_72' /usr/bin/ld: /usr/lib/pkgconfig/../../lib/libjavascriptcoregtk-4.0.so: undefined reference to `ucal_close_72'- 这是因为上面安装的 webkit2gtk 版本和其他 package 版本依赖关系被打破的原因
修复方法:重新安装系统要求的版本
1sudo pacman -S webkit2gtk
继续 make
1make -j 8- 可以正常编译
运行 emacs
1GDK_BACKEND=x11 WEBKIT_DISABLE_COMPOSITING_MODE=1 ./src/emacs -q
文章作者
上次更新 2025-02-24 (77fafc9)