Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to build for Python 3.13 #525

Open
odrling opened this issue Oct 6, 2024 · 0 comments
Open

Fails to build for Python 3.13 #525

odrling opened this issue Oct 6, 2024 · 0 comments

Comments

@odrling
Copy link

odrling commented Oct 6, 2024

Describe the bug
I’ve been checking if our dependencies are ready for Python 3.13 before the release tomorrow and found that edgedb fails to build on Python 3.13 (currently 3.13.0rc3).

Seems related to changes discussed in python/cpython#111140

Reproduction
In a python 3.13 environment:

pip install git+https://github.com/edgedb/edgedb-python.git

or

git clone https://github.com/edgedb/edgedb-python.git  # or an existing clone of the repo 
pip install edgedb-python

current build log:

Collecting git+https://github.com/edgedb/edgedb-python.git
  Cloning https://github.com/edgedb/edgedb-python.git to /tmp/pip-req-build-to39ignx
  Running command git clone --filter=blob:none --quiet https://github.com/edgedb/edgedb-python.git /tmp/pip-req-build-to39ignx
  Resolved https://github.com/edgedb/edgedb-python.git to commit b647bdea57e908aa9e6b5d1d5617bc09a43006bc
  Running command git submodule update --init --recursive -q
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Installing backend dependencies: started
  Installing backend dependencies: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: edgedb
  Building wheel for edgedb (pyproject.toml): started
  Building wheel for edgedb (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error
  
  × Building wheel for edgedb (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [395 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/__init__.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/_taskgroup.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/_testbase.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/_version.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/abstract.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/asyncio_client.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/base_client.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/blocking_client.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/color.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/con_utils.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/connresource.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/credentials.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/describe.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/enums.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/introspect.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/options.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/platform.py -> build/lib.linux-x86_64-cpython-313/edgedb
      copying edgedb/transaction.py -> build/lib.linux-x86_64-cpython-313/edgedb
      creating build/lib.linux-x86_64-cpython-313/tests
      copying tests/__init__.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/bench_uuid.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_async_query.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_async_retry.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_async_tx.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_asyncio_client.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_blocking_client.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_codegen.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_con_utils.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_connect.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_credentials.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_datetime.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_enum.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_errors.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_globals.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_memory.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_namedtuples.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_postgis.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_proto.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_scram.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_sourcecode.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_state.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_sync_query.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_sync_retry.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_sync_tx.py -> build/lib.linux-x86_64-cpython-313/tests
      copying tests/test_vector.py -> build/lib.linux-x86_64-cpython-313/tests
      creating build/lib.linux-x86_64-cpython-313/edgedb/ai
      copying edgedb/ai/__init__.py -> build/lib.linux-x86_64-cpython-313/edgedb/ai
      copying edgedb/ai/core.py -> build/lib.linux-x86_64-cpython-313/edgedb/ai
      copying edgedb/ai/types.py -> build/lib.linux-x86_64-cpython-313/edgedb/ai
      creating build/lib.linux-x86_64-cpython-313/edgedb/codegen
      copying edgedb/codegen/__init__.py -> build/lib.linux-x86_64-cpython-313/edgedb/codegen
      copying edgedb/codegen/__main__.py -> build/lib.linux-x86_64-cpython-313/edgedb/codegen
      copying edgedb/codegen/cli.py -> build/lib.linux-x86_64-cpython-313/edgedb/codegen
      copying edgedb/codegen/generator.py -> build/lib.linux-x86_64-cpython-313/edgedb/codegen
      creating build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/__init__.py -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/range.py -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      creating build/lib.linux-x86_64-cpython-313/edgedb/errors
      copying edgedb/errors/__init__.py -> build/lib.linux-x86_64-cpython-313/edgedb/errors
      copying edgedb/errors/_base.py -> build/lib.linux-x86_64-cpython-313/edgedb/errors
      copying edgedb/errors/tags.py -> build/lib.linux-x86_64-cpython-313/edgedb/errors
      creating build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/__init__.py -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/types.py -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      creating build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/__init__.py -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      creating build/lib.linux-x86_64-cpython-313/edgedb/scram
      copying edgedb/scram/__init__.py -> build/lib.linux-x86_64-cpython-313/edgedb/scram
      copying edgedb/scram/saslprep.py -> build/lib.linux-x86_64-cpython-313/edgedb/scram
      creating build/lib.linux-x86_64-cpython-313/tests/datatypes
      copying tests/datatypes/__init__.py -> build/lib.linux-x86_64-cpython-313/tests/datatypes
      copying tests/datatypes/test_datatypes.py -> build/lib.linux-x86_64-cpython-313/tests/datatypes
      copying tests/datatypes/test_uuid.py -> build/lib.linux-x86_64-cpython-313/tests/datatypes
      running egg_info
      creating edgedb.egg-info
      writing edgedb.egg-info/PKG-INFO
      writing dependency_links to edgedb.egg-info/dependency_links.txt
      writing entry points to edgedb.egg-info/entry_points.txt
      writing requirements to edgedb.egg-info/requires.txt
      writing top-level names to edgedb.egg-info/top_level.txt
      writing manifest file 'edgedb.egg-info/SOURCES.txt'
      reading manifest file 'edgedb.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching '*.py' under directory 'examples'
      warning: no files found matching '*.pem' under directory 'tests'
      adding license file 'LICENSE'
      writing manifest file 'edgedb.egg-info/SOURCES.txt'
      /tmp/pip-build-env-tss9iqp_/overlay/lib/python3.13/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'edgedb.pgproto.codecs' is absent from the `packages` configuration.
      !!
      
              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'edgedb.pgproto.codecs' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.
      
              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'edgedb.pgproto.codecs' is explicitly added
              to the `packages` configuration field.
      
              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).
      
              You can read more about "package discovery" on setuptools documentation page:
      
              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
      
              If you don't want 'edgedb.pgproto.codecs' to be distributed and are
              already explicitly excluding 'edgedb.pgproto.codecs' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.
      
              You can read more about "package data files" on setuptools documentation page:
      
              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
      
      
              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************
      
      !!
        check.warn(importable)
      /tmp/pip-build-env-tss9iqp_/overlay/lib/python3.13/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'edgedb.protocol.codecs' is absent from the `packages` configuration.
      !!
      
              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'edgedb.protocol.codecs' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.
      
              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'edgedb.protocol.codecs' is explicitly added
              to the `packages` configuration field.
      
              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).
      
              You can read more about "package discovery" on setuptools documentation page:
      
              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
      
              If you don't want 'edgedb.protocol.codecs' to be distributed and are
              already explicitly excluding 'edgedb.protocol.codecs' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.
      
              You can read more about "package data files" on setuptools documentation page:
      
              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
      
      
              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************
      
      !!
        check.warn(importable)
      copying edgedb/py.typed -> build/lib.linux-x86_64-cpython-313/edgedb
      copying tests/credentials1.json -> build/lib.linux-x86_64-cpython-313/tests
      creating build/lib.linux-x86_64-cpython-313/tests/shared-client-testcases
      copying tests/shared-client-testcases/connection_testcases.json -> build/lib.linux-x86_64-cpython-313/tests/shared-client-testcases
      copying tests/shared-client-testcases/project_path_hashing_testcases.json -> build/lib.linux-x86_64-cpython-313/tests/shared-client-testcases
      copying edgedb/datatypes/__init__.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/args.c -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/comp.c -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/config_memory.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/config_memory.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/datatypes.c -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/datatypes.h -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/datatypes.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/datatypes.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/date_duration.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/date_duration.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/enum.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/freelist.h -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/hash.c -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/internal.h -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/link.c -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/linkset.c -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/namedtuple.c -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/object.c -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/pythoncapi_compat.h -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/record_desc.c -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/relative_duration.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/relative_duration.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/datatypes/repr.c -> build/lib.linux-x86_64-cpython-313/edgedb/datatypes
      copying edgedb/pgproto/__init__.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/buffer.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/buffer.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/consts.pxi -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/cpythonx.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/debug.h -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/debug.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/frb.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/frb.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/hton.h -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/hton.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/pgproto.c -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/pgproto.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/pgproto.pyi -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/pgproto.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/tohex.h -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/tohex.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      copying edgedb/pgproto/uuid.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto
      creating build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/__init__.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/bits.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/bytea.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/context.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/datetime.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/float.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/geometry.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/hstore.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/int.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/json.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/jsonpath.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/misc.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/network.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/numeric.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/pg_snapshot.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/text.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/tid.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/pgproto/codecs/uuid.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/pgproto/codecs
      copying edgedb/protocol/asyncio_proto.c -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/asyncio_proto.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/asyncio_proto.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/blocking_proto.c -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/blocking_proto.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/blocking_proto.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/consts.pxi -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/cpythonx.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/lru.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/lru.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/protocol.c -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/protocol.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/protocol.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/protocol_v0.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      copying edgedb/protocol/protocol_v0.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol
      creating build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/array.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/array.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/base.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/base.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/codecs.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/codecs.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/edb_types.pxi -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/enum.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/enum.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/namedtuple.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/namedtuple.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/object.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/object.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/range.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/range.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/scalar.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/scalar.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/set.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/set.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/tuple.pxd -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      copying edgedb/protocol/codecs/tuple.pyx -> build/lib.linux-x86_64-cpython-313/edgedb/protocol/codecs
      running build_ext
      building 'edgedb.pgproto.pgproto' extension
      creating build/temp.linux-x86_64-cpython-313/edgedb/pgproto
      x86_64-pc-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -fPIC -I/home/odrling/git/misc/edgedb-python/.venv/python-3.13/include -I/usr/include/python3.13 -c edgedb/pgproto/pgproto.c -o build/temp.linux-x86_64-cpython-313/edgedb/pgproto/pgproto.o -O2 -std=gnu99 -fsigned-char -Wall -Wsign-compare -Wconversion -Wno-error=incompatible-pointer-types
      edgedb/pgproto/pgproto.c:864:1: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
        864 | static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
            | ^~~~~~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_Py_UNICODE_strlen’:
      edgedb/pgproto/pgproto.c:865:5: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
        865 |     const Py_UNICODE *u_end = u;
            |     ^~~~~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_init_assertions_enabled’:
      edgedb/pgproto/pgproto.c:1663:39: error: implicit declaration of function ‘_PyInterpreterState_GetConfig’; did you mean ‘PyInterpreterState_GetID’? [-Wimplicit-function-declaration]
       1663 |     __pyx_assertions_enabled_flag = ! _PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
            |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |                                       PyInterpreterState_GetID
      edgedb/pgproto/pgproto.c:1663:105: error: invalid type argument of ‘->’ (have ‘int’)
       1663 |     __pyx_assertions_enabled_flag = ! _PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
            |                                                                                                         ^~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_PyUnicode_Join’:
      edgedb/pgproto/pgproto.c:38108:13: error: implicit declaration of function ‘_PyUnicode_FastCopyCharacters’; did you mean ‘PyUnicode_CopyCharacters’? [-Wimplicit-function-declaration]
      38108 |             _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
            |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |             PyUnicode_CopyCharacters
      In file included from /usr/include/python3.13/internal/pycore_code.h:12,
                       from /usr/include/python3.13/internal/pycore_frame.h:13,
                       from edgedb/pgproto/pgproto.c:40696:
      /usr/include/python3.13/internal/pycore_backoff.h: In function ‘make_backoff_counter’:
      /usr/include/python3.13/internal/pycore_backoff.h:60:20: warning: conversion from ‘uint16_t’ {aka ‘short unsigned int’} to ‘short unsigned int:12’ may change value [-Wconversion]
         60 |     result.value = value;
            |                    ^~~~~
      /usr/include/python3.13/internal/pycore_backoff.h:61:22: warning: conversion from ‘uint16_t’ {aka ‘short unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
         61 |     result.backoff = backoff;
            |                      ^~~~~~~
      /usr/include/python3.13/internal/pycore_backoff.h: In function ‘restart_backoff_counter’:
      /usr/include/python3.13/internal/pycore_backoff.h:78:66: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
         78 |         return make_backoff_counter((1 << (counter.backoff + 1)) - 1, counter.backoff + 1);
            |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_PyInt_As_int’:
      edgedb/pgproto/pgproto.c:40985:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      40985 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                           ^~~~~~~~~~~~~~~~~~~
      In file included from /usr/include/python3.13/longobject.h:107,
                       from /usr/include/python3.13/Python.h:81,
                       from edgedb/pgproto/pgproto.c:33:
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_PyInt_As_int64_t’:
      edgedb/pgproto/pgproto.c:41219:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      41219 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_PyInt_As_int32_t’:
      edgedb/pgproto/pgproto.c:41415:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      41415 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_PyInt_As_long’:
      edgedb/pgproto/pgproto.c:41611:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      41611 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_PyInt_As_uint8_t’:
      edgedb/pgproto/pgproto.c:41921:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      41921 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_PyInt_As_unsigned_char’:
      edgedb/pgproto/pgproto.c:42117:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      42117 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_PyInt_As_int16_t’:
      edgedb/pgproto/pgproto.c:42427:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      42427 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_PyInt_As_char’:
      edgedb/pgproto/pgproto.c:42661:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      42661 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_PyInt_As_int8_t’:
      edgedb/pgproto/pgproto.c:42857:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      42857 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_PyInt_As_uint32_t’:
      edgedb/pgproto/pgproto.c:43091:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      43091 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      edgedb/pgproto/pgproto.c: In function ‘__Pyx_PyInt_As_uint64_t’:
      edgedb/pgproto/pgproto.c:43287:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      43287 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      error: command '/usr/bin/x86_64-pc-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 edgedb
Failed to build edgedb
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (edgedb)

Expected behavior
edgedb-python installs correctly in a Python 3.13.

  • OS: Gentoo Linux
  • EdgeDB version: N/A
  • EdgeDB CLI version: N/A
  • edgedb-python version: 2.1.0 (b647bde)
  • Python version: 3.13.0rc3, reproduced in 3.13.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant