Skip to content

Conversation

@Lunderberg
Copy link
Contributor

The build on main failed link with the following error message. This first occurred in the post-merge build of #17257, but the failure mode (error message below) doesn't appear related to the changes in that commit.

conda.exceptions.CondaValueError: You have chosen a non-default solver backend (libmamba) but it was not recognized.

It looks like the base environment provides `conda==24.5.0`, but the
`tvm-build` environment only provides `conda==23.9.0`, and the error
in `cargo build` is triggered from within the `tvm-build`
environment.  Seeing if it just needs to be allowed to update to a
newer `conda` version.
The `conda-build` package specifies compatibility with `conda >=
23.7`, but the `libmamba` requirement requirement isn't provided until
`23.10`.

Possibly an incompatibility, where the default solver is decided based
on the base environment's `conda` version, but the availability is
based on the `tvm-build` environment.
Since libmamba isn't available inside the generated environment
@Lunderberg
Copy link
Contributor Author

After investing, it looks like the failures were due to conda attempting to use a dependency solver that wasn't actually installed in the conda environment. This seems to result from some mix of the following:

  1. The most recent release of conda-build now defaults to using libmamba for dependency solving.
  2. The current conda-build only requires conda >= 23.7.0
  3. The libmamba library is not added as a dependency until conda >= 23.10.
  4. Some combination of the python3 versions and the cmake versions that are pinned in TVM requires that conda < 23.10.
  5. The configuration for conda-incubator/setup-miniconda@v3 applies the default value of conda-solver based on the conda version in the base environment. This is then specified as an explicit config to be used by the conda version in the tvm-build environment.

If we explicitly specify conda-solver: classic, then we avoid using the missing libmamba at all.

@Lunderberg Lunderberg marked this pull request as ready for review August 12, 2024 19:27
@Lunderberg Lunderberg changed the title [Draft] Debugging MacOSX CI failures [CI] Resolve CI compilation failures on MacOSX Aug 12, 2024
From what I can tell, batch scripts do not have an equivalent to `set
-e`, so this needs to be added to every command in the batch scripts.
@tqchen tqchen merged commit 6bcec1d into apache:main Aug 19, 2024
@Lunderberg Lunderberg deleted the ci_macosx_debugging branch August 19, 2024 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants