Skip to content

can't build latest tensorflow io from source with python 3.12 #2156

Description

@cxh1020

Hi team,

It looks like TensorFlow I/O may not yet fully support Python 3.12. When I try to build the latest tf io from source with Python 3.12, I encounter the following error:

bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:139984:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
139984 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp: In function 'grpc_call_error __Pyx_PyInt_As_grpc_call_error(PyObject*)':
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:140163:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
140163 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:140218:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
140218 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp: In function 'size_t __Pyx_PyInt_As_size_t(PyObject*)':
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:140359:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
140359 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:140414:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
140414 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp: In function 'unsigned int __Pyx_PyInt_As_unsigned_int(PyObject*)':
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:140593:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
140593 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:140648:55: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
140648 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
       |                                                       ^~~~~~~~
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp: In function 'Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*)':
bazel-out/k8-opt/bin/external/com_github_grpc_grpc/src/python/grpcio/grpc/_cython/cygrpc.cpp:141211:47: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
141211 |     const digit* digits = ((PyLongObject*)b)->ob_digit;
       |                                               ^~~~~~~~
SUBCOMMAND: # @proj//:proj [action 'Compiling src/iso19111/operation/coordinateoperationfactory.cpp', configuration: 1eb5270c5bfcee71256c3f890d09cbc8dd9f0cfb545aac486e7f933abc9eb85a, execution platform: @local_execution_config_platform//:platform]

To reproduce:
run build.Dockerfile with python 3.12, tensorflow 2.16.1.

Could you please help confirm if Python 3.12 is supported, or suggest a workaround?

Thanks!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions