Skip to content

Python 3.13 compatibility #6

@dehnert

Description

@dehnert

Trying to build with Python 3.13 (and commit 300a924, aka https://github.com/macathena/python-afs/tree/py3 -- which is dubiously appropriate for this repo, but Macathena doesn't have issues enabled) gives:

* Getting build dependencies for wheel...
* Building wheel...
[1/1] Cythonizing afs/_util.pyx
/nix/store/wsrjvz1x8y73zcnsvf9wa3rl9vvj2532-python3.13-cython-3.0.12/lib/python3.13/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3)>
  tree = Parsing.p_module(s, pxd, full_module_name)
In file included from /nix/store/0m7q35xsmz8arjy18jfsshfqvf5ga7j8-openafs-1.8.13.2-dev/include/afs/prclient.h:11,
                 from afs/_util.c:1267:
/nix/store/0m7q35xsmz8arjy18jfsshfqvf5ga7j8-openafs-1.8.13.2-dev/include/ubik.h:171:17: error: field ‘cache_lock’ has incomplete type
  171 |     struct Lock cache_lock; /*!< protects cached application data */
      |                 ^~~~~~~~~~
error: command '/nix/store/rw8447qyjljmfiac0hhfc2jrspjnpn75-gcc-wrapper-14.2.1.20250322/bin/gcc' failed with exit code 1

ERROR Backend subprocess exited when trying to invoke build_wheel

It looks like Py3.13 ships with include/python3.13/lock.h, which conflicts with OpenAFS's lock.h.

I'm not actually sure what one usually does about this -- patch one of OpenAFS and Python as part of the build process?

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