I am trying to do a clean new install of review board. I have resolved a number of issues already but have not been able to resolve. The output from pip is:
# pip3 install ReviewBoard --root-user-action=ignore
Collecting ReviewBoard
Using cached ReviewBoard-6.0.1-py3-none-any.whl.metadata (10 kB)
Collecting bleach~=6.0.0 (from ReviewBoard)
Using cached bleach-6.0.0-py3-none-any.whl (162 kB)
Collecting cryptography~=41.0.4 (from ReviewBoard)
Using cached cryptography-41.0.7.tar.gz (630 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting django-braces==1.13.0 (from ReviewBoard)
Using cached django_braces-1.13.0-py2.py3-none-any.whl (15 kB)
Collecting django-cors-headers~=3.11.0 (from ReviewBoard)
Using cached django_cors_headers-3.11.0-py3-none-any.whl (12 kB)
Collecting django-haystack~=3.2.1 (from ReviewBoard)
Using cached django-haystack-3.2.1.tar.gz (466 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting django-multiselectfield~=0.1.12 (from ReviewBoard)
Using cached django_multiselectfield-0.1.12-py3-none-any.whl (15 kB)
Collecting django-evolution~=2.2 (from ReviewBoard)
Using cached django_evolution-2.3-py2.py3-none-any.whl.metadata (5.9 kB)
Collecting django-oauth-toolkit~=1.6.3 (from ReviewBoard)
Using cached django_oauth_toolkit-1.6.3-py3-none-any.whl (62 kB)
Collecting Django~=3.2.22 (from ReviewBoard)
Using cached Django-3.2.23-py3-none-any.whl.metadata (4.1 kB)
Collecting Djblets~=4.0 (from ReviewBoard)
Using cached Djblets-4.0-py3-none-any.whl.metadata (11 kB)
Collecting docutils (from ReviewBoard)
Using cached docutils-0.20.1-py3-none-any.whl.metadata (2.8 kB)
Collecting markdown~=3.3.7 (from ReviewBoard)
Using cached Markdown-3.3.7-py3-none-any.whl (97 kB)
Collecting mimeparse~=0.1.3 (from ReviewBoard)
Using cached mimeparse-0.1.3.tar.gz (4.4 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting packaging>=23.1 (from ReviewBoard)
Using cached packaging-23.2-py3-none-any.whl.metadata (3.2 kB)
Collecting paramiko>=1.12 (from ReviewBoard)
Using cached paramiko-3.4.0-py3-none-any.whl.metadata (4.4 kB)
Collecting pydiffx~=1.1 (from ReviewBoard)
Using cached pydiffx-1.1-py2.py3-none-any.whl (56 kB)
Collecting Pygments~=2.14.0 (from ReviewBoard)
Using cached Pygments-2.14.0-py3-none-any.whl (1.1 MB)
Collecting pymdown-extensions~=6.3.0 (from ReviewBoard)
Using cached pymdown_extensions-6.3-py2.py3-none-any.whl (198 kB)
Collecting pymemcache (from ReviewBoard)
Using cached pymemcache-4.0.0-py2.py3-none-any.whl (60 kB)
Collecting pyOpenSSL~=23.2.0 (from ReviewBoard)
Using cached pyOpenSSL-23.2.0-py3-none-any.whl.metadata (10 kB)
Collecting pytz>=2015.2 (from ReviewBoard)
Using cached pytz-2023.3.post1-py2.py3-none-any.whl.metadata (22 kB)
Collecting rbintegrations~=3.1 (from ReviewBoard)
Using cached rbintegrations-3.1.1-py3-none-any.whl.metadata (5.7 kB)
Collecting requests-oauthlib<=1.0,>=0.8 (from ReviewBoard)
Using cached requests_oauthlib-1.0.0-py2.py3-none-any.whl (21 kB)
Collecting Whoosh>=2.6 (from ReviewBoard)
Using cached Whoosh-2.7.4-py2.py3-none-any.whl (468 kB)
Collecting six>=1.9.0 (from bleach~=6.0.0->ReviewBoard)
Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting webencodings (from bleach~=6.0.0->ReviewBoard)
Using cached webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Requirement already satisfied: cffi>=1.12 in /usr/opt/python3/lib/python3.9/site-packages (from cryptography~=41.0.4->ReviewBoard) (1.16.0)
Collecting asgiref<4,>=3.3.2 (from Django~=3.2.22->ReviewBoard)
Using cached asgiref-3.7.2-py3-none-any.whl.metadata (9.2 kB)
Collecting sqlparse>=0.2.2 (from Django~=3.2.22->ReviewBoard)
Using cached sqlparse-0.4.4-py3-none-any.whl (41 kB)
Collecting requests>=2.13.0 (from django-oauth-toolkit~=1.6.3->ReviewBoard)
Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting oauthlib>=3.1.0 (from django-oauth-toolkit~=1.6.3->ReviewBoard)
Using cached oauthlib-3.2.2-py3-none-any.whl (151 kB)
Collecting jwcrypto>=0.8.0 (from django-oauth-toolkit~=1.6.3->ReviewBoard)
Using cached jwcrypto-1.5.1.tar.gz (86 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting django-pipeline~=2.0.9 (from Djblets~=4.0->ReviewBoard)
Using cached django_pipeline-2.0.9-py3-none-any.whl (37 kB)
Collecting dnspython>=2.3.0 (from Djblets~=4.0->ReviewBoard)
Using cached dnspython-2.4.2-py3-none-any.whl.metadata (4.9 kB)
Collecting feedparser>=6.0.9 (from Djblets~=4.0->ReviewBoard)
Using cached feedparser-6.0.11-py3-none-any.whl.metadata (2.4 kB)
Collecting housekeeping~=1.1 (from Djblets~=4.0->ReviewBoard)
Using cached housekeeping-1.1-py3-none-any.whl.metadata (8.1 kB)
Collecting importlib-metadata>=6.6 (from Djblets~=4.0->ReviewBoard)
Using cached importlib_metadata-7.0.1-py3-none-any.whl.metadata (4.9 kB)
Collecting importlib-resources>=5.9 (from Djblets~=4.0->ReviewBoard)
Using cached importlib_resources-6.1.1-py3-none-any.whl.metadata (4.1 kB)
Collecting Pillow>=6.2 (from Djblets~=4.0->ReviewBoard)
Using cached pillow-10.2.0.tar.gz (46.2 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting publicsuffix>=1.1 (from Djblets~=4.0->ReviewBoard)
Using cached publicsuffix-1.1.1.tar.gz (66 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting python-dateutil>=2.7 (from Djblets~=4.0->ReviewBoard)
Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting typing-extensions>=4.4 (from Djblets~=4.0->ReviewBoard)
Using cached typing_extensions-4.9.0-py3-none-any.whl.metadata (3.0 kB)
Collecting bcrypt>=3.2 (from paramiko>=1.12->ReviewBoard)
Using cached bcrypt-4.1.2.tar.gz (26 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting pynacl>=1.5 (from paramiko>=1.12->ReviewBoard)
Using cached PyNaCl-1.5.0.tar.gz (3.4 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
Preparing metadata (pyproject.toml) did not run successfully.
exit code: 1
[38 lines of output]
Traceback (most recent call last):
File "/usr/opt/python3/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/usr/opt/python3/lib/python3.9/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/opt/python3/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 149, in prepare_metadata_for_build_wheel
return hook(metadata_directory, config_settings)
File "/tmp/pip-build-env-4l5nfv47/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 366, in prepare_metadata_for_build_wheel
self.run_setup()
File "/tmp/pip-build-env-4l5nfv47/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 311, in run_setup
exec(code, locals())
File "<string>", line 202, in <module>
File "/tmp/pip-build-env-4l5nfv47/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 103, in setup
return distutils.core.setup(**attrs)
File "/tmp/pip-build-env-4l5nfv47/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 147, in setup
_setup_distribution = dist = klass(attrs)
File "/tmp/pip-build-env-4l5nfv47/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 303, in __init__
_Distribution.__init__(self, dist_attrs)
File "/tmp/pip-build-env-4l5nfv47/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 283, in __init__
self.finalize_options()
File "/tmp/pip-build-env-4l5nfv47/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 654, in finalize_options
ep(self)
File "/tmp/pip-build-env-4l5nfv47/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 674, in _finalize_setup_keywords
ep.load()(self,
ep.name, value)
File "/tmp/pip-build-env-4l5nfv47/overlay/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 216, in cffi_modules
add_cffi_module(dist, cffi_module)
File "/tmp/pip-build-env-4l5nfv47/overlay/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 49, in add_cffi_module
execfile(build_file_name, mod_vars)
File "/tmp/pip-build-env-4l5nfv47/overlay/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 25, in execfile
exec(code, glob, glob)
File "src/bindings/build.py", line 35, in <module>
ffi = FFI()
File "/tmp/pip-build-env-4l5nfv47/overlay/lib/python3.9/site-packages/cffi/api.py", line 48, in __init__
import _cffi_backend as backend
ImportError: 0509-022 Cannot load module /tmp/pip-build-env-4l5nfv47/overlay/lib/python3.9/site-packages/_
cffi_backend.cpython-39.so.
0509-150 Dependent module libffi.a(libffi.so.8) could not be loaded.
0509-022 Cannot load module libffi.a(libffi.so.8).
0509-026 System error: A file or directory in the path name does not exist.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
Encountered error while generating package metadata.
See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Thanks in advance.