Сборка emacs с поддержкой X

Я пытаюсь создать emacs 24.0.94 с поддержкой X в 64-разрядной версии Suse Linux (10.2 Enterprise). Я вижу, что библиотеки X11 установлены в /usr/lib/X 11R6, и я говорю configure script искать их в этом месте:

--x-includes=/usr/X11R6/include:/usr/include --x-libraries=/usr/X11R6/lib64:/usr/lib64

Даже с указанными выше параметрами configure script жалуется, что не может найти Xtoolkit:

checking X11 version 6... before 6
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for librsvg-2.0 >= 2.11.0... no
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for Wand >= 6.2.8... no
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for gtk+-2.0 >= 2.10 glib-2.0 >= 2.10... no
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for dbus-1 >= 1.0... no
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for gio-2.0 >= 2.26... no
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for gconf-2.0 >= 2.13... no
checking for lgetfilecon in -lselinux... no
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for gnutls >= 2.6.6... no
checking for gnutls_certificate_set_verify_function... no
checking for xaw3d... no
checking for libXaw... configure: error: No X toolkit could be found.
If you are sure you want Emacs compiled without an X toolkit, pass
  --with-x-toolkit=no
to configure.  Otherwise, install the development libraries for the toolkit
that you want to use (e.g. Gtk+) and re-run configure.

Может кто-нибудь, пожалуйста, скажите мне, что может быть проблемой?

Ответ 1

В Suse вы, как правило, захотите скомпилировать Emacs с поддержкой GTK, поэтому вы должны установить заголовки GTK вместе с заголовками X (пакет gtk2-devel).

Чтобы скомпилировать Emacs со всеми современными функциями, вы захотите установить пакеты разработки для пакетов, не найденных в вашем ./configure выходе: rsvg, dbus, gnutls и т.д.

Ответ 2

Так как на прошлой неделе вы можете скомпилировать GTK3

Ниже приведен список зависимостей для систем на основе debian:

  • Инструменты

gcc autoconf automake texinfo libtool git

  • ЛИЭС:

libncurses5-dev libgnutls-dev librsvg2-dev libxpm-dev libjpeg62-dev libtiff-dev libgif-dev libqt4-dev libgtk-3-dev

(другой способ - использовать apt-get build-dep emacs23 и добавить gtk3)

И вот script, который я использую для автоматических сборок на всех моих машинах:

#!/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