0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙OpenHarmony:【常见编译问题和解决方法】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-05-11 16:09 次阅读

常见问题

常见编译问题和解决方法

鸿蒙开发指导文档:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

提示“usr/sbin/ninja: invalid option -- w”

  • 现象描述: 编译失败,提示“usr/sbin/ninja: invalid option -- w”。
  • 可能原因: 编译环境中ninja版本太低,不支持--w选项。
  • 解决办法: 卸载环境中ninja和gn,按照[获取工具]。

提示“/usr/bin/ld: cannot find -lncurses”

  • 现象描述: 编译失败,提示“/usr/bin/ld: cannot find -lncurses”。
  • 可能原因: 编译环境ncurses库缺失。
  • 解决办法:
    sudo apt-get install lib32ncurses5-dev
    

提示“line 77: mcopy: command not found”

  • 现象描述: 编译失败,提示“line 77: mcopy: command not found”。
  • 可能原因: 编译环境未安装mcopy。
  • 解决办法:
    sudo apt-get install dosfstools mtools
    

提示“riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory”

  • 现象描述: 编译失败,提示“riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory”。

  • 可能原因: 当前用户对riscv编译器路径下的文件访问权限不够。

  • 解决办法: 查询gcc_riscv32所在目录。

    which riscv32-unknown-elf-gcc
    

    使用chmod命令修改目录权限为755。

提示“No module named 'Crypto'”

  • 现象描述: 编译失败,提示“No module named 'Crypto'”。
  • 可能原因: python3未安装Crypto。
  • 解决办法:
    1. 查询Python版本号。
      python3 --version
      
    2. 需使用python3.9.2以上版本,然后安装pycryptodome。
      sudo pip3 install pycryptodome
      

提示“xx.sh : xx unexpected operator”

  • 现象描述: 编译失败:“xx.sh [: xx unexpected operator”。
  • 可能原因: 编译环境shell不是bash。
  • 解决办法:
    sudo rm -rf /bin/sh
    sudo ln -s /bin/bash /bin/sh
    

提示“some services are not authenticated. Listed as follow”

  • 现象描述: 编译失败:“some services are not authenticated. Listed as follow”。
  • 可能原因: 报错中列举出来的进程.cfg配置文件中,定义了uid为root或system,而该进程并不在产品定义的高权限进程允许范围内。
  • 解决办法:
    1. 降低进程的权限等级。修改.cfg配置文件中的uid定义,非必需的场景下,不要定义uid为root或system。
      如果由于实现业务功能需要,进程必须要有root或system权限,只有在联系安全专家评审,通过安全审视后,方可修改产品的高权限进程管控列表,配置文件路径为"vendor/{公司名称}/{产品名称}/security_config/high_privilege_process_list.json"。
      示例:rk3586的高权限进程配置文件位于//vendor/hihope/rk3568/security_config/high_privilege_process_list.json

提示“Error: some services do not match with critical whitelist”

  • 现象描述: 编译失败:“Error: some services do not match with critical whitelist”。
  • 可能原因: 报错中列举出来的进程.cfg配置文件中,定义并使能了critical字段,而该进程未被允许添加critical字段,或该字段配置与白名单中不符。
  • 解决办法:
    移除进程的critical字段或把critical字段第一位置0。修改原服务.cfg配置文件中的critical字段,非必需的场景下,不要使能critical字段。
    关于critical字段的详细使用方法,请参考[服务配置]。如果由于实现业务功能需要,进程必须要使能critical字段,只有在联系安全专家评审,通过安全审视后,方可修改产品的critical_reboot进程管控白名单//vendor/{公司名称}/{产品名称}/security_config/critical_reboot_process_list.json
    示例:rk3586的critical_reboot进程管控白名单为//vendor/hihope/rk3568/security_config/critical_reboot_process_list.json

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编译
    +关注

    关注

    0

    文章

    657

    浏览量

    32852
  • 鸿蒙
    +关注

    关注

    57

    文章

    2342

    浏览量

    42821
  • OpenHarmony
    +关注

    关注

    25

    文章

    3715

    浏览量

    16257
收藏 人收藏

    评论

    相关推荐

    如何让OpenHarmony编译速度“狂飙”

    OpenHarmony 有两种编译方式,一种是通过 hb 工具编译,一种是通过 build.sh 脚本编译。本文笔者将提升 build.sh 方式
    的头像 发表于 02-14 09:31 1968次阅读

    Keil C编译常见警告与错误信息的解决方法

    Keil C编译常见警告与错误信息的解决方法
    发表于 08-20 14:12

    4418开发板常见问题及解决方法

    这里有我们总结的一些关于4418开发板的一些常见问题和解决方法,供大家参考
    发表于 09-27 10:38

    贴片机送料器系统的故障表现和解决方法

    料器,在机器运行时进行这项工作是被严格禁止的,需按下列步骤进行。  ①按下Cycle Stop开关,等待机器停止;  ②拔下或安装送料器;  ③松开Cycle Stop按钮;  ④按下Start按键继续生产。  (2)常见的送料器故障表现和解决方法  如表2所示。  表2
    发表于 09-07 16:33

    BIOS错误信息和解决方法

    BIOS错误信息和解决方法 1.CMOS battery failed(CMOS电池失效) 原因:说明CMOS电池的电力已经不
    发表于 03-10 11:49 3867次阅读

    光绘胶卷一些常见的冲洗问题和解决方法(图解法)

    光绘胶卷一些常见的冲洗问题和解决方法(图解法)
    发表于 03-15 10:25 1328次阅读

    常见gcc编译警告整理以及解决方法

     GCC有很多的编译选项,警告选项;指定头文件、库路径;优化选项。本文针整理一下GCC的警告选项以及gcc编译警告整理和解决方法为中心而展开的讨论。
    发表于 11-14 11:19 2.1w次阅读

    labview有哪些常见问题?labview三个常见问题和解决方法概述

    本文档的主要内容详细介绍的是labview有哪些常见问题?labview三个常见问题和解决方法概述三个常见问题是:1.labview在运行后关闭的时候出现重置vi。一直无法关闭,并且无
    发表于 09-18 18:53 0次下载

    如何进行MP3的简易维修常见故障和解决方法资料免费下载

    本文档的主要内容详细介绍的是如何进行MP3的简易维修常见故障和解决方法资料免费下载。
    发表于 05-30 08:00 3次下载
    如何进行MP3的简易维修<b class='flag-5'>常见</b>故障<b class='flag-5'>和解决方法</b>资料免费下载

    openharmony鸿蒙区别

    OpenHarmony是HarmonyOS的开源版。 华为的鸿蒙操作系统是纯自己研发的,但是openharmony却不是华为的,openharmony是由开放原子开源基金会(OpenA
    的头像 发表于 06-24 16:21 4141次阅读

    保护死区的概念和解决方法

    保护死区的概念和解决方法
    的头像 发表于 07-15 11:02 1474次阅读
    保护死区的概念<b class='flag-5'>和解决方法</b>

    变频器过热的故障原因和解决方法

    变频器过热的故障原因和解决方法
    的头像 发表于 10-24 10:09 5710次阅读

    GSM系统中干扰问题的分类、定位和解决方法

    电子发烧友网站提供《GSM系统中干扰问题的分类、定位和解决方法.pdf》资料免费下载
    发表于 11-17 16:53 0次下载
    GSM系统中干扰问题的分类、定位<b class='flag-5'>和解决方法</b>

    热电阻测量技巧:如何准确判断其好坏?常见错误和解决方法有哪些

    热电阻测量技巧:如何准确判断其好坏?常见错误和解决方法有哪些 热电阻是一种常见的温度传感器,广泛应用于工业自动化、电力系统、环境监测等领域中。热电阻的好坏对测量结果具有重要影响,因此准确判断热电阻
    的头像 发表于 12-15 10:31 2221次阅读

    常见的锡珠形成的原因和解决方法

    及时进行处理的话可能会影响到板子的使用寿命和使用可靠性,下面深圳佳金源锡膏厂家给大家简单介绍一下常见的锡珠形成的原因和解决方法:一、形成原因1、感应熔敷在焊接加热
    的头像 发表于 06-01 11:02 834次阅读
    <b class='flag-5'>常见</b>的锡珠形成的原因<b class='flag-5'>和解决方法</b>