scs-python icon indicating copy to clipboard operation
scs-python copied to clipboard

No wheels for Linux aarch64 (ARM)

Open dan-blanchard opened this issue 1 year ago • 2 comments

I have noticed that when I try to install scs-python on a Linux ARM (aarch64) machine, there are no wheels for it on PyPI.

I looked into it briefly, and it appears if you follow the instructions here you should be able to pretty easily add those to your build matrix.

dan-blanchard avatar Sep 23 '24 18:09 dan-blanchard

On pypi I see arm64 wheels: https://pypi.org/project/scs/#files

Are they not working? Or are you saying that the problem is they are for mac-os rather than linux?

bodono avatar Sep 24 '24 08:09 bodono

Yeah, those are just for macOS. Linux ARM ones are called aarch64, and have to be built via emulation like in the docs I linked.

For example, if you look at the available scipy wheels, you'll see files that end with manylinux2014_aarch64.whl image

dan-blanchard avatar Sep 24 '24 10:09 dan-blanchard

Any progress on this? I am also having issues on Linux aarch64 (ARM):

uv pip install scs
Resolved 3 packages in 24ms
  × Failed to download and build `scs==3.2.7`
  ╰─▶ Build backend failed to build wheel through `build_wheel` (exit status: 1)

      [stdout]
      The Meson build system
      Version: 1.6.0
      Build type: native build
      Project name: scs
      Project version: undefined
      C compiler for the host machine: cc (gcc 12.2.0 "cc (Raspbian 12.2.0-14+rpi1) 12.2.0")
      C linker for the host machine: cc ld.bfd 2.40
      Host machine cpu family: arm
      Host machine cpu: arm
      Library openblas found: YES

      import numpy as np
      try:
        incdir = os.path.relpath(np.get_include())
      except Exception:
        incdir = np.get_include()
      print(incdir)
      '` failed with status 1.

matteoettam09 avatar Dec 09 '24 19:12 matteoettam09

This may do the trick here as well?

https://github.com/cvxpy/cvxpy/blob/096bdf1eb7c05e6c88d24d8435dceae2a2d1f816/.github/workflows/build.yml#L139

See related issue: https://github.com/cvxpy/cvxpy/issues/2048

and PR: https://github.com/cvxpy/cvxpy/pull/2054/files

matteoettam09 avatar Dec 09 '24 19:12 matteoettam09

This may do the trick here as well?

https://github.com/cvxpy/cvxpy/blob/096bdf1eb7c05e6c88d24d8435dceae2a2d1f816/.github/workflows/build.yml#L139

Do you mean adding the changes in that PR (cvxpy#2054) to the scs CI? If so, I think that's a great idea and should hopefully fix the build issues :).

Transurgeon avatar Dec 09 '24 20:12 Transurgeon

Yes, that's what I was thinking. But didn't spend a lot of time looking at the current build of scs-python (nor cvxpy), just looked into exiting issues.

May find some time to look into this during the weekend, thanks. Open to alternatives, in the meantime.

matteoettam09 avatar Dec 10 '24 13:12 matteoettam09

There is an attempt to fix this here: https://github.com/bodono/scs-python/pull/121

Hoping we can land this soon.

bodono avatar Jan 02 '25 15:01 bodono

This should be fixed now, see discussion here: https://github.com/bodono/scs-python/pull/121

bodono avatar Jan 06 '25 09:01 bodono