Kivy Buildozer VM sh.ErrorReturnCode_127 错误
Kivy Buildozer VM sh.ErrorReturnCode_127 error
我正在尝试在 Kivy 虚拟机上使用 Buildozer 为 APK 构建一个简单的 Python 程序。每次我 运行 buildozer android debug
,我都会得到以下错误
pid 2134:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 1540, in wrap
fn(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 2459, in background_thread
handle_exit_code(exit_code)
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 2157, in fn
return self.command.handle_command_exit_code(exit_code)
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 815, in handle_command_exit_code
raise exc
ErrorReturnCode_127:
RAN: /home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform /build/build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh
STDOUT:
/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/build /build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh: 2: exec: autoreconf: not found
STDERR:
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform /python-for-android/pythonforandroid/toolchain.py", line 1073, in <module>
main()
File "/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1067, in main
ToolchainCL()
File "/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 576, in __init__
getattr(self, args.subparser_name.replace('-', '_'))(args)
File "/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 151, in wrapper_func
build_dist_from_args(ctx, dist, args)
File "/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 200, in build_dist_from_args
build_recipes(build_order, python_modules, ctx)
File "pythonforandroid/build.py", line 562, in build_recipes
File "/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/libffi/__init__.py", line 33, in build_arch
shprint(sh.Command('./autogen.sh'), _env=env)
File "pythonforandroid/logger.py", line 178, in shprint
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 863, in next
self.wait()
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 792, in wait
self.handle_command_exit_code(exit_code)
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 815, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_127:
RAN: /home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/build/build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh
STDOUT:
/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/build /build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh: 2: exec: autoreconf: not found
STDERR:
# Command failed: /usr/bin/python -m pythonforandroid.toolchain create --dist_name=kivytest --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/kivy/Desktop /Projects/Kivy_Test/.buildozer/android/platform/build" --ndk-api=21
#
# Buildozer failed to execute the last command
# The error might be hidden in the log above this error
# Please read the full log, and search for it before
# raising an issue with buildozer itself.
# In case of a bug report, please add a full log with log_level = 2
注意:我的 buildozer.spec
中的 log_level
是 2。我尝试安装一些依赖项,但 Kivy VM 出于某种原因不允许我安装。如果有人能帮助我,那就太好了!
我有同样的问题,在我的情况下,我缺少 python-for-android 所需的以下系统依赖项,如文件中所述:python-for-android file
我缺少的依赖项:
- 自动制作
- 自动配置
- libltdl-dev
我在 Buildozer 的 Github 论坛中找到了解决方案:
Github Question
所以您可能还缺少一些依赖项。
对我来说 运行 以下命令非常有效:
sudo apt-get install automake
sudo apt-get install autoconf
sudo apt-get install libltdl-dev
我是 运行 macOS 10.14 和 Python 3.7。我用 buildozer 遇到了类似的问题,并在 buildozer/kivy github、google 组等中搜索了答案。所有答案都以 buildozer works on Linux 开头。对于 macOS,不直接支持 apt-get——Fink 是第三方端口。然而,Homebrew 在 macOS 上得到了很好的支持。为了解决 buildozer 问题,我使用 brew 安装了所需的包。具体
$ brew install automake
$ brew install autoconfig
$ brew install libtool
结果'buildozer -v android debug'成功
我正在尝试在 Kivy 虚拟机上使用 Buildozer 为 APK 构建一个简单的 Python 程序。每次我 运行 buildozer android debug
,我都会得到以下错误
pid 2134:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 1540, in wrap
fn(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 2459, in background_thread
handle_exit_code(exit_code)
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 2157, in fn
return self.command.handle_command_exit_code(exit_code)
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 815, in handle_command_exit_code
raise exc
ErrorReturnCode_127:
RAN: /home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform /build/build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh
STDOUT:
/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/build /build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh: 2: exec: autoreconf: not found
STDERR:
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform /python-for-android/pythonforandroid/toolchain.py", line 1073, in <module>
main()
File "/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1067, in main
ToolchainCL()
File "/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 576, in __init__
getattr(self, args.subparser_name.replace('-', '_'))(args)
File "/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 151, in wrapper_func
build_dist_from_args(ctx, dist, args)
File "/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 200, in build_dist_from_args
build_recipes(build_order, python_modules, ctx)
File "pythonforandroid/build.py", line 562, in build_recipes
File "/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/libffi/__init__.py", line 33, in build_arch
shprint(sh.Command('./autogen.sh'), _env=env)
File "pythonforandroid/logger.py", line 178, in shprint
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 863, in next
self.wait()
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 792, in wait
self.handle_command_exit_code(exit_code)
File "/usr/local/lib/python2.7/dist-packages/sh.py", line 815, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_127:
RAN: /home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/build/build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh
STDOUT:
/home/kivy/Desktop/Projects/Kivy_Test/.buildozer/android/platform/build /build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh: 2: exec: autoreconf: not found
STDERR:
# Command failed: /usr/bin/python -m pythonforandroid.toolchain create --dist_name=kivytest --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/kivy/Desktop /Projects/Kivy_Test/.buildozer/android/platform/build" --ndk-api=21
#
# Buildozer failed to execute the last command
# The error might be hidden in the log above this error
# Please read the full log, and search for it before
# raising an issue with buildozer itself.
# In case of a bug report, please add a full log with log_level = 2
注意:我的 buildozer.spec
中的 log_level
是 2。我尝试安装一些依赖项,但 Kivy VM 出于某种原因不允许我安装。如果有人能帮助我,那就太好了!
我有同样的问题,在我的情况下,我缺少 python-for-android 所需的以下系统依赖项,如文件中所述:python-for-android file
我缺少的依赖项:
- 自动制作
- 自动配置
- libltdl-dev
我在 Buildozer 的 Github 论坛中找到了解决方案: Github Question
所以您可能还缺少一些依赖项。 对我来说 运行 以下命令非常有效:
sudo apt-get install automake
sudo apt-get install autoconf
sudo apt-get install libltdl-dev
我是 运行 macOS 10.14 和 Python 3.7。我用 buildozer 遇到了类似的问题,并在 buildozer/kivy github、google 组等中搜索了答案。所有答案都以 buildozer works on Linux 开头。对于 macOS,不直接支持 apt-get——Fink 是第三方端口。然而,Homebrew 在 macOS 上得到了很好的支持。为了解决 buildozer 问题,我使用 brew 安装了所需的包。具体
$ brew install automake
$ brew install autoconfig
$ brew install libtool
结果'buildozer -v android debug'成功