M1 Mac 上的 Buildozer Kivy 错误:错误:函数'sendfile'的隐式声明在 C99 中无效 [-werror,-wimplicit-function-declaration



我目前正试图使我的kivy应用程序进入apk,所以我可以在我的手机上运行它。我使用的教程使用了buildozer,我按照它说的做了。然后我得到错误configure: error: Unexpected output of 'arch' on OSX,我认为这与我使用M1芯片的Mac有关。为了防止这可能会影响它,我在应用程序中使用Pipenv。

我Pipfile:

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
kivy = {extras = ["base"], file = "https://github.com/kivy/kivy/archive/master.zip"}
buildozer = "*"
[dev-packages]
[requires]
python_version = "3.9"

命令运行:

buildozer -v android debug

完整错误和文件:https://github.com/sqwatato/Buildozer-Kivy-MacM1-Error/tree/main

编辑:我用终端中的rosetta解决了这个问题。但现在我有了另一个错误:p我删除了我的spec文件,但你仍然可以在github中查看它。

我的新错误似乎是与c++的东西?错误日志中提到了很多gcc和指针,我认为它们来自c++。我想我有错误的版本或依赖项,我没有安装,虽然我真的不知道。

错误在这里。github.

/Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Modules/posixmodule.c:9084:15: error: implicit declaration of function 'sendfile' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
ret = sendfile(in, out, offset, &sbytes, &sf, flags);
^
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall    -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration  -I/Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include/internal -IObjects -IInclude -IPython -I. -I/Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include    -DPy_BUILD_CORE_BUILTIN  -c /Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Modules/_sre.c -o Modules/_sre.o
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall    -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration  -I/Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include/internal -IObjects -IInclude -IPython -I. -I/Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Include    -DPy_BUILD_CORE_BUILTIN  -c /Users/jaydenl/Dev/kivy/kvcalc/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/Modules/_codecsmodule.c -o Modules/_codecsmodule.o
1 error generated.
make: *** [Modules/posixmodule.o] Error 1
make: *** Waiting for unfinished jobs....
1 warning generated.

完整错误和文件:https://github.com/sqwatato/Buildozer-Kivy-MacM1-Error/tree/main

我第一个错误的答案是使用Rosetta 2作为终端。第二个问题,https://groups.google.com/g/kivy-users/c/T4ek52mmvpw。我贴了补丁,它起作用了。

相关内容

最新更新