conda-forge / petsc-feedstock

A conda-smithy repository for petsc.
BSD 3-Clause "New" or "Revised" License
8 stars 23 forks source link

Rebuild for suitesparse 7 #199

Closed regro-cf-autotick-bot closed 3 months ago

regro-cf-autotick-bot commented 3 months ago

This PR has been triggered in an effort to update suitesparse7.

Notes and instructions for merging this PR:

  1. Please merge the PR only after the tests have passed.
  2. Feel free to push to the bot's branch to update this PR if needed.

Please note that if you close this PR we presume that the feedstock has been rebuilt, so if you are going to perform the rebuild yourself don't close this PR until the your rebuild has been merged.


If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase code>@<space/conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/cf-scripts/actions/runs/9070857844 - please use this URL for debugging.

conda-forge-webservices[bot] commented 3 months ago

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) and found it was in an excellent condition.

dalcinl commented 3 months ago

@minrk I this something that we should report upstream? PETSc is supposed to figure out includes and libs automatically. Or is the suitesparse somehow packaged here in a somewhat non standard way?

minrk commented 3 months ago

It is packaged in suitesparse's default way, which is to put headers in $PREFIX/include/suitesparse. It is also findable with pkg-config or cmake. I'm not sure what petsc expects to handle.

It does seem weird that you aren't allowed to specify include without also specifying lib.

Maybe there's a prefix arg I missed, like suitesparse-dir that I should have used? It looks like petsc knows about the suitesparse suffix, it just doesn't know what prefix to append it to.

dalcinl commented 3 months ago

Maybe there's a prefix arg I missed, like suitesparse-dir that I should have used?

Yes, there is: --with-suitesparse-dir=<dir>

It looks like petsc knows about the suitesparse suffix, it just doesn't know what prefix to append it to.

That's the weird part indeed, as everything is installed in $PREFIX, PETSc should find it.

dalcinl commented 3 months ago

@balay Are you aware of any recent change that may prevent PETSc to properly configure with an external suitesparse if given just --with-suitesparse=1 ?

balay commented 3 months ago

Lots of discussions at https://gitlab.com/petsc/petsc/-/merge_requests/7104

With suitesparse's preferred mode of install/usage - its not possible to always automatically detect it. [without extra options]

Normally compiler installs should be at PREFIX=/usr - and that should work. Any other location - --with-suitesparse-dir=LOC should work.

But yeah - if include/lib options are known - then its best to use that - instead of asking configure to guess..

minrk commented 3 months ago

with-suitesparse-dir is what I missed, I bet that will work.

minrk commented 3 months ago

Is there an --everything-dir to add a prefix to the search path for every dependency?

balay commented 3 months ago

currently there is no such option

minrk commented 3 months ago

@balay thanks, not the biggest deal. Feature request submitted.