libatlas-base-dev deprecated
I’ve seen recommendations to use libopenblas-dev as a replacement. This package does get installed already per the guide, but I’m not sure if it’s a full drop-in for Klipper’s needs.
“numpy<1.26” no longer supported on Trixie
It looks like we should move to at least NumPy 2.x on Debian Trixie. Has anyone already updated the Klipper resonance tooling to be compatible with NumPy 2.x?
So far I haven’t encountered issues outside of “Measuring Resonances”. I’d like to keep this thread as a running collection point for Trixie-related problems until we’ve identified and resolved them all.
So, you could try installing without libatlas-base-dev, perhaps? I’m unsure if that would affect very old distributions of debian, for example.
Note that until some time we did not fix Numpy version, but apparently it caused some issues in some cases, and the version was fixed. I do not think that Klipper uses any specific features that would block migration to Numpy 2.x, but I’m unsure whether this would cause any issues with some environments. Separately, this is installed via pip, does the version of debian even matter? Note that system-wide version of Numpy (installed via apt) is not fixed as per command above.
Separately, this is installed via pip, does the version of debian even matter?
The python version is here important. Per default, Trixie uses py3.13 and venv will be created with this version (per default). So its a python <> numpy issue.
So, these issues originate from the need of supporting very different versions of the OS’es and environments through a single recipe. If you are pre-building a Mainsail OS image with Klipper and its dependencies preinstalled, I see no issue just installing the latest version of Numpy for Klipper environment and skipping libatlas-base-dev installation. You’d need to check that the resonance testing still works, and report issues if it doesn’t, but I’m reasonably confident that it’ll work out.
That said, I do not have a good solution for the general case of Klipper documentation. I’m afraid that forcefully bumping Numpy version to some of 2.x.x for Klipper env will result in dropping support of some older versions of debian, which, I’m afraid, are still plenty. And I’m unsure if any environment issues reappear, and I cannot test all possible combinations myself either. The same goes for libatlas-base-dev - I suppose dropping it should be harmless for newer versions of OS’es, but I’m unsure if it could affect very old versions still around.
Do you by any chance know what some of the problems were? Right now it sounds to me like numpy couldn’t be installed into some python environments and that’s it.
If it is just about installation, then it’s pretty easy to test. Indeed it worked without any problems on our end, with the newest numpy and without libatlas-base-dev.
If it’s a problem during runtime with some weird edge cases, resulting in errors due to newer numpy versions being stricter during calculation, testing would be way harder.
Right now it’s hard for us (at least for me) to understand what the actual problem was that lead to the documentation changed and what we should test to make sure that there are no problems.
Please also run SHAPER_CALIBRATE AXIS=<..> from the Klipper console to check that this part also works as expected. But otherwise looks like everything is working fine.