OpenHarmony源码3.1.7里面不支持qemu-arm-linux去做编译仿真,报错缺失文件file '../../sdk/ohos-arm/native_appdatamgr/sdk_info.json' doesn't exist.

liangzhijiang 显示全部楼层 发表于 2024-7-26 10:49:05

【问题描述】

  1. 【介绍问题现象和发生的背景】 我按照官方文档介绍安装并通过gitee ssh下载好了OpenHarmony源码3.1.7版本,hb工具也已经正常安装,并且也有执行bash build/prebuilts_downloads.sh,然后hb set选择qemu-arm-linux,然后报错缺失文件: zj@lzj-vmware:~/workspace/OpenHarmony3_1_7$ ./build.sh --product-name qemu-arm-linux-min --ccache --jobs 4 ++++++++++++++++++++++++++++++++++++++++ 2024-07-26 09:51:29 --product-name qemu-arm-linux-min --ccache --jobs 4 OS version 22.04.4 is not supported for ohos build. Avaliable OS version are 18.04, 20.04. [OHOS INFO] Set cache size limit to 50.0 GB [OHOS INFO] root_out_dir=//out/qemu-arm-linux [OHOS INFO] root_build_dir=//out/qemu-arm-linux [OHOS INFO] root_gen_dir=//out/qemu-arm-linux/gen [OHOS INFO] current_toolchain=//build/toolchain/ohos:ohos_clang_arm [OHOS INFO] host_toolchain=//build/toolchain/linux:clang_x64 [OHOS INFO] [OHOS INFO] args: Namespace(platforms_config_file='/home/lzj/workspace/OpenHarmony3_1_7/out/preloader/qemu-arm-linux-min/platforms.build', subsystem_config_file='/home/lzj/workspace/OpenHarmony3_1_7/out/preloader/qemu-arm-linux-min/subsystem_config.json', example_subsystem_file=None, source_root_dir='/home/lzj/workspace/OpenHarmony3_1_7/', gn_root_out_dir='/home/lzj/workspace/OpenHarmony3_1_7/out/qemu-arm-linux', build_platform_name='phone', build_xts=False, target_os='ohos', target_cpu='arm', os_level='standard', ignore_api_check=['xts', 'common', 'developertest'], scalable_build=False) [OHOS INFO] [OHOS INFO] build configs generation is complete. [OHOS INFO] ERROR at //build/templates/cxx/cxx.gni:501:7: Script returned non-zero exit code. [OHOS INFO] exec_script(external_deps_script, arguments, "string") [OHOS INFO] ^---------- [OHOS INFO] Current dir: /home/lzj/workspace/OpenHarmony3_1_7/out/qemu-arm-linux/ [OHOS INFO] Command: /usr/bin/env /home/lzj/workspace/OpenHarmony3_1_7/build/templates/common/external_deps_handler.py --external-deps hilog_native:libhilog ipc:ipc_core native_appdatamgr:native_rdb --parts-src-flag-file build_configs/parts_src_flag.json --external-deps-temp-file gen/foundation/distributeddatamgr/appdatamgr/interfaces/innerkits/native_dataability/native_appdatamgr__native_dataability_external_deps_temp.json --sdk-base-dir ../../sdk/ohos-arm --sdk-dir-name sdk/ohos-arm --current-toolchain //build/toolchain/ohos:ohos_clang_arm [OHOS INFO] Returned 1 and printed out: [OHOS INFO] [OHOS INFO] file '../../sdk/ohos-arm/native_appdatamgr/sdk_info.json' doesn't exist. [OHOS INFO] [OHOS INFO] stderr: [OHOS INFO] [OHOS INFO] Traceback (most recent call last): [OHOS INFO] File "/home/lzj/workspace/OpenHarmony3_1_7/build/templates/common/external_deps_handler.py", line 239, in <module> [OHOS INFO] sys.exit(main()) [OHOS INFO] File "/home/lzj/workspace/OpenHarmony3_1_7/build/templates/common/external_deps_handler.py", line 205, in main [OHOS INFO] sdk_module_info, adapted_ok = _get_external_module_from_sdk( [OHOS INFO] File "/home/lzj/workspace/OpenHarmony3_1_7/build/templates/common/external_deps_handler.py", line 73, in _get_external_module_from_sdk [OHOS INFO] raise Exception("part '{}' doesn't exist in sdk modules.".format( [OHOS INFO] Exception: part 'native_appdatamgr' doesn't exist in sdk modules. [OHOS INFO] [OHOS INFO] See //foundation/distributeddatamgr/appdatamgr/interfaces/innerkits/native_dataability/BUILD.gn:33:1: whence it was called. [OHOS INFO] ohos_shared_library("native_dataability") { [OHOS INFO] ^------------------------------------------ [OHOS INFO] See //foundation/communication/dsoftbus/core/adapter/core_adapter.gni:48:5: which caused the file to be included. [OHOS INFO] "//foundation/distributeddatamgr/appdatamgr/interfaces/innerkits/native_dataability:native_dataability", [OHOS INFO] ^------------------------------------------------------------------------------------------------------ [OHOS INFO] --------------------------------------------- [OHOS INFO] ccache summary: [OHOS INFO] cache hit (direct) : 0 [OHOS INFO] cache hit (preprocessed) : 0 [OHOS INFO] cache miss : 0 [OHOS INFO] hit rate: 0.00% [OHOS INFO] mis rate: 0.00% [OHOS INFO] --------------------------------------------- [OHOS INFO] file: /home/lzj/workspace/OpenHarmony3_1_7/out/qemu-arm-linux/.ninja_log not exists [OHOS INFO] parse file fail [OHOS ERROR] Please check build log in /home/lzj/workspace/OpenHarmony3_1_7/out/qemu-arm-linux/build.log =====build error=====

  2. 【相关的代码操作】

    repo下载完源码后,hb set选择qemu-arm-linux,然后执行hb build -f;

  3. 运行结果、错误截图

    1721961390959.png

  4. 【我尝试过的解决方法和结果】

    如果是hb set 选择的是qemu_small_system_demo,能够正常仿真运行liteos-a的内核,但是选择qemu-arm-linux就编译不过去,然后我对比发现路径OpenHarmony3_1_7/vendor/ohemu/qemu_arm_linux_min目录也缺少了较多文件,例如hals层的支持(不知道是不是正常的,我看4.0源码也是一样)

    1e1615dadcb62aaa9a471f7d178f1f4.png

  5. 【我想要达到的结果】

    希望各位大佬帮忙看看,是不是openHarmony已经放弃支持qemu的linux内核仿真,是不是还需要下载什么文件?才能编译qemu-arm-linux。 我最终是编译完,需要通过qemu仿真运行的。

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论1

fengyunrenwu

沙发 发表于 2024-8-16 16:45:54
高度怀疑是环境问题,下载的是什么时候的代码?看起来只有分支名~~

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部