cmake - 如何修复 Buildozer 构建失败并出现 cmake 错误
问题描述
我正在尝试使用 buildozer 构建 Kivy 应用程序。我已经升级到 buildozer 0.39。构建失败:
File "~/.local/lib/python2.7/site-packages/sh.py", line 672, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_1:
RAN: /bin/rm -f CMakeCache.txt CMakeFiles/
STDOUT:
/bin/rm: cannot remove 'CMakeFiles/': Is a directory
我已经安装了 cmake 版本 3.5.1
编辑 2019 年 4 月 18 日
已安装 cython 0.21 版。
我已经使用此处的说明卸载了 cmake 并重新安装了 3.14.2 版。
我已经删除了 .buildozer 目录。当我现在运行 buildozer I 时,会遇到以下问题:
RAN: ./autogen.sh
STDOUT:
./autogen.sh: 2: exec: autoreconf: not found
后
sudo apt install autoconf libtool
我现在得到错误:
STDOUT:
File "setup.py", line 159
print "--- using Tcl/Tk libraries at", TCL_ROOT
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("--- using Tcl/Tk libraries at", TCL_ROOT)?
编辑 2019 年 4 月 19 日
如果我卸载 buildozer 它似乎是 python 2.7
/usr/local/lib/python2.7/dist-packages/buildozer-0.39.dist-info/*
我已经从 python 版本为 2.7.12 的目录安装了 buildozer
如何将 buildozer 定位到 python 2.7?
我怎样才能知道它是如何定位的?
我如何使用这些信息?
我曾尝试在带有 python 3 的 virtualenv 中使用 buildozer,但我得到了同样的错误。
我搞不清楚了。我看过Docker,但我不知道如何安装或使用它。它是否假定 buildozer 的工作版本?它是什么?它会解决我的问题吗?
编辑 2019 年 4 月 21 日
当我跑
docker run --volume "$HOME/.buildozer":/home/user/.buildozer --volume "$PWD":/home/user/hostcwd kivy/buildozer --version
'Buildozer 0.40.dev0'。
但是,当我尝试运行
docker run --volume "$HOME/.buildozer":/home/user/.buildozer --volume "$PWD":/home/user/hostcwd kivy/buildozer android debug
我得到错误:
将 /home/user/.buildozer/android/platform/android-ndk-r17c 重命名为 /home/jeff/.buildozer/crystax-ndk/crystax-ndk-10.3.2 失败,因为 /home/jeff/.buildozer/crystax- ndk/crystax-ndk-10.3.2 不是目录
编辑 2019 年 4 月 22 日
我现在已经注释掉了
#android.ndk_path
来自 buildozer.spec
我现在得到错误:
cwd /home/user/hostcwd/.buildozer/android/platform/python-for-android
命令失败:/usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=bfgApp --bootstrap=sdl2 --requirements=python2,kivy,pil,docutils,pathlib,html2rest --arch armeabi-v7a --copy-库 --color=always --storage-dir="/home/user/hostcwd/.buildozer/android/platform/build" --ndk-api=21
解决方案
我删除了这个包的 CMakeFiles 目录并重新运行 buildozer build 并且它通过了(在 dir .buildozer/android/platform/build/build/other_builds/jpeg/armeabi-v7a__ndk_target_21/jpeg 中)
推荐阅读
- ios - iOS 中的 Crashlytics 无法继续“构建并运行您的应用程序”步骤
- django - docker容器之间的端口转发
- nativescript - Nativescript-Angular 代码共享:如何创建特定于平台的模块?
- karate - 在空手道框架中验证 API 响应
- c# - 如何用枚举替换事件ID?
- azure - Azure Windows Docker 容器实例给出 404 Not Found
- crf - 无法使用自己的 crf 模型标记公报实体
- java - OAuth 2 spring Webclient 用于密码授予
- ruby-on-rails - 生产中的 Rails 环回/重定向问题
- ngdraggable - 当在表格单元格(td)中使用时,ngDraggable 不提供正在删除项目的目标容器属性