tensorchord/envd

bug: No linux/arm64 wheel in 0.3.37 release

eapolinario opened this issue · 3 comments

Are you use the envd server?

  • Yes, I am using the envd server.
  • No, I am not using the envd server.

Describe the bug

Since there's no arm wheel for the 0.3.37 release, when try to install envd on an arm Linux box pip tries to build the wheel locally, but that's failing because it requires go to be installed locally.

It's pretty common to use the official python slim-buster images as base images for python projects, unfortunately that image doesn't come with go preinstalled, which ends up being a problem to install that version of envd.

To Reproduce

> docker run  --rm -it python:3.11-slim-buster sh -c "apt-get update; apt-get install build-essential -y; pip install envd==0.3.37"
...
Collecting envd==0.3.37
  Downloading envd-0.3.37.tar.gz (328 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 328.6/328.6 kB 20.1 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [26 lines of output]
      bash: go: command not found
      bash: git: command not found
      bash: git: command not found
      bash: git: command not found
      bash: line 1: go: command not found
      make: *** [Makefile:104: build-release] Error 127
      Traceback (most recent call last):
        File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-wh2n0bxq/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-wh2n0bxq/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-wh2n0bxq/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 338, in run_setup
          exec(code, locals())
        File "<string>", line 103, in <module>
        File "<string>", line 78, in get_version
        File "<string>", line 44, in build_envd_if_not_found
      AssertionError: Failed to build envd
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Expected behavior

pip install envd=0.3.37 on arm linux boxes should work.

The docker info output

N/A

The envd version output

N/A

Additional context

No response

Should be possible if we enable the goarch in goreleaser. WDYT @gaocegege

Yeah, it should work, but I am not sure if envd build support ARM now.

@gaocegege , any estimates of when this might be fixed?