常見(jiàn)問(wèn)題
常見(jiàn)編譯問(wèn)題和解決方法
鴻蒙開(kāi)發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
提示“usr/sbin/ninja: invalid option -- w”
- 現(xiàn)象描述: 編譯失敗,提示“usr/sbin/ninja: invalid option -- w”。
- 可能原因: 編譯環(huán)境中ninja版本太低,不支持--w選項(xiàng)。
- 解決辦法: 卸載環(huán)境中ninja和gn,按照[獲取工具]。
提示“/usr/bin/ld: cannot find -lncurses”
- 現(xiàn)象描述: 編譯失敗,提示“/usr/bin/ld: cannot find -lncurses”。
- 可能原因: 編譯環(huán)境ncurses庫(kù)缺失。
- 解決辦法:
sudo apt-get install lib32ncurses5-dev
提示“l(fā)ine 77: mcopy: command not found”
- 現(xiàn)象描述: 編譯失敗,提示“l(fā)ine 77: mcopy: command not found”。
- 可能原因: 編譯環(huán)境未安裝mcopy。
- 解決辦法:
sudo apt-get install dosfstools mtools
提示“riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory”
現(xiàn)象描述: 編譯失敗,提示“riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory”。
可能原因: 當(dāng)前用戶(hù)對(duì)riscv編譯器路徑下的文件訪問(wèn)權(quán)限不夠。
解決辦法: 查詢(xún)gcc_riscv32所在目錄。
which riscv32-unknown-elf-gcc
使用chmod命令修改目錄權(quán)限為755。
提示“No module named 'Crypto'”
- 現(xiàn)象描述: 編譯失敗,提示“No module named 'Crypto'”。
- 可能原因: python3未安裝Crypto。
- 解決辦法:
提示“xx.sh : xx unexpected operator”
- 現(xiàn)象描述: 編譯失?。骸皒x.sh [: xx unexpected operator”。
- 可能原因: 編譯環(huán)境shell不是bash。
- 解決辦法:
sudo rm -rf /bin/sh sudo ln -s /bin/bash /bin/sh
提示“some services are not authenticated. Listed as follow”
- 現(xiàn)象描述: 編譯失?。骸皊ome services are not authenticated. Listed as follow”。
- 可能原因: 報(bào)錯(cuò)中列舉出來(lái)的進(jìn)程.cfg配置文件中,定義了uid為root或system,而該進(jìn)程并不在產(chǎn)品定義的高權(quán)限進(jìn)程允許范圍內(nèi)。
- 解決辦法:
- 降低進(jìn)程的權(quán)限等級(jí)。修改.cfg配置文件中的uid定義,非必需的場(chǎng)景下,不要定義uid為root或system。
如果由于實(shí)現(xiàn)業(yè)務(wù)功能需要,進(jìn)程必須要有root或system權(quán)限,只有在聯(lián)系安全專(zhuān)家評(píng)審,通過(guò)安全審視后,方可修改產(chǎn)品的高權(quán)限進(jìn)程管控列表,配置文件路徑為"vendor/{公司名稱(chēng)}/{產(chǎn)品名稱(chēng)}/security_config/high_privilege_process_list.json
"。
示例:rk3586的高權(quán)限進(jìn)程配置文件位于//vendor/hihope/rk3568/security_config/high_privilege_process_list.json
- 降低進(jìn)程的權(quán)限等級(jí)。修改.cfg配置文件中的uid定義,非必需的場(chǎng)景下,不要定義uid為root或system。
提示“Error: some services do not match with critical whitelist”
- 現(xiàn)象描述: 編譯失?。骸癊rror: some services do not match with critical whitelist”。
- 可能原因: 報(bào)錯(cuò)中列舉出來(lái)的進(jìn)程.cfg配置文件中,定義并使能了critical字段,而該進(jìn)程未被允許添加critical字段,或該字段配置與白名單中不符。
- 解決辦法:
移除進(jìn)程的critical字段或把critical字段第一位置0。修改原服務(wù).cfg配置文件中的critical字段,非必需的場(chǎng)景下,不要使能critical字段。
關(guān)于critical字段的詳細(xì)使用方法,請(qǐng)參考[服務(wù)配置]。如果由于實(shí)現(xiàn)業(yè)務(wù)功能需要,進(jìn)程必須要使能critical字段,只有在聯(lián)系安全專(zhuān)家評(píng)審,通過(guò)安全審視后,方可修改產(chǎn)品的critical_reboot進(jìn)程管控白名單//vendor/{公司名稱(chēng)}/{產(chǎn)品名稱(chēng)}/security_config/critical_reboot_process_list.json
。
示例:rk3586的critical_reboot進(jìn)程管控白名單為//vendor/hihope/rk3568/security_config/critical_reboot_process_list.json
審核編輯 黃宇
-
編譯
+關(guān)注
關(guān)注
0文章
657瀏覽量
32870 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2351瀏覽量
42849 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3722瀏覽量
16313
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論