Um ein Paket mit einer anderen Version des GCC bzw. gcc++ zu bauen als es die Distribution als Standard vorsieht sind folgende Einträge in die spec einzufügen:
Beispiel openSUSE Leap 15.3
Hier ist die Version 7 als Standard gesetzt.
Es liegen aber auch die Versionen 8,9,10 und 11 des GCC vor.
Somit kann z.B. folgendes in die spec eingefügt werden wenn der GCC10 in Leap außer Tumbleweed benutzt werden soll:
Im Kopf:
%if 0%{?suse_version} < 1600
BuildRequires: gcc10
BuildRequires: gcc10-c++
%endif
Und in der %build section:
%if 0%{?suse_version} < 1600
export CC="%{_bindir}/gcc-10"
export CXX="%{_bindir}/g++-10"
%endif
Nun wird das Paket nicht mit GCC in der Version 7 gebaut, sondern mit GCC in der Version 10.
Besser ist jedoch folgende Version.
Im Kopf:
%if 0%{?suse_version} < 1600
BuildRequires: gcc13
BuildRequires: gcc13-c++
%else
BuildRequires: gcc
BuildRequires: gcc-c++
%endif
In der %build section:
%if 0%{?suse_version} < 1600
export CC=gcc-13
export CXX=g++-13
%endif