OpenKinect / libfreenect

Drivers and libraries for the Xbox Kinect device on Windows, Linux, and OS X
http://openkinect.org
3.55k stars 1.15k forks source link

libfreenect fails to build after latest commit #680

Closed Marwan-Refaat closed 6 months ago

Marwan-Refaat commented 6 months ago

I am on Ubuntu 20.04 Cython3 (0.29.14) and Python3 (3.8.10)

When building libfreenect using:

cmake .. -L -DBUILD_PYTHON3=ON -DPython3_EXACTVERSION=3.8.10 -DCYTHON_EXECUTABLE=/usr/bin/cython3

I get the following error when generating freenect3.c:

[ 96%] Generating freenect3.c

Error compiling Cython file:
------------------------------------------------------------
...
    dev_out.ctx = ctx
    return dev_out

_depth_cb, _video_cb = None, None

cdef void depth_cb(freenect_device *dev, void *data, uint32_t timestamp) noexcept with gil:
                                                                        ^
/home/marwan/sandbox/libfreenect/wrappers/python/freenect.pyx:325:73: Syntax error in C variable declaration

I solved this by reverting to tag 0.7.0 and building again.

I believe this is due to the latest commit on 2 Jan 2024 (5341ff68aa946a11ac0df3b050f2524d7c51a825)

piedar commented 6 months ago

Sorry, a9806d3 broke it even worse because legacy_implicit_noexcept is not necessarily defined. With 09a1f09 it should finally be correct with a copy of the pyx file to keep cython 0.x and 3.x totally separate.