Arch Linux: makepkg не собирает пакет из AUR

  • Обновлено
  • Чтение ≈ 3 минуты
  • Нужны права администратора

Краткий ответ

Сборка из AUR может провалиться из-за отсутствия зависимостей, устаревшего PKGBUILD, несовместимости с новыми библиотеками или нехватки памяти. Ниже — причины и порядок действий от простого к сложному.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Лог и комментарии
  5. Типовые причины
  6. Чистая сборка

#Что означает ошибка

Сообщение
ERROR: A failure occurred in build(). Aborting...

Сборка AUR-пакета через makepkg или помощник (yay, paru) падает по разным причинам: не хватает зависимостей, сломан PKGBUILD после обновления, не проходит проверка подписей или контрольных сумм, изменились библиотеки системы. Сообщение ==> ERROR: A failure occurred in build() указывает лишь на фазу.

Настоящую причину нужно искать выше в логе сборки.

Не пренебрегайте чтением комментариев к пакету в AUR.

Сборка из AUR может провалиться из-за отсутствия зависимостей, устаревшего PKGBUILD, несовместимости с новыми библиотеками или нехватки памяти. Прочитайте лог ошибки, а не только последнюю строку.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Не хватает зависимостейНет заголовочных файлов.Установите base-devel и нужные пакеты.
Устаревший PKGBUILDПакет не обновлялся.Проверьте комментарии на странице AUR.
Несовместимость с новыми библиотекамиОшибка компиляции.Поищите патч или бинарную версию.
Нехватка памяти или местаСборка прерывается.Освободите ресурсы.

#Пошаговое решение

  1. Найдите первую ошибку в логеВ системах с systemd откройте терминал и введите journalctl -b -p err --no-pager -n 60, чтобы посмотреть ошибки текущей загрузки. Для конкретной службы добавьте -u ИМЯ.service с реальным именем. Ориентируйтесь на первую ошибку до повторных сообщений о сбое; журнал может содержать частные адреса и пути, поэтому не публикуйте его целиком.
  2. Прочитайте комментарии в AURОткройте страницу нужного пакета на официальном сайте AUR (aur.archlinux.org), посмотрите дату обновления, комментарии и сообщения о текущих сбоях. Прежде чем собирать, скачайте PKGBUILD и прочитайте его команды: это пользовательский сценарий с доступом к вашей системе. Не запускайте скачанный сценарий с правами root; сборку выполняют обычным пользователем, а установку пакета — через pacman.
  3. Установите base-devel и зависимостиОткройте терминал Arch Linux и проверьте наличие инструментов сборки: pacman -Q base-devel. Если группа или пакетный набор не установлен, выполните sudo pacman -Syu --needed base-devel с официальных репозиториев. Дополнительные зависимости берите из проверенного PKGBUILD выбранного пакета в AUR; сначала прочитайте его содержимое. Сборку makepkg выполняйте от обычного пользователя, не от root.
    Linux · Терминал (Bash)С осторожностьюНужен sudo
    Устанавливает инструменты сборки из официальных репозиториев Arch, может изменить зависимости и потребовать согласия пользователя; перед запуском нужен полный согласованный набор репозиториев и план транзакции.
    sudo pacman -S --needed base-devel

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

  4. Импортируйте PGP-ключТолько если makepkg сообщает unknown public key, выпишите полный отпечаток и найдите его на официальной странице исходного проекта либо в его подписанных указаниях. Сравните отпечатки до импорта. Импорт через gpg --recv-keys разрешён лишь для проверенного ключа; сервер ключей сам по себе не подтверждает подлинность. После импорта повторите makepkg без --skippgpcheck. Если подпись недействительна, остановитесь и не устанавливайте собранный пакет.
  5. Выполните чистую сборкуДля повторной сборки используйте отдельный каталог с исходниками, после проверки PKGBUILD и зависимостей. Сначала сохраните журнал первой ошибки, затем можно удалить только временные сборочные файлы именно этого проекта через штатные возможности makepkg (см. man makepkg). Запускайте makepkg -si обычным пользователем, не через sudo. Если сборка вновь падает, анализируйте первую содержательную ошибку компилятора; не применяйте случайные патчи.

#Лог и комментарии

Прокрутите вывод вверх до первой ошибки компилятора (error:). Откройте страницу пакета на aur.archlinux.org и прочитайте свежие комментарии: часто проблема известна и есть заплатка. Проверьте, не помечен ли пакет «Out-of-date». Соберите вручную для чистоты эксперимента: git clone https://aur.archlinux.org/пакет.git && cd пакет && makepkg -si.

#Типовые причины

One or more PGP signatures could not be verified — импортируйте ключ: gpg --recv-keys ИДЕНТИФИКАТОР. Validity check failed или FAILED контрольных сумм — источник изменился: обновите PKGBUILD или используйте makepkg -g. Не хватает зависимостей: makepkg -s ставит их, или установите base-devel (sudo pacman -S --needed base-devel git). После обновления системы пересоберите пакет, зависящий от старых версий библиотек.

#Чистая сборка

Очистите кэш помощника (yay -Sc, или удалите ~/.cache/yay/пакет). Выполните makepkg -C -f для чистой сборки. Проверьте свободное место в /tmp и каталоге сборки (df -h), память (сборка Rust/C++ требует гигабайты). Задайте MAKEFLAGS="-j$(nproc)" в /etc/makepkg.conf, но при нехватке памяти уменьшите. Если пакет заброшен, ищите альтернативу в основных репозиториях или Flatpak.

Linux · Терминал (Bash)Команда
Проверка инструментов сборки и группы base-devel. Не копируйте URL с фиктивным словом «пакет» и не скачивайте PKGBUILD AUR без проверки содержимого и доверия источнику.
pacman -Q git
pacman -Qg base-devel

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.