[Bug]: Error running `make build` for first time
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
- clone Opendevin
cd Opendevinpyenv local 3.11make build- 💥
poetry installmake build- 🎉
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
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
Very strange--any thoughts on how we might solve this one? Not sure if anyone else is hitting it
https://github.com/OpenDevin/OpenDevin/issues/879 You can check here
opendevin-eTSpD6Vc-py3.12
Poetry used Python 3.12
@SmartManoj I think that is right. Not sure why but py3.12 was getting used. Working now with py3.11. Thanks!