ohos-build 安装失败分析
ohos-build 安装失败分析
一、问题现象
使用 pip 工具指令:
python3 -m pip install --user ohos-build
下载 ohos-build 编译工具正常下载,但是测试 hb 指令时出现报错,提示在源码根目录调用 hb :
Traceback (most recent call last):
File "/home/jeck/.local/bin/hb", line 8, in
sys.exit(main())
File "/home/jeck/.local/lib/python3.9/site-packages/hb/main.py", line 49, in main
topdir = find_top()
File "/home/jeck/.local/lib/python3.9/site-packages/hb/main.py", line 37, in find_top
raise Exception("Please call hb utilities inside source root directory")
Exception: Please call hb utilities inside source root directory
二、分析解决问题
从报错上看起来一头雾水,看不出问题,具体分析需要扒源码查看,在 linux 下使用 vim 打开 main.py 文件,查看报错的函数 find_top(),代码如下:
def find_top():cur_dir = os.getcwd()while cur_dir != "/":hb_internal = os.path.join(cur_dir, 'build/lite/hb_internal')if os.path.exists(hb_internal):return cur_dircur_dir = os.path.dirname(cur_dir)raise Exception("Please call hb utilities inside source root directory")
这段代码调用了python 的 os 库的路径操作函数,功能就是获取当前目录,然后加上 build/lite/hb_internal 路径,再调用 os.path.exists 测试路径是否存在,如果存在则返回路径,不存在则调用 os.path.dirname 函数,改变 cur_dir 目录为上一级,重新拼接测试路径是否存在,循环到顶层目录,如果一直不存在则异常报错,打印
Please call hb utilities inside source root directory
我们到 /home/jeck/.local/lib/python3.9/site-packages/hb/
目录下查看,发现 build/lite/hb_internal
目录不存在,该目录是内核源码,没有内核源码,无法执行,我去 ohos_build 开源库看一看
将源码拷贝到本地,修改脚本的调用路径,调用下载源码,然后 hb 测试正常
三、出现新问题
在使用 hb set 设置编译选项时,设置无法生效,毕竟是直接搬源码,无法使用正常,所以又回到源码仓库,在 issue 发现官方提示,目前 ohos-build 版本是 0.4.6,对以前的版本不能支持,但小熊派官方教程没有及时更新指令,所以安装使用如下指令:
python3 -m pip install --user ohos-build==0.4.3
修改后安装 ohos-build 就可以正常使用了,目前这个问题已经反馈给小熊派官方,指令已经修正
ohos-build 安装失败分析相关推荐
- adb应用安装失败分析
1. adb安装应用的时候有时可能失败,报出如下失败信息: [100%]/data/local/tmp/map-20160831.apkpkg:/data/local/tmp/map-20160831 ...
- Oracle EBS R12 On Oracle Enterprice 5.2 安装失败 分析和解决过程
分析和解决方法看最后的说明 [@more@] 错误如下:原因正在查找中..估计原因是创建控制文件失败.. 由于是晚上自己的安装了,所以..没注意这些 Login Page ----------- ch ...
- 【安骑士】安装失败问题分析
适用范围:本文的脚本只适用于阿里云云内机器. 问题现象 适用命令进行安装时一直提示安装失败,如下图 调试命令 下载新的安装脚本 wget update.aegis.aliyun.com/downloa ...
- linux系统脚本安装失败,ubuntu16.04下vim安装失败的原因分析及解决方案
先给大家说下问题描述? 重装了ubuntu系统,安装vim出现了以下问题: sudo apt-get install vim 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信 ...
- cocoapods 安装失败 ERROR: Error installing cocoapods: ERROR: Failed to build gem native extension.
cocoapods 安装失败 完整报错 尝试安装 我的问题 使用 Alamofire 需要基于 CocoaPods,但是在尝试安装 CocoaPods 的过程中遇到了很多问题,捣鼓了很久都失败了,最后 ...
- win7安装android驱动失败怎么办,Win7蓝牙驱动安装失败的原因分析与解决方法
蓝牙是一种支持设备短距离通信的无线电技术,现在不管是手机还是电脑都已经普遍的使用蓝牙功能了.如果Win7系统电脑没有安装蓝牙驱动的话,是需要安装后才能使用的.最近,有用户在安装蓝牙驱动的时候,发现安装 ...
- MATLAB安装失败,MATLAB软件总是运行特别慢原因分析
MATLAB安装失败,MATLAB软件总是运行特别慢原因分析 原因:以前安装的matlab含有许可文件未删除. 解决方法:将c盘matlab文件全部删除即可.解决许可文件逆破解).
- 【安骑士】安装失败问题分析 1
适用范围:本文的脚本只适用于阿里云云内机器. 问题现象 适用命令进行安装时一直提示安装失败,如下图 调试命令 下载新的安装脚本 wget update.aegis.aliyun.com/downloa ...
- Saleae Logic USB逻辑分析仪(SX24M8)安装失败原因分析
工作环境(蓝色粗体字为特别注意内容) 1,软件环境:Windows 7 Ultimate sp1.Logic Setup 1.1.15 (32-bit) 2,参考文献: ① https://bbs.c ...
最新文章
- AI模型走下高科技神坛、走进大规模量产、深入渗透产业界丨百度研究院2020十大预测...
- 现在的学生太强了,徒手撸了一个小米商城项目(附源码)!
- 序列化流与反序列化流
- 分享B2B信息发布小技巧
- 福禄克OFP光纤测试仪5个强大的功能
- pycharm下的第一个函数程序
- Java基础练习之流程控制(三)
- 【图像去噪】基于matlab高斯+低通+巴特沃斯滤波虹膜图像滤波【含Matlab源码 501期】
- 8 个顶级网络攻击地图以及如何使用它们
- [ChneChen的随笔]中国文化清单上我们还记得什么
- 将无线鼠标改造成有线鼠标
- Laravel和Vue提供支持的VueFileManager v2.0.2私有云盘多用户网盘程序源码
- 高等数学学习笔记——第六十讲——向量值函数的导数与积分
- 为什么需要工作流调度系统?
- js中offset、client、scroll的区别
- 小i机器人最珍贵的双旦礼物:客户的认可和满意度
- 机器学习在制冷与空调方面的应用
- pdf预览在vue项目中的使用兼容ie浏览器
- java计算还有几天生日_计算你的下一个生日还有多少天,是星期几?
- 我才20岁,要接受自己的平庸吗?