conda-forge / mpi4py-feedstock

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

Conda install failure on mpi4py 3.1.6 #71

Closed mrmundt closed 5 months ago

mrmundt commented 5 months ago

We are having issues in our CI specifically when installing mpi4py version 3.1.6 from conda. The linked run has verbosity turned up. I traced the failure to the mpi4py installation, but the logs aren't overly clear to me.

When pinned to 3.1.5, our CI runs normally, so it's something in 3.1.6.

Specifics for that run:

dalcinl commented 5 months ago

Can you provide the minimal set of steps able to reproduce the failure locally?

mrmundt commented 5 months ago

These are the most basic steps I have to recreate it - but the problem is that it really only happens on the CI. It looks like it finishes, but it doesn't have a "normal" exit code / causes the job to fail:

conda create -n test python=3.10
# Set up environment
conda config --remove channels defaults
conda config --append channels nodefaults
conda config --append channels conda-forge
# Print environment info
echo "*** CONDA environment: ***"
conda info
conda config --show-sources
conda config --show channels
conda list --show-channel-urls
which python
python --version
echo "*** Attempting install ***"
conda install --update-deps -y mpi4py

Oddly, if I amend the final line to either below... It doesn't cause the issue:

conda install --update-deps -y mpi4py || echo "Failed"
conda install --update-deps -y mpi4py && echo "Passed"

EDIT: The toy CI job I wrote to play with it is here https://github.com/mrmundt/pyomo/actions/workflows/test_mpi.yml

dalcinl commented 5 months ago

It looks like it finishes, but it doesn't have a "normal" exit code / causes the job to fail:

Can you try the following in your CI?

conda install --update-deps -y impi_rt
conda install --update-deps -y mpi4py

Does it fail in the second install when installing mpi4py, or in the first install when installing impi_rt?

PS: you should explicitly list the backend MPI implementation you want to use. In my local testing, conda install mpi4py brings openmpi, and not Intel MPI.

mrmundt commented 5 months ago

Attempted! It fails in the first install: https://github.com/mrmundt/pyomo/actions/runs/8725217048/job/23937643835

PS: Good note. We don't particularly care which is why we don't explicitly list it, but it's worth bringing up in a dev call.

dalcinl commented 5 months ago

Attempted! It fails in the first install

Therefore this means that the problem is, as I suspected, unrelated to mpi4py.

Could you try some other package different than MPI, let say NumPy for example, to confirm the failure happens with things unrelated to MPI? If the issue still occurs, I guess your next course of action is to submit an issue to https://github.com/conda-forge/miniforge.