Trying to install latest review board on a new system is failing

57 views
Skip to first unread message

Grover D

unread,
Jan 12, 2024, 1:39:46 PMJan 12
to Review Board Community
Hello,

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.

# python3 --version
Python 3.9.17
# pip3 -V
pip 23.3.2 from /usr/opt/python3/lib/python3.9/site-packages/pip (python 3.9)

Does anyone have any ideas?
Thanks in advance.

Christian Hammond

unread,
Jan 12, 2024, 6:28:35 PMJan 12
to revie...@googlegroups.com
Hi,

It looks like there's a missing libffi package, which you'll need to install. What Linux distro/version are you on?

While it won't help right now, we do have a universal installer coming out soon that takes care of all necessary packages on all supported distros/versions, so that would help in future installs.

Christian

--
Supercharge your Review Board with Power Pack: https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
---
You received this message because you are subscribed to the Google Groups "Review Board Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reviewboard...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/reviewboard/bf63f96d-83a4-4a7d-9f38-ac4e54912d3bn%40googlegroups.com.


--
Christian Hammond
President/CEO of Beanbag
Makers of Review Board

Grover D

unread,
Jan 12, 2024, 6:46:46 PMJan 12
to Review Board Community

I am attempting to install this on AIX using the IBM Maintained Open Source.
I have the following libffi installed:

libffi.ppc                                                                 3.4.4-2                                                      @AIX_Toolbox
libffi-devel.ppc                                                           3.4.4-2                                                      @AIX_Toolbox

Christian Hammond

unread,
Jan 12, 2024, 7:01:59 PMJan 12
to revie...@googlegroups.com
Ah. Well, this is the first time I've heard of anyone attempting to install Review Board on AIX, so I don't have a definitive answer for you there. AIX isn't part of our set of tested systems for the installer.

As we depend on a series of third-party libraries, we're also limited by their own AIX support. I don't know what you may or may not hit there.

For this case, I'd ensure that the installed libffi.a / libffi.so.8 files are in any library search paths used during process execution. It seems that it had successfully compiled the Python bindings at one stage, but failed to resolve the path at another.

Christian



Grover D

unread,
Jan 12, 2024, 7:17:10 PMJan 12
to Review Board Community
Thanks! I will engage the team that does libffi.
Reply all
Reply to author
Forward
0 new messages