You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无root权限在CentOS7编译支持X的Emacs29.x的问题咨询

在无root权限的CentOS 7上编译完整功能的Emacs 29.4

可以在用户目录下编译安装所需依赖库,通过环境变量让GCC和Emacs的configure脚本识别到这些库的位置,从而编译出完整功能的版本,具体步骤如下:

1. 准备用户级依赖安装目录

先创建一个本地目录存放所有自行编译的库,避免系统路径权限问题:

export USER_LOCAL="/users/<username>/local"
mkdir -p "$USER_LOCAL"

2. 设置环境变量,让工具链识别用户目录

配置编译器、链接器和pkg-config的搜索路径,确保后续编译的依赖能被找到:

export PATH="$USER_LOCAL/bin:$PATH"
export LD_LIBRARY_PATH="$USER_LOCAL/lib:$USER_LOCAL/lib64:$LD_LIBRARY_PATH"
export CFLAGS="-I$USER_LOCAL/include"
export LDFLAGS="-L$USER_LOCAL/lib -L$USER_LOCAL/lib64"
export PKG_CONFIG_PATH="$USER_LOCAL/lib/pkgconfig:$USER_LOCAL/lib64/pkgconfig:$PKG_CONFIG_PATH"

建议把这些环境变量添加到你的~/.bashrc或~/.zshrc中,避免每次重新设置。

3. 编译安装缺失的依赖库

编译libXpm

下载libXpm的源码包(如libXpm-3.5.17.tar.gz),解压后执行:

tar xf libXpm-3.5.17.tar.gz
cd libXpm-3.5.17
./configure --prefix="$USER_LOCAL"
make -j$(nproc)
make install
cd ..

编译giflib(替代libungif)

下载giflib源码包(如giflib-5.2.1.tar.gz),解压后执行:

tar xf giflib-5.2.1.tar.gz
cd giflib-5.2.1
./configure --prefix="$USER_LOCAL"
make -j$(nproc)
make install
cd ..

编译libtiff

下载libtiff源码包(如libtiff-4.6.0.tar.gz),解压后执行:

tar xf libtiff-4.6.0.tar.gz
cd libtiff-4.6.0
./configure --prefix="$USER_LOCAL" --disable-static
make -j$(nproc)
make install
cd ..

4. 编译Emacs 29.4

回到Emacs源码目录,执行configure命令,指定依赖库的路径:

./configure --prefix=/users/<username>/.emacs.d --bindir=/users/<username>/bin \
  --with-xpm="$USER_LOCAL" \
  --with-gif="$USER_LOCAL" \
  --with-tiff="$USER_LOCAL"

如果仍需跳过X toolkit,可追加--with-x-toolkit=no参数。

配置通过后,编译并安装:

make -j$(nproc)
make install

验证安装

执行/users/<username>/bin/emacs --version,确认版本为29.4且功能完整。

内容的提问来源于stack exchange,提问作者Analog Moose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 13:47:29