PyAV-Org / PyAV

Pythonic bindings for FFmpeg's libraries.
https://pyav.basswood-io.com/
BSD 3-Clause "New" or "Revised" License
2.47k stars 360 forks source link

av/frame.pxd:1:8: 'libav.pxd' not found #1426

Closed wilsonlv closed 3 months ago

wilsonlv commented 3 months ago

Reproduction

buildozer android debug

[1/1] Cythonizing av/data/stream.pyx
Traceback (most recent call last):
  File "/xxx/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/av-openssl/armeabi-v7a__ndk_target_24/av/setup.py", line 191, in <module>
    setup(
  File "/xxx.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages/setuptools/__init__.py", line 103, in setup
    return distutils.core.setup(**attrs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/xxx/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages/setuptools/_distutils/core.py", line 171, in setup
    ok = dist.parse_command_line()
         ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/xxx/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages/setuptools/_distutils/dist.py", line 476, in parse_command_line
    args = self._parse_command_opts(parser, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/xxx/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages/setuptools/dist.py", line 870, in _parse_command_opts
    nargs = _Distribution._parse_command_opts(self, parser, args)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/xxx/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages/setuptools/_distutils/dist.py", line 542, in _parse_command_opts
    raise DistutilsClassError(
distutils.errors.DistutilsClassError: command class <class 'setuptools.command.build_ext.build_ext'> must subclass Command

  STDERR:

[INFO]:    av first build failed (as expected)
[INFO]:    Running cython where appropriate
[INFO]:    Cythonize av/plane.pyx
[DEBUG]:   -> running python3 -cimport sys; from Cython.Compiler.Main import setuptools_main; sys.exit(setuptools_main()); ./av/plane.pyx
[DEBUG]:        /usr/local/lib/python3.10/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /xxx/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/av-openssl/armeabi-v7a__ndk_target_24/av/av/plane.pxd
[DEBUG]:          tree = Parsing.p_module(s, pxd, full_module_name)
[DEBUG]:        Error compiling Cython file:
[DEBUG]:        ------------------------------------------------------------
[DEBUG]:        ...
[DEBUG]:        cimport libav as lib
[DEBUG]:                ^
[DEBUG]:        ------------------------------------------------------------
[DEBUG]:
[DEBUG]:        av/frame.pxd:1:8: 'libav.pxd' not found
[DEBUG]:
[DEBUG]:        Error compiling Cython file:
[DEBUG]:        ------------------------------------------------------------
[DEBUG]:        ...
[DEBUG]:        cimport libav as lib
[DEBUG]:
[DEBUG]:
[DEBUG]:        cdef class Codec:
[DEBUG]:
[DEBUG]:            cdef const lib.AVCodec *ptr
[DEBUG]:                       ^
[DEBUG]:        ------------------------------------------------------------
[DEBUG]:
[DEBUG]:        av/codec/codec.pxd:6:15: 'AVCodec' is not a type identifier
[DEBUG]:
[DEBUG]:        Error compiling Cython file:
[DEBUG]:        ------------------------------------------------------------
[DEBUG]:        ...
[DEBUG]:
[DEBUG]:
[DEBUG]:        cdef class Codec:
[DEBUG]:
[DEBUG]:            cdef const lib.AVCodec *ptr
[DEBUG]:            cdef const lib.AVCodecDescriptor *desc
[DEBUG]:                       ^
[DEBUG]:        ------------------------------------------------------------
[DEBUG]:
[DEBUG]:        av/codec/codec.pxd:7:15: 'AVCodecDescriptor' is not a type identifier

Versions

PyAV v12.1.0 Cython 3.0.10

Research

I have done the following:

WyattBlue commented 3 months ago

We don't officially support Android, so this isn't a valid issue for us.