Ubuntu22编译安装emacs29.4

ubuntu22编译安装emacs29.4

前言

doom emacs对emacs30.1不兼容,降低下版本

系统版本: Ubuntu22.04

emacs版本: 29.4

准备工作

下载

wget https://ftp.gnu.org/gnu/emacs/emacs-29.4.tar.gz

编译组件

sudo apt install build-essential \
    libx11-dev \
    libxpm-dev \
    libjpeg-dev \
    libgif-dev \
    libtiff-dev \
    libncurses-dev \
    libxft-dev \
    libxinerama-dev \
    texinfo

不带依赖编译

./autogen.sh
./configure --prefix=/usr/local/emacs29.4

make
sudo make install

带依赖编译

依赖ImageMagick(图像编辑)、gtk3+(图形化开发)、gnutls(加密工具)

安装ImageMagick(ubuntu的apt有,版本为6,但是安装过后命令行找不到)

# 制裁老版本
sudo apt autoremove imagemagick

# 安装ImageMagick
wget https://imagemagick.org/archive/ImageMagick.tar.gz
tar -xzvf ImageMagick.tar.gz
cd ImageMagick-7.1.1-11
./configure
make
sudo make install
sudo ldconfig /usr/local/lib

# 查看ImageMagick版本
magick -version

安装gtk3+

# 安装gtk3
sudo apt-get install libgtk-3-dev

# 检验
pkg-config --cflags --libs gtk+-3.0

安装gnutls

# 安装gnutls
sudo apt install gnutls-bin libgnutls28-dev

# 检验
gnutls-cli --version

编译emacs

# 解压
tar -xvf emacs-29.tar.xz

# 编译安装
cd emacs-29
./configure --prefix=/usr/local/emacs29.4 --with-x-toolkit=gtk3 --with-xft --with-modules --with-jpeg --with-gif=no --with-tiff=no --with-xpm=no --with-rsvg --with-imagemagick
make
sudo make install

# 配置多emacs多版本管理
sudo update-alternatives --install /usr/bin/emacs emacs /usr/local/emacs29.4/bin/emacs-29.4 6

# 检验
emacs --version