使用X支持构建Emacs

使用X支持构建Emacs,emacs,Emacs,我正在尝试在64位(10.2企业版)机箱上构建支持X的Emacs 24.0.94。我看到X11库安装在/usr/lib/X11R6中,我告诉配置脚本在该位置查找它们: --x-include=/usr/X11R6/include:/usr/include--x-libraries=/usr/X11R6/lib64:/usr/lib64 即使使用上述选项,配置脚本仍会抱怨找不到任何X toolkit: 正在检查X11版本6。。。6点之前 正在检查pkg配置。。。(缓存)/usr/bin/pkg配

我正在尝试在64位(10.2企业版)机箱上构建支持X的Emacs 24.0.94。我看到X11库安装在/usr/lib/X11R6中,我告诉配置脚本在该位置查找它们:

--x-include=/usr/X11R6/include:/usr/include--x-libraries=/usr/X11R6/lib64:/usr/lib64
即使使用上述选项,配置脚本仍会抱怨找不到任何X toolkit:

正在检查X11版本6。。。6点之前
正在检查pkg配置。。。(缓存)/usr/bin/pkg配置
正在检查librsvg-2.0>=2.11.0。。。不
正在检查pkg配置。。。(缓存)/usr/bin/pkg配置
检查魔杖>=6.2.8。。。不
正在检查pkg配置。。。(缓存)/usr/bin/pkg配置
正在检查gtk+-2.0>=2.10 glib-2.0>=2.10。。。不
正在检查pkg配置。。。(缓存)/usr/bin/pkg配置
正在检查dbus-1>=1.0。。。不
正在检查pkg配置。。。(缓存)/usr/bin/pkg配置
正在检查gio-2.0>=2.26。。。不
正在检查pkg配置。。。(缓存)/usr/bin/pkg配置
正在检查gconf-2.0>=2.13。。。不
正在-lselinux中检查lgetfilecon。。。不
正在检查pkg配置。。。(缓存)/usr/bin/pkg配置
正在检查gnutls>=2.6.6。。。不
正在检查gnutls\u证书\u设置\u验证\u函数。。。不
正在检查xaw3d。。。不
正在检查libXaw。。。配置:错误:找不到X工具包。
如果您确定要在不使用X工具包的情况下编译Emacs,请传递
--with-x-toolkit=否
配置。否则,请安装工具箱的开发库
您要使用的(例如Gtk+)并重新运行配置。

如何修复此问题?

在SUSE Linux上,您通常希望编译支持GTK的Emacs,因此您应该安装GTK头和X头(package
gtk2-devel


为了编译具有所有现代功能的Emacs,您需要为
/configure
输出中未找到的包安装开发包:rsvg、dbus、gnutls等。

与上周一样,您现在可以使用GTK3编译

以下是基于的系统的依赖项列表:

  • 工具:

    gcc autoconf自动生成texinfo libtool git

  • 图书馆:

    libncurse5开发libgnutls开发librsvg2开发libxpm开发libjpeg62开发libtiff开发libgif开发libqt4开发libgtk-3-dev

    (另一种方法是使用
    apt get build dep emacs23
    并添加
    gtk3

下面是我在所有机器上用于自动构建的脚本:

#!/bin/bash

init=false
SRC_DIR=~/src

if [ ! -d "$SRC_DIR" ]; then mkdir $SRC_DIR; fi

if [ ! -d "$SRC_DIR/emacs" ]; then
    init=true
    cd $SRC_DIR && pwd && git clone git://git.sv.gnu.org/emacs.git && cd emacs
else
    cd $SRC_DIR/emacs
fi

git pull 1>&1 | grep "Already up-to-date."
if [[ ! $? -eq 0 && ! $init ]]; then
    read -e -p "## Branch moved, build and install emacs? [Y/n] " yn
    if [[ $yn == "y" || $yn == "Y" || $yn == "" ]] ; then
          make distclean && autoreconf -i -I m4 && ./configure --with-x-toolkit=gtk3 && make && sudo make install
    fi
fi

您想使用哪个工具包?你把它安装好了吗?哪里如果您不知道,您可能希望使用GTK。是的,X11是最低级别的显示功能。要与Windows进行比较,请将其视为处理图形卡驱动程序和在屏幕上绘制斑点所需的一些功能。在这一层之上,您需要一些为按钮和菜单以及图形应用程序中的所有其他内容提供库的东西,而您缺少了这一部分。Gtk+可能就是您想要的,所以正如其他人所说,只需安装gtk2-devel(或其他任何名称?),构建就可以了。谢谢。请参阅下面我对本地安装emacs/gtk2 DevelTanks的评论。我正在进行本地安装(在我的主目录中安装emacs),因为我在系统上没有sudo/root权限。是否可以在本地安装gtk2-devel包并将其用于构建emacs?@Raj尝试下载RPM并在本地安装,但我没有测试它们。@Antoine可能有更简单的解决方案,但您也可以下载Gtk+源代码并以相同的方式安装它(“./configure--prefix=/home/Raj/local”)。使用RPM的好处是它应该为您处理依赖关系。使用source,您必须确保自己安装了任何必需的库。无论哪种方式,您都可能需要告诉emacs的配置脚本库的安装位置,例如“/configure--prefix=/home/Raj/local--with gtk=/home/Raj/local”。请阅读配置帮助以获得正确的标志。感谢所有回复。我决定安装没有X的emacs。不客气,Raj。它可以更好;我不喜欢被迫对git的输出进行grep以确定分支是否已移动。