TileDB-Inc / tiledbsoma-feedstock

A conda-smithy repository for tiledbsoma.
BSD 3-Clause "New" or "Revised" License
3 stars 3 forks source link

Troubleshoot unexpected conda solver error #92

Closed jdblischak closed 6 months ago

jdblischak commented 7 months ago

The conda solver started unexpectantly failing. Discovered in #89. Currently blocking #91.

This is essentially a duplicate of #89, but I wanted a new PR to experiment with.

jdblischak commented 7 months ago

Going through the linux-64 build log.

BUILD START: ['libtiledbsoma-1.7.2-hd763302_0.conda', 'r-tiledbsoma-1.7.2-r43h415b3ff_0.conda', 'r-tiledbsoma-1.7.2-r42h415b3ff_0.conda', 'tiledbsoma-py-1.7.2-py39h1dd0e15_0.conda', 'tiledbsoma-py-1.7.2-py311hed971dd_0.conda', 'tiledbsoma-py-1.7.2-py38h7842824_0.conda', 'tiledbsoma-py-1.7.2-py310h1bcaa23_0.conda']

The libtiledbsoma and both r-tiledbsoma builds continue to succeed. The first tiledbsoma-py build fails to solve:

conda_libmamba_solver.exceptions.LibMambaUnsatisfiableError: Encountered problems while solving:
  - package libtiledbsoma-1.7.2-hd763302_0 requires tiledb >=2.19.1,<2.20.0a0, but none of the providers can be installed

Could not solve for environment specs
The following packages are incompatible
├─ libcurl ==8.5.0 hca28451_0 is requested and can be installed;
├─ libgoogle-cloud ==2.21.0 h72bcb37_2 is requested and can be installed;
├─ libtiledbsoma ==1.7.2 hd763302_0 is installable and it requires
│  └─ tiledb >=2.19.1,<2.20.0a0  with the potential options
│     ├─ tiledb 2.19.1 would require
│     │  └─ libgoogle-cloud >=2.12.0,<2.13.0a0 , which conflicts with any installable versions previously reported;
│     ├─ tiledb 2.19.1 would require
│     │  └─ libcurl >=7.88.1,<8.0a0 , which conflicts with any installable versions previously reported;
│     └─ tiledb 2.19.1 would require
│        └─ openssl >=1.1.1w,<1.1.2a , which can be installed;
└─ openssl ==3.2.1 hd590300_0 is not installable because it conflicts with any installable versions previously reported.

So something in the Python env is now requiring libgoogle-cloud 2.21. Why can't conda find the previously suitable dependency that works with libgoogle-cloud 2.12? I don't know. Why do we get a similar error when building against tiledb 2.20 which is built against libgoogle-cloud 2.21? Again I don't know.

One possible idea is to backport the libgoogle-cloud 2.21 migration to tiledb 2.19. That might be able to fix this solver error, but it wouldn't do anything to help with the solver error with tiledb 2.20 in #91