Skip to content

Regression: grpc recipe not buildable with 25.3 anymore #5645

@h-vetinari

Description

@h-vetinari

Checklist

  • I added a descriptive title
  • I searched open reports and couldn't find a duplicate

What happened?

The grpc recipe in conda-forge is not build able anymore with conda-build 25.3, running into some constraint confusion:

Attempting to finalize metadata for grpcio-tools
Reloading output folder: ...working... done
Getting pinned dependencies: ...working... failed
WARNING: failed to get package records, retrying.  exception was: Unsatisfiable dependencies for platform linux-64: {MatchSpec("python==3.9[build=*_cpython]")}
Encountered problems while solving:
  - unsupported request

Could not solve for environment specs
The following package could not be installed
└─ python =3.9,(>=3.11,<3.12.0a0) *_cpython does not exist (perhaps a typo or a missing channel).

The recipe would normally build

anaconda upload \
    /home/conda/feedstock_root/build_artifacts/linux-64/libgrpc-1.71.0-he753a82_0.conda \
    /home/conda/feedstock_root/build_artifacts/linux-64/grpcio-1.71.0-py39h169e510_0.conda \
    /home/conda/feedstock_root/build_artifacts/linux-64/grpcio-1.71.0-py313hc48a350_0.conda \
    /home/conda/feedstock_root/build_artifacts/linux-64/grpcio-1.71.0-py311h50d2e3c_0.conda \
    /home/conda/feedstock_root/build_artifacts/linux-64/grpcio-1.71.0-py310h7053be5_0.conda \
    /home/conda/feedstock_root/build_artifacts/linux-64/grpcio-1.71.0-py312h9c3ccc5_0.conda \
    /home/conda/feedstock_root/build_artifacts/linux-64/grpcio-tools-1.71.0-py39h85ebfaf_0.conda \
    /home/conda/feedstock_root/build_artifacts/linux-64/grpcio-tools-1.71.0-py313h9e295c2_0.conda \
    /home/conda/feedstock_root/build_artifacts/linux-64/grpcio-tools-1.71.0-py311hf29d790_0.conda \
    /home/conda/feedstock_root/build_artifacts/linux-64/grpcio-tools-1.71.0-py310h5347cfb_0.conda \
    /home/conda/feedstock_root/build_artifacts/linux-64/grpcio-tools-1.71.0-py312h2a0d124_0.conda

where libgrpc is python-independent, and then grpcio and grpcio-tools are built per python version (and grpcio-tools further depends on grpcio).

There was also some discussion that following a recently-added linter warning from conda-smithy

       host:
-        - grpcio ={{ version }}=*_{{ PKG_BUILDNUM }}
+        - grpcio {{ version }} *_{{ PKG_BUILDNUM }}

lead to build errors with 25.1. It seems that issue was fixed in 25.3; at least the above failure happens regardless of whether = or is used.

Conda Info

here for linux-64, but failure happens for all targets

++ conda info

     active environment : base
    active env location : /opt/conda
            shell level : 1
       user config file : /home/conda/.condarc
 populated config files : /opt/conda/.condarc
                          /home/conda/.condarc
          conda version : 25.1.1
    conda-build version : 25.3.0
         python version : 3.12.9.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=x86_64_v4
                          __conda=25.1.1=0
                          __glibc=2.34=0
                          __linux=6.8.0=0
                          __unix=0=0
       base environment : /opt/conda  (writable)
      conda av data dir : /opt/conda/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /home/conda/feedstock_root/build_artifacts/pkg_cache
                          /opt/conda/pkgs
       envs directories : /opt/conda/envs
                          /home/conda/.conda/envs
               platform : linux-64
             user-agent : conda/25.1.1 requests/2.32.3 CPython/3.12.9 Linux/6.8.0-1021-azure almalinux/9.5 glibc/2.34 solver/libmamba conda-libmamba-solver/25.1.1 libmambapy/2.0.7
                UID:GID : 1001:1001
             netrc file : None
           offline mode : False

Conda Config

++ conda config --env --show-sources
==> /opt/conda/.condarc <==
add_pip_as_python_dependency: False
auto_update_conda: False
aggressive_update_packages:
  - ca-certificates
  - certifi
channel_priority: strict
channels:
  - conda-forge
show_channel_urls: True
conda_build:
  pkg_format: 2
  zstd_compression_level: 19

