-
Notifications
You must be signed in to change notification settings - Fork 135
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
Unable to pip install 3.2.4 on aarch64 #258
Comments
Hi @xconverge, yes SCS 3.2.4 migrated (mostly) to the meson build system, since python 3.12 no longer supports the old setuptools way to install that SCS was using. For aarch64 I think SCS was linking against a very slow blas, so if you link against openblas it might actually be faster. Is this using pip? I don't think we can upload wheels for aarch64 from github. Previously were you running without blas? Or was it able to find a different blas library on your system somehow? Paging @enzbus who might have a better understanding. |
Hello, everything is correct there. You need to have blas installed to compile scs from source. We are distributing compiled wheels (in which we link blas statically) but not for aarch64 (if you know how to set a github CI runner for that architecture, please submit a PR in bodono/scs-python). In any case if you compile from source locally you need to have blas installed on your machine. For the last release we rewrote the python compilation code, because 3.12 removed the old |
Actually, @xconverge, could you post the output of |
Here is the output from my working system on 3.2.3
And here is me running an example from the docs with this version/system
Sorry I didn't see that other repo for the python interface, oops! |
It doesn't look good, |
|
It's a mystery, I don't see any link to |
Have you tried to solve a problem with PSD cones? |
I made a commit in my branch that turns the error you got into a warning. I'm not able to test it because if I remove pip install git+https://github.com/enzbus/scs-python ? You are right, with the old |
I assume the solver will give an exception or fail if it tries to do something utilizing blas, so I assume what I am running works for my problem and use case I will give it a try in a bit, and also am considering other solvers for my use case |
With
|
Ok I think I know what's going on, there's a compilation flag that probably needs to be unset if |
Yes, it's |
It looks to me like you were previously running without blas/lapack installed, which means you can't solve SDPs or make use of Anderson acceleration (hence the message |
@bodono I managed to run the code to compile without blas and it breaks, I need to go back in our commit history to find how it worked before (at some point we had a meson-compiled scs without blas that was still able to solve SOCPs, which I think is what @xconverge wants). |
I tried again with the latest commit (aee3f12b0dea2dd6478beaa4f626878b93f60ee8) with the same issue Regarding your questions @bodono, I am exploring my options (use a different solver that doesn't need blas, installing blas to link against, a resolution here where no blas is a warning but it works fine for my use case still, etc) I already run cvxpy-base and added scs solver (primarily due to it was what I was already using in cvxpy) independently because of licensing issues with some of the other solvers (ecos, they seem to be changing their licensing but it isn't active yet) so I am pretty adaptable to whatever changes make sense for the project as a whole 🤷 |
Another attempt you can make, @xconverge, is to clone the |
I think I will go the route of installing libopenblas-dev as part of my deployment/usage I would like to stay in the realm of what works best for you all too and isnt prone to breakage I also want to be sure I am running things the way they should for performance reasons/etc. |
Ok great, let us know if you have any problems with it. It should be a little faster too. |
Specifications
Description
I know the issue template above says
A common cause of issues is not linking BLAS/LAPACK libraries correctly. If you are having this issue please search for resources on installing and linking these libraries first. You can try openblas if you need a BLAS library.
but did something change between 3.2.3 and 3.2.4 that would relate to this?
I am now getting the following error and have reverted back to 3.2.3 with no such issues
I only have the problem on aarch64 and not my amd64 system. Both are running linux.
If I do:
sudo apt-get install libopenblas-dev
it resolves it, but this was not necessary for me before, so I am trying to understand what changed? Manually installing this dependency is not an option for me long term at the moment so I will be staying on 3.2.3 which works fine
The text was updated successfully, but these errors were encountered: