Skip to content

[BUG] Problem when installing botright on uv environment running on WSL Windows #137

@juanfrilla

Description

@juanfrilla

Describe the bug
Problem when installing botright on uv environment

Code Sample
To Reproduce
uv pip install botright

Expected behavior
I want to install botright in my environment without any problem

Screenshots

Resolved 130 packages in 1.06s
  × Failed to build `greenlet==2.0.2`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1)

      [stdout]
      running bdist_wheel
      running build
      running build_py
      copying src/greenlet/__init__.py -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/tests/test_generator.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/test_generator_nested.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/test_tracing.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/test_throw.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/test_contextvars.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/test_stack_saved.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/test_greenlet_trash.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/leakcheck.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/test_greenlet.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/test_leaks.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/test_version.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/test_extension_interface.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/test_gc.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/test_weakref.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/test_cpp.py -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/platform/__init__.py -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      running egg_info
      writing src/greenlet.egg-info/PKG-INFO
      writing dependency_links to src/greenlet.egg-info/dependency_links.txt
      writing requirements to src/greenlet.egg-info/requires.txt
      writing top-level names to src/greenlet.egg-info/top_level.txt
      reading manifest file 'src/greenlet.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      adding license file 'LICENSE.PSF'
      adding license file 'AUTHORS'
      writing manifest file 'src/greenlet.egg-info/SOURCES.txt'
      copying src/greenlet/greenlet.cpp -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/greenlet.h -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/greenlet_allocator.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/greenlet_compiler_compat.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/greenlet_cpython_compat.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/greenlet_exceptions.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/greenlet_greenlet.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/greenlet_internal.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/greenlet_refs.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/greenlet_slp_switch.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/greenlet_thread_state.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/greenlet_thread_state_dict_cleanup.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/greenlet_thread_support.hpp -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/slp_platformselect.h -> build/lib.linux-x86_64-cpython-312/greenlet
      copying src/greenlet/tests/_test_extension.c -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/tests/_test_extension_cpp.cpp -> build/lib.linux-x86_64-cpython-312/greenlet/tests
      copying src/greenlet/platform/setup_switch_x64_masm.cmd -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_aarch64_gcc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_alpha_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_amd64_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_arm32_gcc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_arm32_ios.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_arm64_masm.asm -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_arm64_masm.obj -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_arm64_msvc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_csky_gcc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_m68k_gcc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_mips_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_ppc64_aix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_ppc64_linux.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_ppc_aix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_ppc_linux.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_ppc_macosx.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_ppc_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_riscv_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_s390_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_sparc_sun_gcc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_x32_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_x64_masm.asm -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_x64_masm.obj -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_x64_msvc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_x86_msvc.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      copying src/greenlet/platform/switch_x86_unix.h -> build/lib.linux-x86_64-cpython-312/greenlet/platform
      running build_ext
      building 'greenlet._greenlet' extension
      g++ -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/home/juanfran/.cache/uv/builds-v0/.tmpy4gwb2/include -I/usr/local/include/python3.12 -c src/greenlet/greenlet.cpp -o
      build/temp.linux-x86_64-cpython-312/src/greenlet/greenlet.o

      [stderr]
      warning: no previously-included files found matching 'benchmarks/*.json'
      no previously-included directories found matching 'docs/_build'
      warning: no files found matching '*.py' under directory 'appveyor'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.pyd' found anywhere in distribution
      warning: no previously-included files matching '*.so' found anywhere in distribution
      warning: no previously-included files matching '.coverage' found anywhere in distribution
      In file included from src/greenlet/greenlet_internal.hpp:20,
                       from src/greenlet/greenlet.cpp:19:
      src/greenlet/greenlet_greenlet.hpp: In member functionvoid greenlet::PythonState::operator<<(const PyThreadState*)’:
      src/greenlet/greenlet_greenlet.hpp:831:41: error: ‘_PyCFrame’ {akastruct _PyCFrame’} has no member nameduse_tracing831 |     this->use_tracing = tstate->cframe->use_tracing;
            |                                         ^~~~~~~~~~~
      src/greenlet/greenlet_greenlet.hpp:834:37: error: ‘const PyThreadState’ {akaconst struct _ts’} has no member namedrecursion_limit’; did you meanpy_recursion_limit’?
        834 |     this->recursion_depth = tstate->recursion_limit - tstate->recursion_remaining;
            |                                     ^~~~~~~~~~~~~~~
            |                                     py_recursion_limit
      src/greenlet/greenlet_greenlet.hpp:834:63: error: ‘const PyThreadState’ {akaconst struct _ts’} has no member namedrecursion_remaining’; did you meanc_recursion_remaining’?
        834 |     this->recursion_depth = tstate->recursion_limit - tstate->recursion_remaining;
            |                                                               ^~~~~~~~~~~~~~~~~~~
            |                                                               c_recursion_remaining
      src/greenlet/greenlet_greenlet.hpp:848:42: error: ‘const PyThreadState’ {akaconst struct _ts’} has no member namedtrash_delete_nesting848 |     this->trash_delete_nesting = tstate->trash_delete_nesting;
            |                                          ^~~~~~~~~~~~~~~~~~~~
      src/greenlet/greenlet_greenlet.hpp: In member functionvoid greenlet::PythonState::operator>>(PyThreadState*)’:
      src/greenlet/greenlet_greenlet.hpp:867:21: error: ‘_PyCFrame’ {akastruct _PyCFrame’} has no member nameduse_tracing867 |     tstate->cframe->use_tracing = this->use_tracing;
            |                     ^~~~~~~~~~~
      src/greenlet/greenlet_greenlet.hpp:870:13: error: ‘PyThreadState’ {akastruct _ts’} has no member namedrecursion_remaining’; did you meanc_recursion_remaining’?
        870 |     tstate->recursion_remaining = tstate->recursion_limit - this->recursion_depth;
            |             ^~~~~~~~~~~~~~~~~~~
            |             c_recursion_remaining
      src/greenlet/greenlet_greenlet.hpp:870:43: error: ‘PyThreadState’ {akastruct _ts’} has no member namedrecursion_limit’; did you meanpy_recursion_limit’?
        870 |     tstate->recursion_remaining = tstate->recursion_limit - this->recursion_depth;
            |                                           ^~~~~~~~~~~~~~~
            |                                           py_recursion_limit
      src/greenlet/greenlet_greenlet.hpp:881:13: error: ‘PyThreadState’ {akastruct _ts’} has no member namedtrash_delete_nesting881 |     tstate->trash_delete_nesting = this->trash_delete_nesting;
            |             ^~~~~~~~~~~~~~~~~~~~
      src/greenlet/greenlet_greenlet.hpp: In member functionvoid greenlet::PythonState::will_switch_from(PyThreadState*)’:
      src/greenlet/greenlet_greenlet.hpp:891:48: error: ‘_PyCFrame’ {akastruct _PyCFrame’} has no member nameduse_tracing891 |     this->use_tracing = origin_tstate->cframe->use_tracing;
            |                                                ^~~~~~~~~~~
      src/greenlet/greenlet_greenlet.hpp: In member functionvoid greenlet::PythonState::set_initial_state(const PyThreadState*)’:
      src/greenlet/greenlet_greenlet.hpp:899:37: error: ‘const PyThreadState’ {akaconst struct _ts’} has no member namedrecursion_limit’; did you meanpy_recursion_limit’?
        899 |     this->recursion_depth = tstate->recursion_limit - tstate->recursion_remaining;
            |                                     ^~~~~~~~~~~~~~~
            |                                     py_recursion_limit
      src/greenlet/greenlet_greenlet.hpp:899:63: error: ‘const PyThreadState’ {akaconst struct _ts’} has no member namedrecursion_remaining’; did you meanc_recursion_remaining’?
        899 |     this->recursion_depth = tstate->recursion_limit - tstate->recursion_remaining;
            |                                                               ^~~~~~~~~~~~~~~~~~~
            |                                                               c_recursion_remaining
      src/greenlet/greenlet.cpp: In functionPyObject* mod_get_tstate_trash_delete_nesting(PyObject*)’:
      src/greenlet/greenlet.cpp:3095:36: error: ‘PyThreadState’ {akastruct _ts’} has no member namedtrash_delete_nesting3095 |     return PyLong_FromLong(tstate->trash_delete_nesting);
            |                                    ^~~~~~~~~~~~~~~~~~~~
      error: command '/usr/bin/g++' failed with exit code 1

      hint: This usually indicates a problem with the package or the build environment.
  help: `greenlet` (v2.0.2) was included because `botright` (v0.4.post1) depends on `playwright` (v1.37.0) which depends on `greenlet`

Desktop (please complete the following information):
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions