conda-forge / conda-smithy

The tool for managing conda-forge feedstocks.
https://conda-forge.org/
BSD 3-Clause "New" or "Revised" License
152 stars 183 forks source link

Can't add item to build matrix into frozenset #2129

Open ZzEeKkAa opened 1 week ago

ZzEeKkAa commented 1 week ago

Solution to issue cannot be found in the documentation.

Issue

I'm trying to add dpcpp compiler build for pytorch and unable to add because it creates a new item of build matrix. If I try to link c_compiler_version with dpcpp_compiler_version, I'm getting

INFO:conda_smithy.configure_feedstock:Applying migrations: /home/jovyan/.cache/conda-smithy/share/conda-forge/migrations/mkl2024.yaml,/home/jovyan/.cache/conda-smithy/share/conda-forge/migrations/numpy2.yaml,/home/jovyan/.cache/conda-smithy/share/conda-forge/migrations/python313.yaml,/home/jovyan/.cache/conda-smithy/share/conda-forge/migrations/libgrpc167_libprotobuf5282.yaml
Traceback (most recent call last):
  File "/home/jovyan/.miniforge3/envs/conda-forge/bin/conda-smithy", line 10, in <module>
    sys.exit(main())
  File "/home/jovyan/.miniforge3/envs/conda-forge/lib/python3.10/site-packages/conda_smithy/cli.py", line 758, in main
    args.subcommand_func(args)
  File "/home/jovyan/.miniforge3/envs/conda-forge/lib/python3.10/site-packages/conda_smithy/cli.py", line 599, in __call__
    self._call(args, tmpdir)
  File "/home/jovyan/.miniforge3/envs/conda-forge/lib/python3.10/site-packages/conda_smithy/cli.py", line 604, in _call
    configure_feedstock.main(
  File "/home/jovyan/.miniforge3/envs/conda-forge/lib/python3.10/site-packages/conda_smithy/configure_feedstock.py", line 2876, in main
    render_azure(env, config, forge_dir, return_metadata=True)
  File "/home/jovyan/.miniforge3/envs/conda-forge/lib/python3.10/site-packages/conda_smithy/configure_feedstock.py", line 1900, in render_azure
    return _render_ci_provider(
  File "/home/jovyan/.miniforge3/envs/conda-forge/lib/python3.10/site-packages/conda_smithy/configure_feedstock.py", line 1138, in _render_ci_provider
    metas = _conda_build_api_render_for_smithy(
  File "/home/jovyan/.miniforge3/envs/conda-forge/lib/python3.10/site-packages/conda_smithy/configure_feedstock.py", line 938, in _conda_build_api_render_for_smithy
    metadata_tuples = render_recipe(
  File "/home/jovyan/.miniforge3/envs/conda-forge/lib/python3.10/site-packages/conda_build/render.py", line 1001, in render_recipe
    variants = get_package_variants(m, variants=variants)
  File "/home/jovyan/.miniforge3/envs/conda-forge/lib/python3.10/site-packages/conda_build/variants.py", line 697, in get_package_variants
    combined_spec, specs = get_package_combined_spec(
  File "/home/jovyan/.miniforge3/envs/conda-forge/lib/python3.10/site-packages/conda_build/variants.py", line 661, in get_package_combined_spec
    validate_spec(f, spec)
  File "/home/jovyan/.miniforge3/envs/conda-forge/lib/python3.10/site-packages/conda_build/variants.py", line 200, in validate_spec
    raise ValueError(
ValueError: Variant configuration errors in argument_variants:
  zip_key entry c_stdlib_version in group frozenset({'c_stdlib_version', 'fortran_compiler_version', 'docker_image', 'cuda_compiler_version', 'c_compiler_version', 'cxx_compiler_version', 'cuda_compiler'}) is a duplicate, keys can only occur in one group

Installed packages

# packages in environment at /home/jovyan/.miniforge3/envs/conda-forge:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
anyio                     4.6.2.post1        pyhd8ed1ab_0    conda-forge
archspec                  0.2.3              pyhd8ed1ab_0    conda-forge
attrs                     24.2.0             pyh71513ae_0    conda-forge
backports                 1.0                pyhd8ed1ab_4    conda-forge
backports.strenum         1.3.1              pyhd8ed1ab_0    conda-forge
backports.tarfile         1.0.0              pyhd8ed1ab_1    conda-forge
beautifulsoup4            4.12.3             pyha770c72_0    conda-forge
blinker                   1.8.2              pyhd8ed1ab_0    conda-forge
boltons                   24.0.0             pyhd8ed1ab_0    conda-forge
boolean.py                4.0                pyhd8ed1ab_0    conda-forge
brotli-python             1.1.0           py310hf71b8c6_2    conda-forge
bzip2                     1.0.8                h4bc722e_7    conda-forge
c-ares                    1.34.2               heb4867d_0    conda-forge
ca-certificates           2024.8.30            hbcca054_0    conda-forge
certifi                   2024.8.30          pyhd8ed1ab_0    conda-forge
cffi                      1.17.1          py310h8deb56e_0    conda-forge
chardet                   5.2.0           py310hff52083_2    conda-forge
charset-normalizer        3.4.0              pyhd8ed1ab_0    conda-forge
cirun                     0.30               pyhd8ed1ab_0    conda-forge
click                     8.1.7           unix_pyh707e725_0    conda-forge
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
conda                     24.9.2          py310hff52083_0    conda-forge
conda-build               24.9.0          py310hff52083_0    conda-forge
conda-forge-pinning       2024.11.05.21.36.17      hd8ed1ab_0    conda-forge
conda-index               0.5.0              pyhd8ed1ab_0    conda-forge
conda-libmamba-solver     24.9.0             pyhd8ed1ab_0    conda-forge
conda-package-handling    2.4.0              pyh7900ff3_0    conda-forge
conda-package-streaming   0.11.0             pyhd8ed1ab_0    conda-forge
conda-smithy              3.44.2          unix_pyhd81877a_0    conda-forge
cryptography              43.0.3          py310h6c63255_0    conda-forge
dbus                      1.13.6               h5008d03_3    conda-forge
deprecated                1.2.14             pyh1a96a4e_0    conda-forge
distlib                   0.3.9              pyhd8ed1ab_0    conda-forge
distro                    1.9.0              pyhd8ed1ab_0    conda-forge
editables                 0.5                pyhd8ed1ab_0    conda-forge
exceptiongroup            1.2.2              pyhd8ed1ab_0    conda-forge
expat                     2.6.3                h5888daf_0    conda-forge
filelock                  3.16.1             pyhd8ed1ab_0    conda-forge
fmt                       11.0.2               h434a139_0    conda-forge
frozendict                2.4.6           py310ha75aee5_0    conda-forge
git                       2.47.0          pl5321h59d505e_0    conda-forge
gitdb                     4.0.11             pyhd8ed1ab_0    conda-forge
gitpython                 3.1.43             pyhd8ed1ab_0    conda-forge
gmp                       6.3.0                hac33072_2    conda-forge
h11                       0.14.0             pyhd8ed1ab_0    conda-forge
h2                        4.1.0              pyhd8ed1ab_0    conda-forge
hatch                     1.13.0             pyhd8ed1ab_0    conda-forge
hatchling                 1.25.0             pyhd8ed1ab_0    conda-forge
hpack                     4.0.0              pyh9f0ad1d_0    conda-forge
httpcore                  1.0.6              pyhd8ed1ab_0    conda-forge
httpx                     0.27.2             pyhd8ed1ab_0    conda-forge
hyperframe                6.0.1              pyhd8ed1ab_0    conda-forge
hyperlink                 21.0.0             pyhd3deb0d_0    conda-forge
idna                      3.10               pyhd8ed1ab_0    conda-forge
importlib-metadata        8.5.0              pyha770c72_0    conda-forge
importlib_resources       6.4.5              pyhd8ed1ab_0    conda-forge
isodate                   0.7.2              pyhd8ed1ab_0    conda-forge
jaraco.classes            3.4.0              pyhd8ed1ab_1    conda-forge
jaraco.context            5.3.0              pyhd8ed1ab_1    conda-forge
jaraco.functools          4.0.0              pyhd8ed1ab_0    conda-forge
jeepney                   0.8.0              pyhd8ed1ab_0    conda-forge
jinja2                    3.1.4              pyhd8ed1ab_0    conda-forge
jsonpatch                 1.33               pyhd8ed1ab_0    conda-forge
jsonpointer               3.0.0           py310hff52083_1    conda-forge
jsonschema                4.23.0             pyhd8ed1ab_0    conda-forge
jsonschema-specifications 2024.10.1          pyhd8ed1ab_0    conda-forge
keyring                   25.5.0             pyha804496_0    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.21.3               h659f571_0    conda-forge
ld_impl_linux-64          2.43                 h712a8e2_2    conda-forge
libarchive                3.7.4                hfca40fe_0    conda-forge
libcurl                   8.10.1               hbbe4b11_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 hd590300_2    conda-forge
libexpat                  2.6.3                h5888daf_0    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc                    14.2.0               h77fa898_1    conda-forge
libgcc-ng                 14.2.0               h69a702a_1    conda-forge
libglib                   2.82.2               h2ff4ddf_0    conda-forge
libgomp                   14.2.0               h77fa898_1    conda-forge
libiconv                  1.17                 hd590300_2    conda-forge
liblief                   0.14.1               h5888daf_2    conda-forge
libmamba                  1.5.10               hf72d635_1    conda-forge
libmambapy                1.5.10          py310h6639945_1    conda-forge
libnghttp2                1.64.0               h161d5f1_0    conda-forge
libnsl                    2.0.1                hd590300_0    conda-forge
libsodium                 1.0.20               h4ab18f5_0    conda-forge
libsolv                   0.7.30               h3509ff9_0    conda-forge
libsqlite                 3.47.0               hadc24fc_1    conda-forge
libssh2                   1.11.0               h0841786_0    conda-forge
libstdcxx                 14.2.0               hc0a3c3a_1    conda-forge
libstdcxx-ng              14.2.0               h4852527_1    conda-forge
libuuid                   2.38.1               h0b41bf4_0    conda-forge
libxcrypt                 4.4.36               hd590300_1    conda-forge
libxml2                   2.13.4               h064dc61_2    conda-forge
libzlib                   1.3.1                hb9d3cd8_2    conda-forge
license-expression        30.3.1             pyhd8ed1ab_0    conda-forge
lz4-c                     1.9.4                hcb278e6_0    conda-forge
lzo                       2.10              hd590300_1001    conda-forge
markdown-it-py            3.0.0              pyhd8ed1ab_0    conda-forge
markupsafe                3.0.2           py310h89163eb_0    conda-forge
mdurl                     0.1.2              pyhd8ed1ab_0    conda-forge
menuinst                  2.1.2           py310hff52083_1    conda-forge
more-itertools            10.5.0             pyhd8ed1ab_0    conda-forge
msrest                    0.6.21             pyh44b312d_0    conda-forge
ncurses                   6.5                  he02047a_1    conda-forge
oauthlib                  3.2.2              pyhd8ed1ab_0    conda-forge
openssl                   3.3.2                hb9d3cd8_0    conda-forge
packaging                 24.1               pyhd8ed1ab_0    conda-forge
patch                     2.7.6             h7f98852_1002    conda-forge
patchelf                  0.17.2               h58526e2_0    conda-forge
pathspec                  0.12.1             pyhd8ed1ab_0    conda-forge
pcre2                     10.44                hba22ea6_2    conda-forge
perl                      5.32.1          7_hd590300_perl5    conda-forge
pexpect                   4.9.0              pyhd8ed1ab_0    conda-forge
pip                       24.3.1             pyh8b19718_0    conda-forge
pkginfo                   1.11.2             pyhd8ed1ab_0    conda-forge
pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
platformdirs              4.3.6              pyhd8ed1ab_0    conda-forge
pluggy                    1.5.0              pyhd8ed1ab_0    conda-forge
psutil                    6.1.0           py310ha75aee5_0    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
py-lief                   0.14.1          py310hf71b8c6_2    conda-forge
pybind11-abi              4                    hd8ed1ab_3    conda-forge
pycosat                   0.6.6           py310h2372a71_0    conda-forge
pycparser                 2.22               pyhd8ed1ab_0    conda-forge
pycryptodome              3.21.0          py310hb390ff4_0    conda-forge
pygithub                  2.4.0              pyhd8ed1ab_0    conda-forge
pygments                  2.18.0             pyhd8ed1ab_0    conda-forge
pyjwt                     2.9.0              pyhd8ed1ab_1    conda-forge
pynacl                    1.5.0           py310ha75aee5_4    conda-forge
pysocks                   1.7.1              pyha2e5f31_6    conda-forge
python                    3.10.15         h4a871b0_2_cpython    conda-forge
python-dateutil           2.9.0              pyhd8ed1ab_0    conda-forge
python-libarchive-c       5.1             py310hff52083_1    conda-forge
python_abi                3.10                    5_cp310    conda-forge
pytz                      2024.2             pyhd8ed1ab_0    conda-forge
pyyaml                    6.0.2           py310ha75aee5_1    conda-forge
rattler-build             0.29.0               h51b9b6e_0    conda-forge
rattler-build-conda-compat 1.2.2              pyhd8ed1ab_0    conda-forge
readline                  8.2                  h8228510_1    conda-forge
referencing               0.35.1             pyhd8ed1ab_0    conda-forge
reproc                    14.2.4.post0         hd590300_1    conda-forge
reproc-cpp                14.2.4.post0         h59595ed_1    conda-forge
requests                  2.32.3             pyhd8ed1ab_0    conda-forge
requests-oauthlib         2.0.0              pyhd8ed1ab_0    conda-forge
rich                      13.9.4             pyhd8ed1ab_0    conda-forge
ripgrep                   14.1.1               h8fae777_0    conda-forge
rpds-py                   0.20.1          py310h505e2c1_0    conda-forge
ruamel.yaml               0.18.6          py310ha75aee5_1    conda-forge
ruamel.yaml.clib          0.2.8           py310ha75aee5_1    conda-forge
scrypt                    0.8.27          py310h6ec971a_0    conda-forge
secretstorage             3.3.3           py310hff52083_3    conda-forge
setuptools                75.3.0             pyhd8ed1ab_0    conda-forge
shellingham               1.5.4              pyhd8ed1ab_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
smmap                     5.0.0              pyhd8ed1ab_0    conda-forge
sniffio                   1.3.1              pyhd8ed1ab_0    conda-forge
soupsieve                 2.5                pyhd8ed1ab_1    conda-forge
tk                        8.6.13          noxft_h4845f30_101    conda-forge
tomli                     2.0.2              pyhd8ed1ab_0    conda-forge
tomli-w                   1.1.0              pyhd8ed1ab_0    conda-forge
tomlkit                   0.13.2             pyha770c72_0    conda-forge
toolz                     1.0.0              pyhd8ed1ab_0    conda-forge
tqdm                      4.66.6             pyhd8ed1ab_0    conda-forge
trove-classifiers         2024.10.21.16      pyhd8ed1ab_0    conda-forge
truststore                0.10.0             pyhd8ed1ab_0    conda-forge
typer                     0.12.5             pyhd8ed1ab_0    conda-forge
typer-slim                0.12.5             pyhd8ed1ab_0    conda-forge
typer-slim-standard       0.12.5               hd8ed1ab_0    conda-forge
typing-extensions         4.12.2               hd8ed1ab_0    conda-forge
typing_extensions         4.12.2             pyha770c72_0    conda-forge
tzdata                    2024b                hc8b5060_0    conda-forge
urllib3                   2.2.3              pyhd8ed1ab_0    conda-forge
userpath                  1.7.0              pyhd8ed1ab_0    conda-forge
uv                        0.4.30               h0f3a69f_0    conda-forge
virtualenv                20.27.1            pyhd8ed1ab_0    conda-forge
vsts-python-api           0.1.25             pyhd8ed1ab_1    conda-forge
wheel                     0.44.0             pyhd8ed1ab_0    conda-forge
wrapt                     1.16.0          py310ha75aee5_1    conda-forge
xz                        5.2.6                h166bdaf_0    conda-forge
yaml                      0.2.5                h7f98852_2    conda-forge
yaml-cpp                  0.8.0                h59595ed_0    conda-forge
zipp                      3.20.2             pyhd8ed1ab_0    conda-forge
zstandard                 0.23.0          py310ha39cb0e_1    conda-forge
zstd                      1.5.6                ha6fb4c9_0    conda-forge

Environment info

active environment : conda-forge
    active env location : /home/jovyan/.miniforge3/envs/conda-forge
            shell level : 1
       user config file : /home/jovyan/.condarc
 populated config files : /home/jovyan/.miniforge3/.condarc
                          /home/jovyan/.conda/.condarc
          conda version : 24.9.2
    conda-build version : 24.9.0
         python version : 3.10.14.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=sapphirerapids
                          __conda=24.9.2=0
                          __glibc=2.35=0
                          __linux=5.15.0=0
                          __unix=0=0
       base environment : /home/jovyan/.miniforge3  (writable)
      conda av data dir : /home/jovyan/.miniforge3/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/jovyan/.miniforge3/pkgs
                          /home/jovyan/.conda/pkgs
       envs directories : /home/jovyan/.miniforge3/envs
                          /home/jovyan/.conda/envs
               platform : linux-64
             user-agent : conda/24.9.2 requests/2.31.0 CPython/3.10.14 Linux/5.15.0-124-generic ubuntu/22.04.5 glibc/2.35 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.8
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False
isuruf commented 1 week ago

Do you have an example PR?

ZzEeKkAa commented 1 week ago

@isuruf https://github.com/conda-forge/pytorch-cpu-feedstock/pull/290