OpenHands icon indicating copy to clipboard operation
OpenHands copied to clipboard

[Bug]: Error running `make build` for first time

Open seekayel opened this issue 1 year ago • 4 comments

Is there an existing issue for the same bug?

  • [X] I have checked the troubleshooting document at https://opendevin.github.io/OpenDevin/modules/usage/troubleshooting
  • [X] I have checked the existing issues.

Describe the bug

On macOS the first time you run make build you get a build error until you run poetry install.

Removing the poetry virtual environment causes the error to return.

Current Version

Running current main:


% git log -1 --oneline
74e159a (HEAD -> main, origin/main, origin/HEAD) Remove screenshot from microagent prompt (#1550)


### Installation and Configuration

```bash
pyenv 2.4.0
python 3.11.9
poetry 1.8.2
macOS 14.3

Model and Agent

No response

Reproduction Steps

  1. clone Opendevin
  2. cd Opendevin
  3. pyenv local 3.11
  4. make build
  5. 💥
  6. poetry install
  7. make build
  8. 🎉

Logs, Errors, Screenshots, and Additional Context

% make build
Building project...
Checking dependencies...
Checking system...
macOS detected.
Checking Python installation...
Python 3.11.9 is already installed.
Checking npm installation...
npm 10.5.0 is already installed.
Checking Node.js installation...
Node.js 20.12.2 is already installed.
Checking Docker installation...
Docker version 26.0.0, build 2ae903e is already installed.
Checking Poetry installation...
Poetry (version 1.8.2) is already installed.
Dependencies checked successfully.
Pulling Docker image...
Using default tag: latest
latest: Pulling from opendevin/sandbox
Digest: sha256:4bd05c581692e26a448bbc6771a21bb27002cb0e6bcf5034d0db91bb8704d0f0
Status: Image is up to date for ghcr.io/opendevin/sandbox:latest
ghcr.io/opendevin/sandbox:latest

What's Next?
  View a summary of image vulnerabilities and recommendations → docker scout quickview ghcr.io/opendevin/sandbox
Docker image pulled successfully.
Installing Python dependencies...
/bin/bash: chroma-hnswlib: command not found
Installing ...
Collecting chroma-hnswlib
  Using cached chroma-hnswlib-0.7.3.tar.gz (31 kB)
  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
  ╰─> [19 lines of output]
      Traceback (most recent call last):
        File "/Users/ckl/Library/Caches/pypoetry/virtualenvs/opendevin-eTSpD6Vc-py3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/ckl/Library/Caches/pypoetry/virtualenvs/opendevin-eTSpD6Vc-py3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/Users/ckl/Library/Caches/pypoetry/virtualenvs/opendevin-eTSpD6Vc-py3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/4d/tdc577vx577cyq6110lbxqdm0000gn/T/pip-build-env-j5br1z0j/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/4d/tdc577vx577cyq6110lbxqdm0000gn/T/pip-build-env-j5br1z0j/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "/private/var/folders/4d/tdc577vx577cyq6110lbxqdm0000gn/T/pip-build-env-j5br1z0j/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 73, in <module>
        File "<string>", line 90, in BuildExt
      ValueError: list.remove(x): x not in list
      [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.
make[1]: *** [install-python-dependencies] Error 1
make: *** [build] Error 2

seekayel avatar May 03 '24 20:05 seekayel

I was able to consistently reproduce by removing the poetry virtual env. I then tried running the individual make target for install-python-dependencies

This changed the behavior.

Before:

Installing Python dependencies...
/bin/bash: chroma-hnswlib: command not found
Installing ...
Collecting chroma-hnswlib
  Using cached chroma-hnswlib-0.7.3.tar.gz (31 kB)

After:

Installing Python dependencies...
/bin/bash: chroma-hnswlib: command not found
Installing ...
Creating virtualenv opendevin-eTSpD6Vc-py3.12 in /Users/ckl/Library/Caches/pypoetry/virtualenvs
Collecting chroma-hnswlib
  Using cached chroma_hnswlib-0.7.3-cp312-cp312-macosx_14_0_arm64.whl

seekayel avatar May 03 '24 20:05 seekayel

Very strange--any thoughts on how we might solve this one? Not sure if anyone else is hitting it

rbren avatar May 03 '24 20:05 rbren

https://github.com/OpenDevin/OpenDevin/issues/879 You can check here

melihaltin avatar May 04 '24 13:05 melihaltin

opendevin-eTSpD6Vc-py3.12

Poetry used Python 3.12

SmartManoj avatar May 05 '24 06:05 SmartManoj

@SmartManoj I think that is right. Not sure why but py3.12 was getting used. Working now with py3.11. Thanks!

seekayel avatar May 22 '24 14:05 seekayel