VOLTTRON / volttron

VOLTTRON Distributed Control System Platform
https://volttron.readthedocs.io/
Other
453 stars 215 forks source link

Bootstrap fails on Ubuntu 22.04 #3045

Open jhaack opened 1 year ago

jhaack commented 1 year ago

Description of Issue

Bootstrap fails on building gevent 20.6.1 on a fresh Ubuntu 22.04 running Python 3.10.6

Affected Version

8.2

Expected

python3 bootstrap.py completes

Actual

Fails on gevent (see stacktrace below)

Additional Details

Collecting gevent==20.6.1 Downloading gevent-20.6.1.tar.gz (5.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.8/5.8 MB 10.2 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 ╰─> [60 lines of output] warning: src/gevent/resolver/cares.pyx:38:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310 warning: src/gevent/resolver/cares.pyx:40:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310 warning: src/gevent/resolver/cares.pyx:41:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310 Compiling src/gevent/resolver/cares.pyx because it changed. [1/1] Cythonizing src/gevent/resolver/cares.pyx warning: src/gevent/libev/corecext.pyx:325:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310 warning: src/gevent/libev/corecext.pyx:783:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310 warning: src/gevent/libev/corecext.pyx:785:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310 warning: src/gevent/libev/corecext.pyx:787:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310 warning: src/gevent/libev/corecext.pyx:791:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310 Compiling src/gevent/libev/corecext.pyx because it changed. [1/1] Cythonizing src/gevent/libev/corecext.pyx Compiling src/gevent/_greenlet_primitives.py because it changed. [1/1] Cythonizing src/gevent/_greenlet_primitives.py Compiling src/gevent/_hub_primitives.py because it changed. [1/1] Cythonizing src/gevent/_hub_primitives.py Compiling src/gevent/_hub_local.py because it changed. [1/1] Cythonizing src/gevent/_hub_local.py Compiling src/gevent/_waiter.py because it changed. [1/1] Cythonizing src/gevent/_waiter.py warning: src/gevent/_gevent_cgreenlet.pxd:112:33: Declarations should not be declared inline.

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
  cdef load_traceback
  cdef Waiter
  cdef wait
  cdef iwait
  cdef reraise
  cpdef GEVENT_CONFIG
        ^
  ------------------------------------------------------------

  src/gevent/_gevent_cgreenlet.pxd:181:6: Variables cannot be declared with 'cpdef'. Use 'cdef' instead.
  Compiling src/gevent/greenlet.py because it changed.
  [1/1] Cythonizing src/gevent/greenlet.py
  Traceback (most recent call last):
    File "/home/jer/git/volttron/env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
      main()
    File "/home/jer/git/volttron/env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/home/jer/git/volttron/env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 130, in get_requires_for_build_wheel
      return hook(config_settings)
    File "/tmp/pip-build-env-byyq6imd/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 338, in get_requires_for_build_wheel
      return self._get_build_requires(config_settings, requirements=['wheel'])
    File "/tmp/pip-build-env-byyq6imd/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 320, in _get_build_requires
      self.run_setup()
    File "/tmp/pip-build-env-byyq6imd/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 482, in run_setup
      super(_BuildMetaLegacyBackend,
    File "/tmp/pip-build-env-byyq6imd/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 335, in run_setup
      exec(code, locals())
    File "<string>", line 287, in <module>
    File "/tmp/pip-install-mfejmml2/gevent_6f7ccb5c19f6405fa413609e8467c5b3/_setuputils.py", line 236, in cythonize1
      new_ext = cythonize(
    File "/tmp/pip-build-env-byyq6imd/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1129, in cythonize
      cythonize_one(*args)
    File "/tmp/pip-build-env-byyq6imd/overlay/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1296, in cythonize_one
      raise CompileError(None, pyx_file)
  Cython.Compiler.Errors.CompileError: src/gevent/greenlet.py
  [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.

craig8 commented 1 year ago

@jhaack Just noting here that this is a 8.1.3 version issue and not a 8.2 issue.