SpecTips/ToolChain

Материал из ALT Linux Wiki

Переключение версий toolchain

Для некоторых пакетов бывает осмысленно использовать сборку иными версиями базового инструментария, нежели текущие (например, когда известно, что новый gcc неправильно собирает последний доступный memtest86+).

Переключение возможно осуществить следующими макросами:

%set_autoconf_version
%set_automake_version
%set_libtool_version
%set_gcc_version

В качестве аргумента они принимают версию, в точности соответствующую суффиксу в имени /usr/bin/утилита-версия; обратите внимание, что для случая autoconf_2.50 это 2.5, а не 2.50 (содержит /usr/bin/autoconf-2.5 и /usr/bin/autoconf_2.50).

Пример использования в спеке (например, где-нибудь ниже BuildRequires — кстати, указывать специфические версии пакетов в них не надо, они будут добавлены автоматически):

%set_automake_version 1.7
%set_autoconf_version 2.5

Обратите внимание: при надобности g++ следует добавить явную сборочную зависимость:

%set_gcc_version 8
BuildRequires: gcc8-c++

Так же может потребоваться export CC=%__cc и, вероятно, export CXX=%__cxx до вызова configure.