Skip to content

Conversation

@Chiffafox
Copy link
Collaborator

Just trying to isolate the problem to 3.10 -- eliminate all other versions, remove serial tests.

Neutrino155 and others added 27 commits May 4, 2023 13:26
Test seemed to fail for v3.10 but might pass for others. Want to see if petsc and petsc4py successful compile now that pip is pinned to 23.0.1.
Suggestion from warning message: 

```DEPRECATION: petsc4py is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559```
Lets see if this one still fails to build petsc!
@matthewcarbone
Copy link
Owner

@Chiffafox any ideas here? 😁

@Chiffafox
Copy link
Collaborator Author

Chiffafox commented May 12, 2023

Basically the problem is two-fold

  • PETSc is (still) not set up to be built using wheels. The way it is supposed to work right now is it tries to build a wheel, fails, then defaults to legacy install mode via setup.py and succeeds.
  • At some point, folks behind pip decided to retire the meaning of --no-binary as "default to legacy install mode via setup.py". So that's my guess as to why, in later versions of python, we start to see a problem as pip is no longer dropping to legacy install mode.

I see two possible solutions

  • Find a way to force modern versions of pip to default to legacy install mode (working on this now).
  • Build PETSc "the right way", i.e. through ./configure and all that. (Much more painful for the user, not excited about this approach.)

I'll see what I can do to make (1) work, hopefully that solves the problem.

@Chiffafox
Copy link
Collaborator Author

Okay, I have localized it to a version change in pip: with pip version 23.0.1, petsc install works no problem. However the version used with python=3.10 appears to be pip version 23.1.2, which does not drop down to legacy install mode: I confirm this locally as well. I imagine the problem is the same for later Python versions.

Tl;DR is we need to version-lock pip to 23.0.1 or lower.

@matthewcarbone
Copy link
Owner

matthewcarbone commented May 13, 2023

It's really spooky that some random change somewhere can totally break our installation. That's not supposed to be the way versioning works. Not that I know how to fix it but honestly it should not be this difficult.

@Chiffafox wild idea: any way we can install PETSc from source or something? Would that be easier?

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.

4 participants