Final Package Has Additional Constraints Not Specified in `meta.yaml`
Checklist
- [X] I added a descriptive title
- [X] I searched open reports and couldn't find a duplicate
What happened?
I have a conda package I build using conda-build, where I specify the following dependencies in our meta.yaml file (somewhat simplified):
requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
host:
- python
- setuptools <63
- numpy >=1.18,<1.24
- fsspec >=2021.09
- boost-cpp =1.82
- libcurl
- hdf5 >=1.10.*,<1.13.0a0=*mpi_mpich_*
- h5py
- mpich >=3.3,<4.0.0a0=h*
- mpi4py
run:
- python
- {{ pin_compatible('numpy') }}
- fsspec >=2021.09
- libcurl
- mpich >=3.3,<4.0.0a0=h*
- mpi4py
But the output package has the following dependency version constraints (for Python 3.10 and Linux x86):
fsspec >=2021.09
hdf5 >=1.12.1,<1.12.2.0a0 mpi_mpich_*
libcurl >=8.2.1,<9.0a0
libgcc-ng >=12
libstdcxx-ng >=12
mpi4py
mpich >=3.3,<4.0.0a0 h*
mpich >=3.4.3,<5.0a0
numpy >=1.23.5,<2.0a0
python >=3.10,<3.11.0a0
python_abi 3.10.* *_cp310
There are 3 inconsistencies between the specification and actual constraints:
- libcurl is unconstrained in
meta.yamlbut is constrained to>=8.2.1,<9.0a0in the final output - mpich is constrained twice in the final output, where the second constraint is invalid
- numpy is incorrectly constrained to
>=1.23.5,<2.0a0in the final output but should be>=1.18,<1.24
Any ideas what might be causing these issues?
Conda Info
No response
Conda Config
==> /Users/****/mambaforge/.condarc <==
channels:
- conda-forge
==> /Users/****/.condarc <==
auto_activate_base: False
changeps1: False
aggressive_update_packages:
- nodefaults
remote_max_retries: 5
channels:
- conda-forge
==> cmd_line <==
debug: False
json: False
Conda list
# packages in environment at /Users/****/mambaforge:
#
# Name Version Build Channel
beautifulsoup4 4.12.2 pyha770c72_0 conda-forge
boltons 23.0.0 pyhd8ed1ab_0 conda-forge
brotlipy 0.7.0 py310h8e9501a_1005 conda-forge
bzip2 1.0.8 h3422bc3_4 conda-forge
c-ares 1.18.1 h3422bc3_0 conda-forge
ca-certificates 2022.12.7 h4653dfc_0 conda-forge
cctools 973.0.1 hd1ac623_14 conda-forge
cctools_osx-arm64 973.0.1 h2a25c60_14 conda-forge
certifi 2022.12.7 pyhd8ed1ab_0 conda-forge
cffi 1.15.1 py310h2399d43_3 conda-forge
cfgv 3.3.1 pyhd8ed1ab_0 conda-forge
chardet 5.2.0 py310hbe9552e_0 conda-forge
charset-normalizer 2.1.1 pyhd8ed1ab_0 conda-forge
click 8.1.7 unix_pyh707e725_0 conda-forge
colorama 0.4.6 pyhd8ed1ab_0 conda-forge
conda 23.7.3 py310hbe9552e_0 conda-forge
conda-build 3.26.1 py310hbe9552e_0 conda-forge
conda-index 0.2.3 pyhd8ed1ab_0 conda-forge
conda-package-handling 2.0.2 pyh38be061_0 conda-forge
conda-package-streaming 0.7.0 pyhd8ed1ab_1 conda-forge
conda-tree 1.1.0 pyhd8ed1ab_0 conda-forge
cryptography 39.0.2 py310hfc83b78_0 conda-forge
distlib 0.3.6 pyhd8ed1ab_0 conda-forge
filelock 3.9.0 pyhd8ed1ab_0 conda-forge
fmt 9.1.0 hffc8910_0 conda-forge
glob2 0.7 py_0 conda-forge
icu 70.1 h6b3803e_0 conda-forge
identify 2.5.20 pyhd8ed1ab_0 conda-forge
idna 3.4 pyhd8ed1ab_0 conda-forge
importlib-metadata 6.0.0 pyha770c72_0 conda-forge
jinja2 3.1.2 pyhd8ed1ab_1 conda-forge
jsonpatch 1.32 pyhd8ed1ab_0 conda-forge
jsonpointer 2.0 py_0 conda-forge
krb5 1.20.1 h69eda48_0 conda-forge
ld64 609 h89fa09d_14 conda-forge
ld64_osx-arm64 609 hc4dc95b_14 conda-forge
libarchive 3.6.2 h83f22c9_0 conda-forge
libcurl 8.1.2 h912dcd9_0 conda-forge
libcxx 15.0.7 h75e25f2_0 conda-forge
libedit 3.1.20191231 hc8eb9b7_2 conda-forge
libev 4.33 h642e427_1 conda-forge
libffi 3.4.2 h3422bc3_5 conda-forge
libiconv 1.17 he4db4b2_0 conda-forge
liblief 0.12.3 hb7217d7_0 conda-forge
libllvm15 15.0.7 h62b9111_1 conda-forge
libmamba 1.4.9 h4fa9c85_0 conda-forge
libmambapy 1.4.9 py310hb7070d9_0 conda-forge
libnghttp2 1.52.0 hae82a92_0 conda-forge
libsolv 0.7.24 ha614eb4_1 conda-forge
libsqlite 3.40.0 h76d750c_0 conda-forge
libssh2 1.10.0 h7a5bd25_3 conda-forge
libxml2 2.10.3 h87b0503_0 conda-forge
libzlib 1.2.13 h03a7124_4 conda-forge
lz4-c 1.9.4 hb7217d7_0 conda-forge
lzo 2.10 h642e427_1000 conda-forge
mamba 1.4.9 py310ha5d4528_0 conda-forge
markupsafe 2.1.3 py310h2aa6e3c_0 conda-forge
more-itertools 10.1.0 pyhd8ed1ab_0 conda-forge
ncurses 6.3 h07bb92c_1 conda-forge
networkx 3.0 pyhd8ed1ab_0 conda-forge
nodeenv 1.7.0 pyhd8ed1ab_0 conda-forge
openssl 3.1.1 h53f4e23_1 conda-forge
packaging 23.1 pyhd8ed1ab_0 conda-forge
patch 2.7.6 h27ca646_1002 conda-forge
pip 23.1.2 pyhd8ed1ab_0 conda-forge
pkginfo 1.9.6 pyhd8ed1ab_0 conda-forge
platformdirs 3.1.1 pyhd8ed1ab_0 conda-forge
pluggy 1.0.0 pyhd8ed1ab_5 conda-forge
pre-commit 3.0.4 py310hbe9552e_0 conda-forge
psutil 5.9.5 py310h8e9501a_0 conda-forge
py-lief 0.12.3 py310h0f1eb42_0 conda-forge
pybind11-abi 4 hd8ed1ab_3 conda-forge
pycosat 0.6.4 py310h8e9501a_1 conda-forge
pycparser 2.21 pyhd8ed1ab_0 conda-forge
pyopenssl 23.0.0 pyhd8ed1ab_0 conda-forge
pysocks 1.7.1 pyha2e5f31_6 conda-forge
python 3.10.9 h3ba56d0_0_cpython conda-forge
python-libarchive-c 5.0 py310hbe9552e_1 conda-forge
python_abi 3.10 3_cp310 conda-forge
pytz 2023.3.post1 pyhd8ed1ab_0 conda-forge
pyyaml 6.0 py310h8e9501a_5 conda-forge
readline 8.1.2 h46ed386_0 conda-forge
reproc 14.2.4 h1a8c8d9_0 conda-forge
reproc-cpp 14.2.4 hb7217d7_0 conda-forge
requests 2.28.2 pyhd8ed1ab_0 conda-forge
ripgrep 13.0.0 h65448a5_2 conda-forge
ruamel.yaml 0.17.21 py310h8e9501a_3 conda-forge
ruamel.yaml.clib 0.2.7 py310h8e9501a_1 conda-forge
setuptools 65.6.3 pyhd8ed1ab_0 conda-forge
sigtool 0.1.3 h44b9a77_0 conda-forge
six 1.16.0 pyh6c4a22f_0 conda-forge
soupsieve 2.5 pyhd8ed1ab_1 conda-forge
tapi 1100.0.11 he4954df_0 conda-forge
tk 8.6.12 he1e0b03_0 conda-forge
tomli 2.0.1 pyhd8ed1ab_0 conda-forge
toolz 0.12.0 pyhd8ed1ab_0 conda-forge
tqdm 4.65.0 pyhd8ed1ab_1 conda-forge
typing-extensions 4.5.0 hd8ed1ab_0 conda-forge
typing_extensions 4.5.0 pyha770c72_0 conda-forge
tzdata 2022g h191b570_0 conda-forge
ukkonen 1.0.1 py310h2887b22_3 conda-forge
urllib3 1.26.15 pyhd8ed1ab_0 conda-forge
virtualenv 20.21.0 pyhd8ed1ab_0 conda-forge
wheel 0.38.4 pyhd8ed1ab_0 conda-forge
xz 5.2.6 h57fd34a_0 conda-forge
yaml 0.2.5 h3422bc3_2 conda-forge
yaml-cpp 0.7.0 hb7217d7_2 conda-forge
zipp 3.15.0 pyhd8ed1ab_0 conda-forge
zstandard 0.19.0 py310had9512b_1 conda-forge
zstd 1.5.2 hf913c23_6 conda-forge
Additional Context
I build this package for 3 Python versions (3.8, 3.9, 3.10) and a couple of environments, but the issue appears in all builds. I'm generally happy to modify the dependency constraints around, but would like to confirm if this is a bug or expected behavior first.
Hi there, thank you for your contribution!
This issue has been automatically marked as stale because it has not had recent activity. It will be closed automatically if no further activity occurs.
If you would like this issue to remain open please:
- Verify that you can still reproduce the issue at hand
- Comment that the issue is still reproducible and include: - What OS and version you reproduced the issue on - What steps you followed to reproduce the issue
NOTE: If this issue was closed prematurely, please leave a comment.
Thanks!