Skip to content

reactivate trilinos recipe#56

Merged
h-vetinari merged 16 commits into
conda-forge:mainfrom
rfiorella:main
Aug 12, 2025
Merged

reactivate trilinos recipe#56
h-vetinari merged 16 commits into
conda-forge:mainfrom
rfiorella:main

Conversation

@rfiorella
Copy link
Copy Markdown
Contributor

@rfiorella rfiorella commented Jul 26, 2025

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@rfiorella rfiorella requested a review from pyt-viper as a code owner July 26, 2025 00:36
@conda-forge-admin
Copy link
Copy Markdown
Contributor

conda-forge-admin commented Jul 26, 2025

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found some lint.

Here's what I've got...

For recipe/meta.yaml:

For recipe/meta.yaml:

  • ℹ️ The boost-cpp output has been superseded by libboost-devel (as of 1.82), which now comes with a run-export (on libboost) as well. In case you only needed the boost headers, you should use libboost-headers.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/16534144520. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

@rfiorella
Copy link
Copy Markdown
Contributor Author

Awaiting merge of updated kokkos-kernels feedstock, as macOS packages require dependency update

@rfiorella
Copy link
Copy Markdown
Contributor Author

@conda-forge-admin, please restart ci

rfiorella and others added 2 commits August 4, 2025 08:18
Add kokkos and kokkos-kernels to host and run to grab newer versions
@conda-forge-admin
Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I failed to even lint the recipe, probably because of a conda-smithy bug 😢. This likely indicates a problem in your meta.yaml, though. To get a traceback to help figure out what's going on, install conda-smithy and run conda smithy recipe-lint --conda-forge . from the recipe directory. You can also examine the workflow logs for more detail.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/16735958441. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

@conda-forge-admin
Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found some lint.

Here's what I've got...

For recipe/meta.yaml:

  • requirements: host: kokkos == 4.2.01 should not contain a space between relational operator and the version, i.e. kokkos ==4.2.01
  • requirements: host: kokkos-kernels == 4.2.01 should not contain a space between relational operator and the version, i.e. kokkos-kernels ==4.2.01
  • requirements: run: kokkos == 4.2.01 should not contain a space between relational operator and the version, i.e. kokkos ==4.2.01
  • requirements: run: kokkos-kernels == 4.2.01 should not contain a space between relational operator and the version, i.e. kokkos-kernels ==4.2.01

For recipe/meta.yaml:

  • ℹ️ top-level output has some malformed specs:
  • In section host: kokkos == 4.2.01, kokkos-kernels == 4.2.01
  • In section run: kokkos == 4.2.01, kokkos-kernels == 4.2.01
    Requirement spec fields should match the syntax name [version [build]]to avoid known issues in conda-build. For example, instead of name =version=build, use name version.* build. There should be no spaces between version operators and versions either: python >= 3.8 should be python >=3.8.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/16881216746. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

Add maintainer documentation flag regarding newer SDKs
@rfiorella rfiorella changed the title [WIP] reactivate trilinos recipe reactivate trilinos recipe Aug 12, 2025
@rfiorella
Copy link
Copy Markdown
Contributor Author

@conda-forge/core ready to go! (ref #54).

Not the most recent release of trilinos, but there are a lot of deprecation notices in v16 and I figured it would be better to get a more recent version than is on conda-forge out sooner. I'll work to get it current in the next few months.

Copy link
Copy Markdown
Member

@h-vetinari h-vetinari left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks pretty good, thanks for stepping up!

Comment thread recipe/meta.yaml
- kokkos ==4.2.01
- kokkos-kernels ==4.2.01
run_constrained:
- pytrilinos ==999999999
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are you planning to update pytrilinos as well? See conda-forge/pytrilinos-feedstock#4 and discussion here

Copy link
Copy Markdown
Contributor Author

@rfiorella rfiorella Aug 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pytrilinos is one of the packages that's being deprecated for trilinos>16.1, in favor of pytrilinos2.

In principle I'm not opposed to doing so, but I probably won't get to it for another month or so, but curious if the upgrade to pytrilinos2 should just be done in the existing feedstock, or as a new recipe.

That said, there are multiple other packages that could be split this way from trilinos (e.g., Kokkos and Kokkos-kernels already have been, SEACAS could be (e.g., conda-forge/staged-recipes#30623) etc. I'm wondering if there is a preference to try to split out all of the potential TPLs from "meta-packages" like trilinos as their own recipe and just link to the other TPLs, or to have them more self contained? If the former, I could start to pick at this in spare time over the next several months.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, we prefer to avoid monolithic monster packages, but rather splitting things up into relevant stand-alone components, at least where those have other uses/users (e.g. like kokkos).

pytrilinos is one of the packages that's being deprecated for trilinos>16.1, in favor of pytrilinos2.

I mean, is it just the name of the PyPI package or the python import name that changed? We could still provide a current pytrilinos on top of trilinos, and then add a "compatibility wrapper" for those people that somehow expect pytrilinos2, e.g.

outputs:
  - name: pytrilinos
    # [... the actual build ...]

  # compat wrapper for new package name
  - name: pytrilinos2
    requirements:
      host:
        - {{ pin_subpackage("pytrilinos") }}
      run:
        - {{ pin_subpackage("pytrilinos") }}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure of the answer to your question, I'll have to look into it. The compatibility wrapper is a nice idea though, thanks!

Comment thread recipe/meta.yaml
Comment on lines +34 to +35
- kokkos ==4.2.01
- kokkos-kernels ==4.2.01
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add a comment why this needs to be pinned so tightly?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The short answer is that the build with both packages constrained to >=4.2.0, <5 failed because the version appears to be pinned pretty tightly within Trilinos cmake.

The previous recipe version built Kokkos and kokkos-kernels as part of trilinos, and I had been thinking it would be more space efficient to just link them but hadn't realized beforehand they were so tightly pinned within trilinos.

Copy link
Copy Markdown
Member

@h-vetinari h-vetinari left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, let's try this! 😅

@h-vetinari h-vetinari merged commit 02bf2a1 into conda-forge:main Aug 12, 2025
7 checks passed
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.

3 participants