easimonenko Evgeny Simonenko

Сборка GNU Emacs из исходных текстов

07 Jul 2025 |  Tutorial  |  GNU Emacs  

GNU Emacs 31.0.50, собранный из исходников и немного настроенный

Инструкция по сборке GNU Emacs из исходников, полученных из его репозитория Git. Сборка производилась в среде Ubuntu Linux 22.04 и 25.04.

Загрузка исходников

Оригинальные исходные тексты GNU Emacs можно посмотреть на сайте https://Savannah.GNU.org по ссылке https://cgit.git.savannah.gnu.org/cgit/emacs.git Загрузим их:

cd ~/Sources
git clone https://git.savannah.gnu.org/git/emacs.git
cd emacs

Установка необходимых пакетов

Для сборки из исходников GNU Emacs потребуется установить некоторые дополнительные пакеты разработчика. Их список может отличаться в зависимости от конфигурации сборки.

Основные пакеты, необходимые для любой конфигурации:

sudo apt install gcc make libc-dev autoconf pkg-config texinfo

Затем пакеты, соответствующие конфигурации:

sudo apt install libgtk-3-dev libtinfo-dev libtree-sitter-dev libgccjit-14-dev libgnutls28-dev
sudo apt install liblcms2-dev libsqlite3-dev libgpm-dev
sudo apt install librsvg-dev libgif-dev libxpm-dev libotf-dev

Этот список может отличаться, если будут выбраны другие опции конфигурации.

Конфигурирование сборки

Сначала нужно запустить скрипт autogen.sh:

./autogen.sh

Этот скрипт сгенерирует configure.sh, который нужно вызвать, передав ему нужные опции:

./configure --prefix=$HOME/Software/emacs-2025-07-07 --with-native-compilation --with-x-toolkit=gtk3 --with-tree-sitter --with-wide-int --with-modules --with-gnutls --with-mailutils --with-cairo --with-imagemagick --with-file-notification=yes --without-dbus

Опция --with-x-toolkit=gtk3 указывает собирать графический интерфейс для X Window System с использованием библиотеки Gtk3. Есть и другие варианты, в частности, для сборки под Wayland нужно эту опцию заменить на --with-pgtk.

Вероятно, в процессе конфигурирования будет обнаружено, что какие-то требуемые пакеты не установлены. Тогда просто нужно их установить и снова запустить конфигурацию. И так до тех пор, пока скрипт не будет выполнен успешно.

Сборка

Вызовем make с опцией, ограничивающей количество задействуемых ядер (потоков) процессора:

make -j2

Установка

Установка собранного Emacs происходит как обычно:

make install

Запуск

Переходим в каталог, который был указан в опции prefix и запускаем emacs:

cd ~/Software/emacs-2025-07-07/bin
./emacs

(c) Евгений Симоненко, 2025