etesync / server

The Etebase server (so you can run your own)
https://www.etesync.com
GNU Affero General Public License v3.0
1.56k stars 76 forks source link

Build failure on Debian 12.2 (0.11.0 via Python 3.11) #178

Open martin-braun opened 8 months ago

martin-braun commented 8 months ago

I couldn't really look much into it, but my first attempt failed on Debian 12.2. Here is the full output of virtualenv -p python3 .venv && source .venv/bin/activate && pip install -r requirements.txt:

created virtual environment CPython3.11.2.final.0-64 in 311ms
  creator CPython3Posix(dest=/usr/local/src/vs/github.com/etesync/server/v0.10.0/.venv, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
    added seed packages: pip==23.0.1, setuptools==66.1.1, wheel==0.38.4
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
Collecting aiofiles==0.8.0
  Downloading aiofiles-0.8.0-py3-none-any.whl (13 kB)
Collecting anyio==3.5.0
  Downloading anyio-3.5.0-py3-none-any.whl (79 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.2/79.2 kB 8.8 MB/s eta 0:00:00
Collecting asgiref==3.5.0
  Downloading asgiref-3.5.0-py3-none-any.whl (22 kB)
Collecting async-timeout==4.0.2
  Downloading async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
Collecting cffi==1.15.0
  Downloading cffi-1.15.0.tar.gz (484 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 484.1/484.1 kB 63.6 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting click==8.0.4
  Downloading click-8.0.4-py3-none-any.whl (97 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.5/97.5 kB 35.6 MB/s eta 0:00:00
Collecting deprecated==1.2.13
  Downloading Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)
Collecting django==3.2.13
  Downloading Django-3.2.13-py3-none-any.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 70.0 MB/s eta 0:00:00
Collecting fastapi==0.75.0
  Downloading fastapi-0.75.0-py3-none-any.whl (54 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.4/54.4 kB 19.9 MB/s eta 0:00:00
Collecting h11==0.13.0
  Downloading h11-0.13.0-py3-none-any.whl (58 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.2/58.2 kB 24.6 MB/s eta 0:00:00
Collecting httptools==0.4.0
  Downloading httptools-0.4.0.tar.gz (174 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 174.6/174.6 kB 52.2 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting idna==3.3
  Downloading idna-3.3-py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.2/61.2 kB 19.6 MB/s eta 0:00:00
Collecting msgpack==1.0.3
  Downloading msgpack-1.0.3.tar.gz (123 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 123.8/123.8 kB 35.5 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting packaging==21.3
  Downloading packaging-21.3-py3-none-any.whl (40 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.8/40.8 kB 10.9 MB/s eta 0:00:00
Collecting pycparser==2.21
  Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.7/118.7 kB 35.5 MB/s eta 0:00:00
Collecting pydantic==1.9.0
  Downloading pydantic-1.9.0-py3-none-any.whl (140 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.3/140.3 kB 33.7 MB/s eta 0:00:00
Collecting pynacl==1.5.0
  Downloading PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (856 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 856.7/856.7 kB 87.4 MB/s eta 0:00:00
Collecting pyparsing==3.0.9
  Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.3/98.3 kB 38.1 MB/s eta 0:00:00
Collecting python-dotenv==0.19.2
  Downloading python_dotenv-0.19.2-py2.py3-none-any.whl (17 kB)
Collecting pytz==2022.1
  Downloading pytz-2022.1-py2.py3-none-any.whl (503 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 503.5/503.5 kB 71.6 MB/s eta 0:00:00
Collecting pyyaml==6.0
  Downloading PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (757 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 757.9/757.9 kB 79.6 MB/s eta 0:00:00
Collecting redis==4.3.4
  Downloading redis-4.3.4-py3-none-any.whl (246 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 246.2/246.2 kB 55.7 MB/s eta 0:00:00
Collecting sniffio==1.2.0
  Downloading sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting sqlparse==0.4.2
  Downloading sqlparse-0.4.2-py3-none-any.whl (42 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.3/42.3 kB 16.9 MB/s eta 0:00:00
Collecting starlette==0.17.1
  Downloading starlette-0.17.1-py3-none-any.whl (58 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.4/58.4 kB 24.1 MB/s eta 0:00:00
Collecting typing-extensions==4.1.1
  Downloading typing_extensions-4.1.1-py3-none-any.whl (26 kB)
Collecting uvicorn[standard]==0.17.6
  Downloading uvicorn-0.17.6-py3-none-any.whl (53 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.6/53.6 kB 15.6 MB/s eta 0:00:00
Collecting uvloop==0.16.0
  Downloading uvloop-0.16.0.tar.gz (2.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 51.6 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting watchgod==0.8.1
  Downloading watchgod-0.8.1-py3-none-any.whl (12 kB)
Collecting websockets==10.2
  Downloading websockets-10.2.tar.gz (83 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.4/83.4 kB 33.7 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting wrapt==1.14.1
  Downloading wrapt-1.14.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (78 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.4/78.4 kB 31.0 MB/s eta 0:00:00
Building wheels for collected packages: cffi, httptools, msgpack, uvloop, websockets
  Building wheel for cffi (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [38 lines of output]
      /usr/local/src/vs/github.com/etesync/server/v0.10.0/.venv/lib/python3.11/site-packages/setuptools/config/setupcfg.py:515: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
        warnings.warn(msg, warning_class)
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-311
      creating build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/vengine_cpy.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/__init__.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/api.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/model.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/cffi_opcode.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/recompiler.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/verifier.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/cparser.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/vengine_gen.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/lock.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/error.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/commontypes.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/setuptools_ext.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/ffiplatform.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/pkgconfig.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/backend_ctypes.py -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/_cffi_include.h -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/parse_c_type.h -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/_embedding.h -> build/lib.linux-x86_64-cpython-311/cffi
      copying cffi/_cffi_errors.h -> build/lib.linux-x86_64-cpython-311/cffi
      running build_ext
      building '_cffi_backend' extension
      creating build/temp.linux-x86_64-cpython-311
      creating build/temp.linux-x86_64-cpython-311/c
      x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/src/vs/github.com/etesync/server/v0.10.0/.venv/include -I/usr/include/python3.11 -c c/_cffi_backend.c -o build/temp.linux-x86_64-cpython-311/c/_cffi_backend.o
      c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory
         15 | #include <ffi.h>
            |          ^~~~~~~
      compilation terminated.
      error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for cffi
  Running setup.py clean for cffi
  Building wheel for httptools (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [43 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-311
      creating build/lib.linux-x86_64-cpython-311/httptools
      copying httptools/__init__.py -> build/lib.linux-x86_64-cpython-311/httptools
      copying httptools/_version.py -> build/lib.linux-x86_64-cpython-311/httptools
      creating build/lib.linux-x86_64-cpython-311/httptools/parser
      copying httptools/parser/errors.py -> build/lib.linux-x86_64-cpython-311/httptools/parser
      copying httptools/parser/__init__.py -> build/lib.linux-x86_64-cpython-311/httptools/parser
      running egg_info
      writing httptools.egg-info/PKG-INFO
      writing dependency_links to httptools.egg-info/dependency_links.txt
      writing requirements to httptools.egg-info/requires.txt
      writing top-level names to httptools.egg-info/top_level.txt
      reading manifest file 'httptools.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      writing manifest file 'httptools.egg-info/SOURCES.txt'
      copying httptools/parser/parser.c -> build/lib.linux-x86_64-cpython-311/httptools/parser
      copying httptools/parser/url_parser.c -> build/lib.linux-x86_64-cpython-311/httptools/parser
      running build_ext
      building 'httptools.parser.parser' extension
      creating build/temp.linux-x86_64-cpython-311
      creating build/temp.linux-x86_64-cpython-311/httptools
      creating build/temp.linux-x86_64-cpython-311/httptools/parser
      creating build/temp.linux-x86_64-cpython-311/vendor
      creating build/temp.linux-x86_64-cpython-311/vendor/llhttp
      creating build/temp.linux-x86_64-cpython-311/vendor/llhttp/src
      x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/tmp/pip-install-4otsvf84/httptools_40319d2bb3a547d5896ad8c42143607d/vendor/llhttp/include -I/tmp/pip-install-4otsvf84/httptools_40319d2bb3a547d5896ad8c42143607d/vendor/llhttp/src -I/usr/local/src/vs/github.com/etesync/server/v0.10.0/.venv/include -I/usr/include/python3.11 -c httptools/parser/parser.c -o build/temp.linux-x86_64-cpython-311/httptools/parser/parser.o -O2
      httptools/parser/parser.c: In function '__pyx_pf_9httptools_6parser_6parser_10HttpParser_10feed_data':
      httptools/parser/parser.c:3452:23: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
       3452 |       __pyx_v_err_pos = llhttp_get_error_pos(__pyx_v_self->_cparser);
            |                       ^
      httptools/parser/parser.c: In function '__Pyx_AddTraceback':
      httptools/parser/parser.c:454:62: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'}
        454 |   #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
            |                                                              ^~
      httptools/parser/parser.c:9421:5: note: in expansion of macro '__Pyx_PyFrame_SetLineNumber'
       9421 |     __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
            |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for httptools
  Running setup.py clean for httptools
  Building wheel for msgpack (setup.py) ... done
  Created wheel for msgpack: filename=msgpack-1.0.3-cp311-cp311-linux_x86_64.whl size=15688 sha256=bdff921a78735ec2a377a99b581e06780ae9d0bea82ca2cd760fa66c79c285c2
  Stored in directory: /root/.cache/pip/wheels/f6/35/da/ed9b26b510235e00e3a3c3bab7bad97b59214729662255ab3d
  Building wheel for uvloop (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [559 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-311
      creating build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/__init__.py -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/_noop.py -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/_testbase.py -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/_version.py -> build/lib.linux-x86_64-cpython-311/uvloop
      running egg_info
      writing uvloop.egg-info/PKG-INFO
      writing dependency_links to uvloop.egg-info/dependency_links.txt
      writing requirements to uvloop.egg-info/requires.txt
      writing top-level names to uvloop.egg-info/top_level.txt
      reading manifest file 'uvloop.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files matching '*' found under directory 'vendor/libuv/.git'
      warning: no previously-included files matching '*' found under directory 'vendor/libuv/docs'
      warning: no previously-included files matching '*' found under directory 'vendor/libuv/img'
      adding license file 'LICENSE-APACHE'
      adding license file 'LICENSE-MIT'
      writing manifest file 'uvloop.egg-info/SOURCES.txt'
      /usr/local/src/vs/github.com/etesync/server/v0.10.0/.venv/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'uvloop.handles' as data is deprecated, please list it in `packages`.
          !!

          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'uvloop.handles' as an importable package,
          but it is not listed in the `packages` configuration of setuptools.

          'uvloop.handles' has been automatically added to the distribution only
          because it may contain data files, but this behavior is likely to change
          in future versions of setuptools (and therefore is considered deprecated).

          Please make sure that 'uvloop.handles' is included as a package by using
          the `packages` configuration field or the proper discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" and "data files" on setuptools
          documentation page.

      !!

        check.warn(importable)
      /usr/local/src/vs/github.com/etesync/server/v0.10.0/.venv/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'uvloop.includes' as data is deprecated, please list it in `packages`.
          !!

          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'uvloop.includes' as an importable package,
          but it is not listed in the `packages` configuration of setuptools.

          'uvloop.includes' has been automatically added to the distribution only
          because it may contain data files, but this behavior is likely to change
          in future versions of setuptools (and therefore is considered deprecated).

          Please make sure that 'uvloop.includes' is included as a package by using
          the `packages` configuration field or the proper discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" and "data files" on setuptools
          documentation page.

      !!

        check.warn(importable)
      copying uvloop/cbhandles.pxd -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/cbhandles.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/dns.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/errors.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/loop.c -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/loop.pxd -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/loop.pyi -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/loop.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/lru.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/pseudosock.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/py.typed -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/request.pxd -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/request.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/server.pxd -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/server.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/sslproto.pxd -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/sslproto.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      creating build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/async_.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/async_.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/basetransport.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/basetransport.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/check.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/check.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/handle.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/handle.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/idle.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/idle.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/pipe.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/pipe.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/poll.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/poll.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/process.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/process.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/stream.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/stream.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/streamserver.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/streamserver.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/tcp.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/tcp.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/timer.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/timer.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/udp.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/udp.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      creating build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/__init__.py -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/compat.h -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/consts.pxi -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/debug.h -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/debug.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/flowcontrol.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/fork_handler.h -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/python.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/stdlib.pxi -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/system.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/uv.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      running build_ext
      checking for a BSD-compatible install... /usr/bin/install -c
      checking whether build environment is sane... yes
      checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
      checking for gawk... no
      checking for mawk... mawk
      checking whether make sets $(MAKE)... yes
      checking whether make supports nested variables... yes
      checking build system type... x86_64-pc-linux-gnu
      checking host system type... x86_64-pc-linux-gnu
      checking for gcc... gcc
      checking whether the C compiler works... yes
      checking for C compiler default output file name... a.out
      checking for suffix of executables...
      checking whether we are cross compiling... no
      checking for suffix of object files... o
      checking whether we are using the GNU C compiler... yes
      checking whether gcc accepts -g... yes
      checking for gcc option to accept ISO C89... none needed
      checking whether gcc understands -c and -o together... yes
      checking whether make supports the include directive... yes (GNU style)
      checking dependency style of gcc... gcc3
      checking for gcc way to treat warnings as errors... -Werror
      checking if gcc supports __attribute__(( visibility("default") ))... yes
      checking if gcc supports -fvisibility=hidden... yes
      checking if gcc supports -fno-strict-aliasing flag... yes
      checking if gcc supports -g flag... yes
      checking if gcc supports -std=gnu89 flag... yes
      checking if gcc supports -Wall flag... yes
      checking if gcc supports -Wextra flag... yes
      checking if gcc supports -Wno-long-long flag... yes
      checking if gcc supports -Wno-unused-parameter flag... yes
      checking if gcc supports -Wstrict-prototypes flag... yes
      checking for ar... ar
      checking the archiver (ar) interface... ar
      checking how to print strings... printf
      checking for a sed that does not truncate output... /usr/bin/sed
      checking for grep that handles long lines and -e... /usr/bin/grep
      checking for egrep... /usr/bin/grep -E
      checking for fgrep... /usr/bin/grep -F
      checking for ld used by gcc... /usr/bin/ld
      checking if the linker (/usr/bin/ld) is GNU ld... yes
      checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
      checking the name lister (/usr/bin/nm -B) interface... BSD nm
      checking whether ln -s works... yes
      checking the maximum length of command line arguments... 1572864
      checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
      checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
      checking for /usr/bin/ld option to reload object files... -r
      checking for objdump... objdump
      checking how to recognize dependent libraries... pass_all
      checking for dlltool... no
      checking how to associate runtime and link libraries... printf %s\n
      checking for archiver @FILE support... @
      checking for strip... strip
      checking for ranlib... ranlib
      checking command to parse /usr/bin/nm -B output from gcc object... ok
      checking for sysroot... no
      checking for a working dd... /usr/bin/dd
      checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
      checking for mt... mt
      checking if mt is a manifest tool... no
      checking how to run the C preprocessor... gcc -E
      checking for ANSI C header files... yes
      checking for sys/types.h... yes
      checking for sys/stat.h... yes
      checking for stdlib.h... yes
      checking for string.h... yes
      checking for memory.h... yes
      checking for strings.h... yes
      checking for inttypes.h... yes
      checking for stdint.h... yes
      checking for unistd.h... yes
      checking for dlfcn.h... yes
      checking for objdir... .libs
      checking if gcc supports -fno-rtti -fno-exceptions... no
      checking for gcc option to produce PIC... -fPIC -DPIC
      checking if gcc PIC flag -fPIC -DPIC works... yes
      checking if gcc static flag -static works... yes
      checking if gcc supports -c -o file.o... yes
      checking if gcc supports -c -o file.o... (cached) yes
      checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
      checking whether -lc should be explicitly linked in... no
      checking dynamic linker characteristics... GNU/Linux ld.so
      checking how to hardcode library paths into programs... immediate
      checking whether stripping libraries is possible... yes
      checking if libtool supports shared libraries... yes
      checking whether to build shared libraries... yes
      checking whether to build static libraries... yes
      checking whether make supports nested variables... (cached) yes
      checking whether gcc is Clang... no
      checking whether pthreads work with -pthread... yes
      checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
      checking whether more special flags are required for pthreads... no
      checking for PTHREAD_PRIO_INHERIT... yes
      checking for library containing dlopen... none required
      checking for library containing kstat_lookup... no
      checking for library containing gethostbyname... none required
      checking for library containing perfstat_cpu... no
      checking for library containing clock_gettime... none required
      checking for library containing sendfile... none required
      checking for library containing socket... none required
      checking for special C compiler options needed for large files... no
      checking for _FILE_OFFSET_BITS value needed for large files... no
      checking sys/ahafs_evProds.h usability... no
      checking sys/ahafs_evProds.h presence... no
      checking for sys/ahafs_evProds.h... no
      checking that generated files are newer than configure... done
      configure: creating ./config.status
      config.status: creating Makefile
      config.status: creating libuv.pc
      config.status: executing depfiles commands
      config.status: executing libtool commands
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/libuv_la-fs-poll.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/libuv_la-idna.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/libuv_la-inet.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/libuv_la-random.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/libuv_la-strscpy.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/libuv_la-threadpool.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/libuv_la-timer.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/libuv_la-uv-data-getter-setters.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/libuv_la-uv-common.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/libuv_la-version.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-async.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      In file included from src/uv-common.h:42,
                       from src/uv-common.c:23:
      src/uv-common.c: In function 'uv_walk':
      src/queue.h:68:19: warning: storing the address of local variable 'queue' in '((void * (**)[2])MEM[(void *[2] * *)loop_13(D) + 16B])[1]' [-Wdangling-pointer=]
         68 |     QUEUE_PREV(q) = (n);                                                      \
            |                   ^
      src/queue.h:78:7: note: in expansion of macro 'QUEUE_SPLIT'
         78 |       QUEUE_SPLIT(h, q, n);                                                   \
            |       ^~~~~~~~~~~
      src/uv-common.c:491:3: note: in expansion of macro 'QUEUE_MOVE'
        491 |   QUEUE_MOVE(&loop->handle_queue, &queue);
            |   ^~~~~~~~~~
      src/uv-common.c:487:9: note: 'queue' declared here
        487 |   QUEUE queue;
            |         ^~~~~
      src/queue.h:40:27: note: '((void * (**)[2])loop)[2]' declared here
         40 |   ((const QUEUE *) (q) == (const QUEUE *) QUEUE_NEXT(q))
            |                           ^
      src/queue.h:74:9: note: in expansion of macro 'QUEUE_EMPTY'
         74 |     if (QUEUE_EMPTY(h))                                                       \
            |         ^~~~~~~~~~~
      src/uv-common.c:491:3: note: in expansion of macro 'QUEUE_MOVE'
        491 |   QUEUE_MOVE(&loop->handle_queue, &queue);
            |   ^~~~~~~~~~
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-core.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-dl.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-fs.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-getaddrinfo.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-getnameinfo.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-loop-watcher.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-loop.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-pipe.lo
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-poll.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-process.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-random-devurandom.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-signal.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-stream.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      In file included from ./src/uv-common.h:42,
                       from src/unix/internal.h:25,
                       from src/unix/stream.c:23:
      src/unix/stream.c: In function 'uv__write_callbacks':
      ./src/queue.h:68:19: warning: storing the address of local variable 'pq' in '((void * (**)[2])MEM[(void *[2] * *)stream_24(D) + 208B])[1]' [-Wdangling-pointer=]
         68 |     QUEUE_PREV(q) = (n);                                                      \
            |                   ^
      ./src/queue.h:78:7: note: in expansion of macro 'QUEUE_SPLIT'
         78 |       QUEUE_SPLIT(h, q, n);                                                   \
            |       ^~~~~~~~~~~
      src/unix/stream.c:944:3: note: in expansion of macro 'QUEUE_MOVE'
        944 |   QUEUE_MOVE(&stream->write_completed_queue, &pq);
            |   ^~~~~~~~~~
      src/unix/stream.c:939:9: note: 'pq' declared here
        939 |   QUEUE pq;
            |         ^~
      ./src/queue.h:40:27: note: '((void * (**)[2])stream)[26]' declared here
         40 |   ((const QUEUE *) (q) == (const QUEUE *) QUEUE_NEXT(q))
            |                           ^
      src/unix/stream.c:941:7: note: in expansion of macro 'QUEUE_EMPTY'
        941 |   if (QUEUE_EMPTY(&stream->write_completed_queue))
            |       ^~~~~~~~~~~
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-tcp.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-thread.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-tty.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      src/unix/thread.c: In function 'uv__thread_stack_size':
      src/unix/thread.c:195:24: warning: comparison of integer expressions of different signedness: 'rlim_t' {aka 'long unsigned int'} and 'long int' [-Wsign-compare]
        195 |       if (lim.rlim_cur >= PTHREAD_STACK_MIN)
            |                        ^~
      src/unix/thread.c: In function 'uv_thread_create_ex':
      src/unix/thread.c:243:20: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'long int' [-Wsign-compare]
        243 |     if (stack_size < PTHREAD_STACK_MIN)
            |                    ^
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-udp.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-linux-core.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-linux-inotify.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-linux-syscalls.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-procfs-exepath.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      In file included from ./src/uv-common.h:42,
                       from src/unix/internal.h:25,
                       from src/unix/linux-inotify.c:23:
      src/unix/linux-inotify.c: In function 'uv__inotify_fork':
      ./src/queue.h:68:19: warning: storing the address of local variable 'queue' in '((void * (**)[2])MEM[(void *[2] * *)&tmp_watcher_list + 32B])[1]' [-Wdangling-pointer=]
         68 |     QUEUE_PREV(q) = (n);                                                      \
            |                   ^
      ./src/queue.h:78:7: note: in expansion of macro 'QUEUE_SPLIT'
         78 |       QUEUE_SPLIT(h, q, n);                                                   \
            |       ^~~~~~~~~~~
      src/unix/linux-inotify.c:133:5: note: in expansion of macro 'QUEUE_MOVE'
        133 |     QUEUE_MOVE(&tmp_watcher_list.watchers, &queue);
            |     ^~~~~~~~~~
      src/unix/linux-inotify.c:92:9: note: 'queue' declared here
         92 |   QUEUE queue;
            |         ^~~~~
      ./src/queue.h:40:27: note: '*(void * (**)[2])((char *)&tmp_watcher_list + offsetof(struct watcher_list, watchers[0]))' declared here
         40 |   ((const QUEUE *) (q) == (const QUEUE *) QUEUE_NEXT(q))
            |                           ^
      ./src/queue.h:74:9: note: in expansion of macro 'QUEUE_EMPTY'
         74 |     if (QUEUE_EMPTY(h))                                                       \
            |         ^~~~~~~~~~~
      src/unix/linux-inotify.c:133:5: note: in expansion of macro 'QUEUE_MOVE'
        133 |     QUEUE_MOVE(&tmp_watcher_list.watchers, &queue);
            |     ^~~~~~~~~~
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-proctitle.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-random-getrandom.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-random-sysctl-linux.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CC       src/unix/libuv_la-epoll.lo
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      ./libtool: line 1747: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
        CCLD     libuv.la
      /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
      building 'uvloop.loop' extension
      creating build/temp.linux-x86_64-cpython-311
      creating build/temp.linux-x86_64-cpython-311/uvloop
      x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/src/vs/github.com/etesync/server/v0.10.0/.venv/include -I/usr/include/python3.11 -I/tmp/pip-install-4otsvf84/uvloop_3b01d74c764742a582a885c41784180e/vendor/libuv/include -c uvloop/loop.c -o build/temp.linux-x86_64-cpython-311/uvloop/loop.o -O2
      uvloop/loop.c:214:12: fatal error: longintrepr.h: No such file or directory
        214 |   #include "longintrepr.h"
            |            ^~~~~~~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for uvloop
  Running setup.py clean for uvloop
  Building wheel for websockets (setup.py) ... done
  Created wheel for websockets: filename=websockets-10.2-cp311-cp311-linux_x86_64.whl size=104990 sha256=b8b7df2a9e246fa0335fe85f5beb4330e908186fe0430290deb37183d4811742
  Stored in directory: /root/.cache/pip/wheels/29/be/bb/e58ebd61768bb70e9352a8b2fdcadc8a5f2d0cc0565b4d44e9
Successfully built msgpack websockets
Failed to build cffi httptools uvloop
Installing collected packages: pytz, msgpack, wrapt, websockets, uvloop, typing-extensions, sqlparse, sniffio, pyyaml, python-dotenv, pyparsing, pycparser, idna, httptools, h11, click, async-timeout, asgiref, aiofiles, uvicorn, pydantic, packaging, django, deprecated, cffi, anyio, watchgod, starlette, redis, pynacl, fastapi
  Running setup.py install for uvloop ... error
  error: subprocess-exited-with-error

  × Running setup.py install for uvloop did not run successfully.
  │ exit code: 1
  ╰─> [142 lines of output]
      running install
      /usr/local/src/vs/github.com/etesync/server/v0.10.0/.venv/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      creating build/lib.linux-x86_64-cpython-311
      creating build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/__init__.py -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/_noop.py -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/_testbase.py -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/_version.py -> build/lib.linux-x86_64-cpython-311/uvloop
      running egg_info
      writing uvloop.egg-info/PKG-INFO
      writing dependency_links to uvloop.egg-info/dependency_links.txt
      writing requirements to uvloop.egg-info/requires.txt
      writing top-level names to uvloop.egg-info/top_level.txt
      reading manifest file 'uvloop.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files matching '*' found under directory 'vendor/libuv/.git'
      warning: no previously-included files matching '*' found under directory 'vendor/libuv/docs'
      warning: no previously-included files matching '*' found under directory 'vendor/libuv/img'
      adding license file 'LICENSE-APACHE'
      adding license file 'LICENSE-MIT'
      writing manifest file 'uvloop.egg-info/SOURCES.txt'
      /usr/local/src/vs/github.com/etesync/server/v0.10.0/.venv/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'uvloop.handles' as data is deprecated, please list it in `packages`.
          !!

          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'uvloop.handles' as an importable package,
          but it is not listed in the `packages` configuration of setuptools.

          'uvloop.handles' has been automatically added to the distribution only
          because it may contain data files, but this behavior is likely to change
          in future versions of setuptools (and therefore is considered deprecated).

          Please make sure that 'uvloop.handles' is included as a package by using
          the `packages` configuration field or the proper discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" and "data files" on setuptools
          documentation page.

      !!

        check.warn(importable)
      /usr/local/src/vs/github.com/etesync/server/v0.10.0/.venv/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'uvloop.includes' as data is deprecated, please list it in `packages`.
          !!

          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'uvloop.includes' as an importable package,
          but it is not listed in the `packages` configuration of setuptools.

          'uvloop.includes' has been automatically added to the distribution only
          because it may contain data files, but this behavior is likely to change
          in future versions of setuptools (and therefore is considered deprecated).

          Please make sure that 'uvloop.includes' is included as a package by using
          the `packages` configuration field or the proper discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" and "data files" on setuptools
          documentation page.

      !!

        check.warn(importable)
      copying uvloop/cbhandles.pxd -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/cbhandles.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/dns.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/errors.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/loop.c -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/loop.pxd -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/loop.pyi -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/loop.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/lru.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/pseudosock.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/py.typed -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/request.pxd -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/request.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/server.pxd -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/server.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/sslproto.pxd -> build/lib.linux-x86_64-cpython-311/uvloop
      copying uvloop/sslproto.pyx -> build/lib.linux-x86_64-cpython-311/uvloop
      creating build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/async_.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/async_.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/basetransport.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/basetransport.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/check.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/check.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/handle.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/handle.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/idle.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/idle.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/pipe.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/pipe.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/poll.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/poll.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/process.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/process.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/stream.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/stream.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/streamserver.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/streamserver.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/tcp.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/tcp.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/timer.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/timer.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/udp.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      copying uvloop/handles/udp.pyx -> build/lib.linux-x86_64-cpython-311/uvloop/handles
      creating build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/__init__.py -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/compat.h -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/consts.pxi -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/debug.h -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/debug.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/flowcontrol.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/fork_handler.h -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/python.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/stdlib.pxi -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/system.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      copying uvloop/includes/uv.pxd -> build/lib.linux-x86_64-cpython-311/uvloop/includes
      running build_ext
      building 'uvloop.loop' extension
      creating build/temp.linux-x86_64-cpython-311
      creating build/temp.linux-x86_64-cpython-311/uvloop
      x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/src/vs/github.com/etesync/server/v0.10.0/.venv/include -I/usr/include/python3.11 -I/tmp/pip-install-4otsvf84/uvloop_3b01d74c764742a582a885c41784180e/vendor/libuv/include -c uvloop/loop.c -o build/temp.linux-x86_64-cpython-311/uvloop/loop.o -O2
      uvloop/loop.c:214:12: fatal error: longintrepr.h: No such file or directory
        214 |   #include "longintrepr.h"
            |            ^~~~~~~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> uvloop

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

It might seem that some packages are missing on a new Debian install. They should be either be part of the venv (if they are Python packages), or documented (if they are apt packages).

daftaupe commented 8 months ago

Hi @martin-braun,

it looks like you're missing a few dependencies that provides ffi.h (seems to come from libffi-dev) longintrepr.h missing seems to lead to https://github.com/MagicStack/uvloop/issues/465, which says that uvloop 0.16 is not supporting Python 3.11.

But I see that our requirements.txt already pulls uvloop in version 0.17. Did you use latest commit ? or latest release ?

martin-braun commented 8 months ago

@daftaupe Thanks, I forgot to mention, I do not use the latest commit, I pulled the latest tag https://github.com/etesync/server/releases/tag/0.11.0. So you are telling me since Python probably had some updates and I use the latest Python I am forced to use the master branch?

I was hoping not to have to do this, because I prefer stability. But downgrading Python doesn't feel good either. I guess the preferred attempt would be to introduce pyenv into my setup to have etebase server be powered by Python 3.7 regardless?

daftaupe commented 8 months ago

@martin-braun I think it makes total sense to use a release, it's just that the latest here is kinda old Dec 9, 2022.

@tasn I think it would make sense to have a new release to avoid such issues. Could you please do that ?

eomanis commented 6 months ago

@martin-braun I think it makes total sense to use a release, it's just that the latest here is kinda old Dec 9, 2022.

@tasn I think it would make sense to have a new release to avoid such issues. Could you please do that ?

Yes please, do a new release if possible.

As far as I can tell the 0.11.0 release already has the bit rot on Arch since Python 3.12 was rolled out there as running etebase in a Python virtual environment no longer works for me.

I updated the system and Python got upgraded from 3.11 to 3.12. Which I noticed, and so I ran a python -m venv --upgrade python-venv, followed by (from within the venv) pip install --upgrade pip and pip install -r application/requirements.txt.

Unfortunately pip can no longer install these dependencies because they do not support Python 3.12:

Replacing them with newer, supported versions caused fatal runtime errors, so I had to resort to installing the Python 3.11 AUR package which thankfully does not conflict with the system Python 3.12 package.

After deleting the venv and creating a new one using the /usr/bin/python3.11 binary etebase seems to work again, although there are some exceptions printed about the Blake2B hash function not being available or something.

I basically just hope this doesn't mess anything up and will keep working until there is a release that supports Python 3.12, all my contacts and calendar entries are in there after all.

victor-rds commented 5 months ago

@tasn could you take look at the other dependencies? Recently you updated Django as part of #173, but still incompatible with python 3.12.

I tried to do new docker release of v0.13.1 but had to downgrade the python base image because of uvloop and httptools versions.

Skycoder42 commented 6 days ago

Any update on this?

eomanis commented 14 hours ago

Any update on this?

I can't realy talk about Debian 12, but tag v0.14.2 worked for me on Arch with Python 3.12 in a venv.