Custom-gcc
custom-gcc<version> — вариант пакета gcc<version>, который может быть использован в ветвях Sisyphus, основная версия gcc которых не соответствует требованиям, которые предъявляются пакетом, собираемым в данную ветвь, т.е. custom-gcc имеет большую версию чем самый новый gcc данной ветви.
Требуемые изменения spec-файла собираемого пакета
При использовании custom-gcc для сборки пакета, в spec-файл данного пакета следует внести следующие изменения:
- Удалить все упоминания gcc* (gcc, gcc-c++ и прочее);
- Добавить в описание зависимостей следующие строки (номер версии может отличаться, в примере используется версия 5 — здесь и далее):
BuildRequires: custom-gcc5-c++ %define psuffix -5 %define __cc %_bindir/gcc%psuffix %define __cxx %_bindir/g++%psuffix
- При необходимости сборки пакета с новыми версиями стандартных библиотек, следует указать на них зависимости (для других библиотек — libatomic, libasan и прочих — аналогично):
Requires: custom-libgcc1 >= 5 Requires: custom-libstdc++6 >= 5
- Добавить в секцию %build указание используемых компиляторов:
export CC="%__cc" export CXX="%__cxx"
- При необходимости сборки пакета с новыми версиями библиотек, поставляемых в составе custom-gcc, следует указать путь к каталогу, в котором они все расположены (
%_libdir/custom-gcc/
, независимо от версии custom-gcc):export LDFLAGS="-Wl,-rpath,%_libdir/custom-gcc/"
Ссылки
custom-gcc4.8 на git.altlinux.org
custom-gcc5 на git.altlinux.org
custom-gcc7 в p8 на git.altlinux.org