Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CI] Resolve CI compilation failures on MacOSX #17271

Merged
merged 6 commits into from
Aug 19, 2024

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
18 of 19 checks passed
@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