2012-03-13 2 views
10

Я пытаюсь создать emacs 24.0.94 с поддержкой X в 64-разрядной версии Suse Linux (10.2 Enterprise release). Я вижу, что X11 библиотеки установлены в/USR/Lib/X11R6 и я говорю скрипт конфигурации, чтобы искать их в этом месте:build emacs с поддержкой X

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

Даже с вышеперечисленными опциями, конфигурационный скрипт жалуется, что не может найти 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. 

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

+0

Какой инструментарий вы хотите использовать? У вас есть он правильно установлен? Где? Если вы не знаете, вы, вероятно, захотите пойти с GTK. – tripleee

+0

Да, X11 - это самый низкий уровень функциональности дисплея. Чтобы провести параллель с Windows, подумайте об этом как о битах функциональности, необходимых для обработки драйверов графических карт и рисования капель на экране. Наверху этого слоя вам нужно что-то, что предоставляет библиотеки для кнопок и меню, а также для всего другого материала, который входит в графическое приложение, и вам не хватает этой части. Gtk +, вероятно, тот, который вы хотите, так как другие сказали, просто установите gtk2-devel (или что-то, что он вызвал?), И сборка должна работать. – deong

+0

Спасибо. Пожалуйста, см. Мой комментарий ниже о локальной установке emacs/gtk2-devel – Raj

ответ

4

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

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

+0

Спасибо. Я делаю локальную установку (установка emacs в моем домашнем каталоге), так как у меня нет привилегий sudo/root в системе. Возможно ли установить пакет gtk2-devel локально и использовать его для создания emacs? – Raj

+0

@Raj Попробуйте загрузить RPM и установить его локально. [Вот несколько инструкций] (http://www.linuxquestions.org/questions/linux-newbie-8/rpm-installation-having-no-root-access-762363/), но я их не тестировал. – Antoine

+0

@ У Antoine, вероятно, есть более легкое решение, но вы также можете загрузить исходный код Gtk + и установить его таким же образом («./configure --prefix =/home/Raj/local»). Потенциал использования RPM заключается в том, что он должен обрабатывать зависимости для вас. С исходным кодом вам нужно будет самостоятельно установить нужные библиотеки.В любом случае вам, вероятно, нужно будет указать скрипт configure для emacs, где установлены библиотеки, что-то вроде «./configure --prefix =/home/Raj/local --with-gtk =/home/Raj/local ». Прочтите конфигурационную справку, чтобы получить правильные флаги. – deong

11

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

Вот список зависимостей для Debian-систем, основанных на:

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

GCC Autoconf Automake Texinfo Libtool мерзавца

  • ЛИЭС:

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)

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

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

Спасибо за скрипт. – Raj

+0

Добро пожаловать, Радж. Могло быть и лучше ; Мне не нравится, как я вынужден выводить результат git, чтобы определить, переместилась ли ветка. – yPhil

+0

Отличный ответ ... –

Смежные вопросы