AnacondaRecipes / repodata-hotfixes

Changes to package metadata to fix behavior
BSD 3-Clause "New" or "Revised" License
14 stars 20 forks source link

New gcc_impl_* packages should have `__glibc >=2.17` depends/constraints #146

Open chenghlee opened 3 years ago

chenghlee commented 3 years ago

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:

CONDA_OVERRIDE_GLIBC=2.12 conda create --dry-run -n __test__  gcc_linux-64=9.3 conda-forge::libgcc-ng=9.3