==> /home/conda/.condarc <==
pkgs_dirs:
  - /home/conda/feedstock_root/build_artifacts/pkg_cache
  - /opt/conda/pkgs
solver: libmamba
conda-build:
  root-dir: /home/conda/feedstock_root/build_artifacts

==> envvars <==
allow_softlinks: False
bld_path: /home/conda/feedstock_root/build_artifacts

Conda list

++ conda list --show-channel-urls
# packages in environment at /opt/conda:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
anaconda-cli-base         0.5.2              pyhd8ed1ab_0    conda-forge
anaconda-client           1.13.0             pyh29332c3_1    conda-forge
annotated-types           0.7.0              pyhd8ed1ab_1    conda-forge
archspec                  0.2.5              pyhd8ed1ab_0    conda-forge
attrs                     25.3.0             pyh71513ae_0    conda-forge
beautifulsoup4            4.13.3             pyha770c72_0    conda-forge
boltons                   24.0.0             pyhd8ed1ab_1    conda-forge
brotli-python             1.1.0           py312h2ec8cdc_2    conda-forge
bzip2                     1.0.8                h4bc722e_7    conda-forge
c-ares                    1.34.4               hb9d3cd8_0    conda-forge
ca-certificates           2025.1.31            hbcca054_0    conda-forge
certifi                   2025.1.31          pyhd8ed1ab_0    conda-forge
cffi                      1.17.1          py312h06ac9bb_0    conda-forge
chardet                   5.2.0              pyhd8ed1ab_3    conda-forge
charset-normalizer        3.4.1              pyhd8ed1ab_0    conda-forge
click                     8.1.8              pyh707e725_0    conda-forge
colorama                  0.4.6              pyhd8ed1ab_1    conda-forge
conda                     25.1.1          py312h7900ff3_1    conda-forge
conda-build               25.3.0          py312h7900ff3_0    conda-forge
conda-env                 2.6.0                         1    conda-forge
conda-forge-ci-setup      4.14.4          py312hb3d6910_101    conda-forge
conda-forge-metadata      0.11.0             pyhd8ed1ab_1    conda-forge
conda-index               0.5.0              pyhd8ed1ab_0    conda-forge
conda-libmamba-solver     25.1.1             pyhd8ed1ab_0    conda-forge
conda-oci-mirror          0.2.3              pyhd8ed1ab_0    conda-forge
conda-package-handling    2.4.0              pyh7900ff3_2    conda-forge
conda-package-streaming   0.11.0             pyhd8ed1ab_1    conda-forge
cpp-expected              1.1.0                hf52228f_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
deprecated                1.2.18             pyhd8ed1ab_0    conda-forge
distro                    1.9.0              pyhd8ed1ab_1    conda-forge
filelock                  3.18.0             pyhd8ed1ab_0    conda-forge
fmt                       11.0.2               h434a139_0    conda-forge
freetype                  2.13.3               h48d6fc4_0    conda-forge
frozendict                2.4.6           py312h66e93f0_0    conda-forge
git                       2.48.1          pl5321h59d505e_0    conda-forge
h2                        4.2.0              pyhd8ed1ab_0    conda-forge
hpack                     4.1.0              pyhd8ed1ab_0    conda-forge
hyperframe                6.1.0              pyhd8ed1ab_0    conda-forge
icu                       75.1                 he02047a_0    conda-forge
idna                      3.10               pyhd8ed1ab_1    conda-forge
importlib_resources       6.5.2              pyhd8ed1ab_0    conda-forge
jinja2                    3.1.6              pyhd8ed1ab_0    conda-forge
joblib                    1.4.2              pyhd8ed1ab_1    conda-forge
jq                        1.7.1                hd590300_0    conda-forge
jsonpatch                 1.33               pyhd8ed1ab_1    conda-forge
jsonpointer               3.0.0           py312h7900ff3_1    conda-forge
jsonschema                4.23.0             pyhd8ed1ab_1    conda-forge
jsonschema-specifications 2024.10.1          pyhd8ed1ab_1    conda-forge
jupyter_core              5.7.2              pyh31011fe_1    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.21.3               h659f571_0    conda-forge
lcms2                     2.17                 h717163a_0    conda-forge
ld_impl_linux-64          2.43                 h712a8e2_4    conda-forge
lerc                      4.0.0                h27087fc_0    conda-forge
libarchive                3.7.7                h4585015_3    conda-forge
libcurl                   8.12.1               h332b0f4_0    conda-forge
libdeflate                1.23                 h4ddbbb0_0    conda-forge
libedit                   3.1.20250104    pl5321h7949ede_0    conda-forge
libev                     4.33                 hd590300_2    conda-forge
libexpat                  2.6.4                h5888daf_0    conda-forge
libffi                    3.4.6                h2dba641_0    conda-forge
libgcc                    14.2.0               h767d61c_2    conda-forge
libgcc-ng                 14.2.0               h69a702a_2    conda-forge
libgomp                   14.2.0               h767d61c_2    conda-forge
libiconv                  1.18                 h4ce23a2_1    conda-forge
libjpeg-turbo             3.0.0                hd590300_1    conda-forge
liblief                   0.14.1               h5888daf_2    conda-forge
liblzma                   5.6.4                hb9d3cd8_0    conda-forge
liblzma-devel             5.6.4                hb9d3cd8_0    conda-forge
libmamba                  2.0.7                hf3fef5c_2    conda-forge
libmambapy                2.0.7           py312h1d7e3b0_2    conda-forge
libnghttp2                1.64.0               h161d5f1_0    conda-forge
libnsl                    2.0.1                hd590300_0    conda-forge
libpng                    1.6.47               h943b412_0    conda-forge
libsolv                   0.7.30               h3509ff9_0    conda-forge
libsqlite                 3.49.1               hee588c1_2    conda-forge
libssh2                   1.11.1               hf672d98_0    conda-forge
libstdcxx                 14.2.0               h8f9b012_2    conda-forge
libstdcxx-ng              14.2.0               h4852527_2    conda-forge
libtiff                   4.7.0                hd9ff511_3    conda-forge
libuuid                   2.38.1               h0b41bf4_0    conda-forge
libwebp-base              1.5.0                h851e524_0    conda-forge
libxcb                    1.17.0               h8a09558_0    conda-forge
libxcrypt                 4.4.36               hd590300_1    conda-forge
libxml2                   2.13.6               h8d12d68_0    conda-forge
libzlib                   1.3.1                hb9d3cd8_2    conda-forge
lz4-c                     1.10.0               h5888daf_1    conda-forge
lzo                       2.10              hd590300_1001    conda-forge
mamba                     2.0.7                h3f3603c_2    conda-forge
markdown-it-py            3.0.0              pyhd8ed1ab_1    conda-forge
markupsafe                3.0.2           py312h178313f_1    conda-forge
mdurl                     0.1.2              pyhd8ed1ab_1    conda-forge
menuinst                  2.2.0           py312h7900ff3_0    conda-forge
more-itertools            10.6.0             pyhd8ed1ab_0    conda-forge
nbformat                  5.10.4             pyhd8ed1ab_1    conda-forge
ncurses                   6.5                  h2d0b736_3    conda-forge
nlohmann_json             3.11.3               he02047a_1    conda-forge
oniguruma                 6.9.10               hb9d3cd8_0    conda-forge
openjpeg                  2.5.3                h5fbd93e_0    conda-forge
openssl                   3.4.1                h7b32b05_0    conda-forge
oras-py                   0.1.14             pyhd8ed1ab_0    conda-forge
packaging                 24.2               pyhd8ed1ab_2    conda-forge
patch                     2.7.6             h7f98852_1002    conda-forge
patchelf                  0.17.2               h58526e2_0    conda-forge
pcre2                     10.44                hba22ea6_2    conda-forge
perl                      5.32.1          7_hd590300_perl5    conda-forge
pillow                    11.1.0          py312h80c1187_0    conda-forge
pip                       25.0.1             pyh8b19718_0    conda-forge
pkginfo                   1.12.1.2           pyhd8ed1ab_0    conda-forge
pkgutil-resolve-name      1.3.10             pyhd8ed1ab_2    conda-forge
platformdirs              4.3.6              pyhd8ed1ab_1    conda-forge
pluggy                    1.5.0              pyhd8ed1ab_1    conda-forge
psutil                    7.0.0           py312h66e93f0_0    conda-forge
pthread-stubs             0.4               hb9d3cd8_1002    conda-forge
py-lief                   0.14.1          py312h2ec8cdc_2    conda-forge
pybind11-abi              4                    hd8ed1ab_3    conda-forge
pycosat                   0.6.6           py312h66e93f0_2    conda-forge
pycparser                 2.22               pyh29332c3_1    conda-forge
pydantic                  2.10.6             pyh3cfb1c2_0    conda-forge
pydantic-core             2.27.2          py312h12e396e_0    conda-forge
pydantic-settings         2.8.1              pyh3cfb1c2_0    conda-forge
pygments                  2.19.1             pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1              pyha55dd90_7    conda-forge
python                    3.12.9          h9e4cc4f_1_cpython    conda-forge
python-dateutil           2.9.0.post0        pyhff2d567_1    conda-forge
python-dotenv             1.0.1              pyhd8ed1ab_1    conda-forge
python-fastjsonschema     2.21.1             pyhd8ed1ab_0    conda-forge
python-libarchive-c       5.1             py312h7900ff3_1    conda-forge
python_abi                3.12                    5_cp312    conda-forge
pytz                      2025.1             pyhd8ed1ab_0    conda-forge
pyyaml                    6.0.2           py312h178313f_2    conda-forge
rattler-build             0.39.0               h159367c_1    conda-forge
rattler-build-conda-compat 1.3.4              pyhd8ed1ab_0    conda-forge
readchar                  4.2.0              pyhd8ed1ab_1    conda-forge
readline                  8.2                  h8c095d6_2    conda-forge
referencing               0.36.2             pyh29332c3_0    conda-forge
reproc                    14.2.5.post0         hb9d3cd8_0    conda-forge
reproc-cpp                14.2.5.post0         h5888daf_0    conda-forge
requests                  2.32.3             pyhd8ed1ab_1    conda-forge
requests-toolbelt         1.0.0              pyhd8ed1ab_1    conda-forge
rich                      13.9.4             pyhd8ed1ab_1    conda-forge
ripgrep                   14.1.1               h8fae777_0    conda-forge
rpds-py                   0.23.1          py312h3b7be25_0    conda-forge
ruamel.yaml               0.18.10         py312h66e93f0_0    conda-forge
ruamel.yaml.clib          0.2.8           py312h66e93f0_1    conda-forge
setuptools                75.8.2             pyhff2d567_0    conda-forge
shellingham               1.5.4              pyhd8ed1ab_1    conda-forge
shyaml                    0.6.2              pyhd3deb0d_0    conda-forge
simdjson                  3.12.2               h84d6215_0    conda-forge
six                       1.17.0             pyhd8ed1ab_0    conda-forge
soupsieve                 2.5                pyhd8ed1ab_1    conda-forge
spdlog                    1.15.1               hb29a8c4_0    conda-forge
su-exec                   0.2               h166bdaf_1003    conda-forge
tini                      0.19.0               h166bdaf_1    conda-forge
tk                        8.6.13          noxft_h4845f30_101    conda-forge
tomli                     2.2.1              pyhd8ed1ab_1    conda-forge
tqdm                      4.67.1             pyhd8ed1ab_1    conda-forge
traitlets                 5.14.3             pyhd8ed1ab_1    conda-forge
truststore                0.10.1             pyh29332c3_0    conda-forge
typer                     0.15.2             pyhff008b6_0    conda-forge
typer-slim                0.15.2             pyh29332c3_0    conda-forge
typer-slim-standard       0.15.2               h801b22e_0    conda-forge
typing-extensions         4.12.2               hd8ed1ab_1    conda-forge
typing_extensions         4.12.2             pyha770c72_1    conda-forge
tzdata                    2025a                h78e105d_0    conda-forge
urllib3                   2.3.0              pyhd8ed1ab_0    conda-forge
wheel                     0.45.1             pyhd8ed1ab_1    conda-forge
wrapt                     1.17.2          py312h66e93f0_0    conda-forge
xorg-libxau               1.0.12               hb9d3cd8_0    conda-forge
xorg-libxdmcp             1.1.5                hb9d3cd8_0    conda-forge
xz                        5.6.4                hbcc6ac9_0    conda-forge
xz-gpl-tools              5.6.4                hbcc6ac9_0    conda-forge
xz-tools                  5.6.4                hb9d3cd8_0    conda-forge
yaml                      0.2.5                h7f98852_2    conda-forge
yaml-cpp                  0.8.0                h59595ed_0    conda-forge
zipp                      3.21.0             pyhd8ed1ab_1    conda-forge
zstandard                 0.23.0          py312h66e93f0_1    conda-forge
zstd                      1.5.7                hb8e6e7a_1    conda-forge

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    type::bugdescribes erroneous operation, use severity::* to classify the type

    Type

    No type

    Projects

    Status

    🏁 Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions