Our updated GCC compiler packages ({gcc,gxx,gfortran}_linux-*) currently get their GLIBC requirements via their transitive dependence on the GCC runtime packages (lib{gcc,stdcxx,gfortran}-ng). However, it's possible to mix channels in such a way that GCC runtime packages from other channels with older GLIBC requirements are installed instead, which in turn cause the compilers to fail when run (e.g., conda-forge/ctng-compilers-feedstock/issues/63).
We should patch metadata for the defaults gcc_impl_* packages to add a __glibc >=2.17 constraint to prevent this from happening; i.e., patch repodata.json so that this command fails:
Our updated GCC compiler packages (
{gcc,gxx,gfortran}_linux-*
) currently get their GLIBC requirements via their transitive dependence on the GCC runtime packages (lib{gcc,stdcxx,gfortran}-ng
). However, it's possible to mix channels in such a way that GCC runtime packages from other channels with older GLIBC requirements are installed instead, which in turn cause the compilers to fail when run (e.g., conda-forge/ctng-compilers-feedstock/issues/63).We should patch metadata for the defaults
gcc_impl_*
packages to add a__glibc >=2.17
constraint to prevent this from happening; i.e., patch repodata.json so that this command fails: