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

Remove uninstallable mpifort #391

Merged
merged 2 commits into from
Feb 22, 2022
Merged

Remove uninstallable mpifort #391

merged 2 commits into from
Feb 22, 2022

Conversation

carterbox
Copy link
Member

@carterbox carterbox commented Feb 22, 2022

This specific build of mpi-fort is uninstallable because it requires the corresponding compiler build which doesn't exist? Perhaps that build was already removed for being broken, but they forgot to remove this package too?

Guidelines for marking packages as broken:

  • We prefer to patch the repo data (see here)
    instead of marking packages as broken. This alternative workflow makes environments more reproducible.
  • Packages with requirements/metadata that are too strict but otherwise work are
    not technically broken and should not be marked as such.
  • Packages with missing metadata can be marked as broken on a temporary basis
    but should be patched in the repo data and be marked unbroken later.
  • In some cases where the number of users of a package is small or it is used by
    the maintainers only, we can allow packages to be marked broken more liberally.
  • We (conda-forge/core) try to make a decision on these requests within 24 hours.

What will happen when a package is marked broken?

  • Our bots will add the broken label to the package. The main label will remain on the package and this is normal.
  • Our bots will rebuild our repodata pacthes to remove this package from the repodata.
  • In a few hours after the anaconda.org CDN picks up the new patches, you will no longer be able to install the package from the main channel.

Checklist:

  • Make sure your package is in the right spot (broken/* for adding the
    broken label, not_broken/* for removing the broken label, or token_reset/*
    for token resets)
  • Added a description of the problem with the package in the PR description.
  • Added links to any relevant issues/PRs in the PR description.
  • Pinged the team for the package for their input.

This specific build of mpi-fort is uninstallable because it requires the corresponding compiler build which doesn't exist?
@carterbox carterbox requested a review from a team as a code owner February 22, 2022 05:05
@carterbox
Copy link
Member Author

carterbox commented Feb 22, 2022

Related to conda-forge/staged-recipes#14726 because mamba has decided it needs this build of mpifort, even though there is a newer version available.

@carterbox
Copy link
Member Author

@conda-forge/openmpi

@leofang
Copy link
Member

leofang commented Feb 22, 2022

Thanks, @carterbox. Good catch. I should have done this in #17... Since you're at it, would you mind also removing openmpi-mpicc and openmpi-mpicxx with the same version and build numbers? I bet they don't work either.

@carterbox
Copy link
Member Author

carterbox commented Feb 22, 2022

openmpi-mpicc                  4.0.2      h516909a_3  conda-forge                
openmpi-mpicxx                 4.0.2      hc9558a2_3  conda-forge                
openmpi-mpifort                4.0.2      he991be0_3  conda-forge         

These are the package infos. Someone check that I got the tarball names right. The bot did it.

@hmaarrfk
Copy link
Contributor

Why can't one just leave them in here then bump the build number

@carterbox
Copy link
Member Author

There already is a newer build of these packages, but the solver chooses these old ones anyways. I don't know why.

The problem is that these packages have a pinned dependency on a build of openmpi that was already marked as broken, so they cannot be installed.

It seems better to mark these uninstallable packages as broken than to modify every recipe to avoid this specific build of these packages.

@jakirkham
Copy link
Member

Thoughts @conda-forge/core? 🙂

@hmaarrfk
Copy link
Contributor

I believe the issue is that you need to add the cuda compilers so that the recepe generates multiple build strings of mpifort
https://github.com/conda-forge/openmpi-feedstock/blob/master/recipe/meta.yaml#L99

Should look like:

        - {{ compiler('c') }}
        - {{ compiler('cxx') }}
        - {{ compiler('fortran') }}
        - {{ compiler('cuda') }}  # [linux64]

That way your build matrix gets built out.

@hmaarrfk hmaarrfk merged commit cb02202 into conda-forge:main Feb 22, 2022
@hmaarrfk
Copy link
Contributor

Hmm, nevermind. I mean honestly, probably some edge case is getting hit. I'm ok with moving on from this. But hopefully we can write some good guides to compiling with GPU support.

For one, I don't think we've documented good build string conventions and best practicies for pinning gpu/cpu.

@jakirkham
Copy link
Member

Probably best to continue that discussion in issue ( conda-forge/conda-forge.github.io#1059 ) (assuming this is covering the same thing)

@carterbox
Copy link
Member Author

The recipe that caused me the find this issue is for a non-cuda package, so I'm not sure how any of this is related.

@carterbox
Copy link
Member Author

Thanks for merging.

@jakirkham
Copy link
Member

Nor am I. Though I haven't spent any time digging into this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants