查看: 201|回复: 9

OpenHarmony编译环境搭建 (兼容至4.0-Master和主干分支)

[复制链接]

1

主题

6

回帖

17

积分

新手上路

积分
17
发表于 2025-4-9 08:50:13 | 显示全部楼层 |阅读模式
预备工作
1. 安装虚拟机工具VMware或者VirtualBox。
2. 新建虚拟机,内存16GB及以上,硬盘100GB及以上。
3. 安装Ubuntu,推荐使用20.04版本。用户名不能包含中文。
4. 启动并进入Ubuntu虚拟机,以下步骤将在Ubuntu虚拟机中进行操作。

一、将Shell环境修改为bash
  1. sudo dpkg-reconfigure dash
复制代码
选择“No”。


二、替换Ubuntu软件源
在“https://mirrors.ustc.edu.cn/repogen/”下载对应版本最新的源。


在下载好的文件(sources.list)所在的位置开启一个终端窗口,执行下列命令。

备份原始文件:
  1. sudo cp /etc/apt/sources.list /etc/apt/source.list.bak
复制代码
替换源:
  1. sudo mv -f sources.list /etc/apt/
复制代码
更新软件包索引:
  1. sudo apt update
复制代码
三、安装必要的库和工具
需要分两步进行安装。注意,这里比较重要,官网文档用一步进行安装,会出现问题,导致安装不完整,从而导致后期编译出现“3000”错误。
  1. sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev   libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons python3.8-distutils tar rsync git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi vim ssh locales libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev
复制代码
  1. sudo apt-get install gcc-arm-linux-gnueabi gcc-9-arm-linux-gnueabi
复制代码
四、配置Python
设置默认Python解释器,python和python3软链接为python3.8:
  1. sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1python --version
复制代码
安装python包管理工具(pip3):
  1. sudo apt install python3-pip
复制代码
配置pip软件包更新源:
  1. mkdir ~/.pippip3 config set global.index-url https://mirrors.huaweicloud.com/repository/pypi/simplepip3 config set global.trusted-host mirrors.huaweicloud.compip3 config set global.timeout 120
复制代码
五、安装Samba服务
用于在开发环境中使用VS Code编写代码。执行下列命令安装samba并打开配置文件:
  1. sudo apt install sambasudo gedit /etc/samba/smb.conf
复制代码
在配置文件末尾添加以下内容:
  1. [home]comment = User Homespath = /homeguest ok = nowritable = yesbrowsable = yescreate mask = 0755directory mask = 0755
复制代码
建立用户并设置密码(请将下面的用户名换成您自己的)
  1. sudo smbpasswd -a dragon
复制代码
重启samba:
  1. sudo service smbd restart
复制代码
六、获取源代码的必要工具和配置
安装git-lfs,会自动安装git:
  1. sudo apt install git-lfs
复制代码
安装repo和requests:
  1. wget https://gitee.com/oschina/repo/raw/fork_flow/repo-py3sudo mv repo-py3 /usr/local/bin/reposudo chmod a+x /usr/local/bin/repopip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
复制代码
配置git(请将下面的邮箱和用户名换成您自己的):
  1. git config --global user.email "dragon@hbu.cn"git config --global user.name "dragon"git config --global credential.helper storegit config --global --add safe.directory "*"
复制代码
七、拉取源码
以4.0为例(可以拉取branch或tag,这里使用branch):
  1. mkdir -p ~/openharmony/4.0cd ~/openharmony/4.0repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-4.0-Release --no-repo-verifyrepo sync -crepo forall -c 'git lfs pull'
复制代码
在源码根目录下执行prebuilts脚本,安装编译器及二进制工具:
  1. bash build/prebuilts_download.sh
复制代码
八、安装编译工具
在源码根目录运行如下命令安装hb并更新至最新版本:
  1. python3 -m pip install --user build/hb
复制代码
设置环境变量:
  1. echo 'export PATH=~/.local/bin:$PATH' >> ~/.bashrcsource ~/.bashrc
复制代码
九、编译
两种方式,使用hb或者build.sh。
1. 使用hb。在源码根目录运行如下命令(选择要编译的产品并进行编译):
  1. hb sethb build
复制代码
2. 使用build.sh。命令格式为:
  1. ./build.sh --product-name {product_name} --ccache
复制代码
例如,在源码根目录运行如下命令:
  1. ./build.sh --product-name rk3568 --ccache
复制代码
耐心等待,对于标准系统来说,完整编译过程会持续2-3小时。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

0

主题

3

回帖

10

积分

新手上路

积分
10
发表于 2025-4-9 08:51:03 | 显示全部楼层
<div class="vditor-reset">按照上述文章步骤下拉和编译,4.0 release和master编译也会报错,不知该如何处理,部分log如下:[OHOS ERROR] ld.lld: error: undefined symbol: __aarch64_cas4_acq_rel...[OHOS ERROR] ld.lld: error: .btf.vmlinux.bin.o: unknown file type...[OHOS ERROR] exceptions.ohos_exception.OHOSException: ninja phase failed[OHOS ERROR][OHOS ERROR] Code:      4000

0

主题

3

回帖

10

积分

新手上路

积分
10
发表于 2025-4-9 08:51:39 | 显示全部楼层
回复 martinhu: 会不会是源码有点问题呢,之前3.2的出现报错重新拉取源码搭好环境编译就没问题了,但是4.0的我尝试好多次了一样的错误,还是说还有什么地方还差着什么没有配置吗。。。
[/td][/tr][/table][/td][/tr][tr][td]榜单了解详情')">有用 榜单了解详情')">无用 回复举报

[/td][/tr][/table]

马迪
发表于 2023-11-17 09:54 IP属地:  江苏省扬州市


建议是从[这里]([https://gitee.com/openharmony/do ... ony-v4.0-release.md](https://gitee.com/openharmony/do ... ony-v4.0-release.md))拿代码

分支上的都随时有人提交,不一定稳定





榜单了解详情')">有用 榜单了解详情')">无用 回复举报





dragon
发表于 2023-11-18 09:16 IP属地:  河北省唐山市


回复 lucky1: 虚拟机内存分配了多少?



榜单了解详情')">有用 榜单了解详情')">无用 回复举报





martinhu
发表于 2023-11-20 08:31 IP属地: - 中国湖北省襄阳市 中国电信IDC


回复 lucky1: 看到好多人编译4.0 代码遇到4000报错,源码可能有跟编译环境相关的bug



榜单了解详情')">有用 榜单了解详情')">无用 回复举报





lihonggang
发表于 2024-5-16 17:51 IP属地:  山东省济南市


回复 马迪: 你这个页面已经打不开了



榜单了解详情')">有用 榜单了解详情')">无用 回复举报



【5 条回复】 查看全部点评

dragon
虚拟机内存分配了多少? 发表于 2023-11-18 09:15



[/td][/tr][tr][td][/td][/tr][tr][/tr][tr][td]                                            回复举报
                    

[/td][/tr][tr][td][/td][/tr][/table]                                                <div class="ssfv" key="2" >                    <div id="post_4641" style="position: relative" class="a0a viewbox otherfloor cl" >            
<div class="viewinfo">[table][tr][td]
                 alexsuo  
板凳                                    发表于 2024-1-21 09:23:30


<div class="pct"><div class="pcb"><div class="t_fsz">[table][tr][td]用同样的办法编译dayu210 却会失败,博主有没有经验可以分享?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

1

回帖

14

积分

新手上路

积分
14
发表于 2025-4-9 08:51:46 | 显示全部楼层
搭建环境有困难的同学,可以使用我的在线平台试试,目前已经正式发布
使用方法参考我之前发的文章或查看在线帮助视频

https://lengqinjie.xyz/lab/index

0

主题

1

回帖

10

积分

新手上路

积分
10
发表于 2025-4-9 08:51:53 | 显示全部楼层
回复 冷钦街: 登陆在线平台后提示我更换浏览器是什么问题?我用edge和chrome都试了,还是同样的问题
[/td][/tr][/table][/td][/tr][tr][td]榜单了解详情')">有用 榜单了解详情')">无用 回复举报

[/td][/tr][/table]

冷钦街
发表于 2024-2-15 20:54 IP属地: - 中国四川省 中国电信IDC


回复 faceoh: 可能是浏览器不支持,更大的可能是网络不流畅,更换一下网络环境,可能就好了。



榜单了解详情')">有用 榜单了解详情')">无用 回复举报





2964213324
发表于 2024-6-12 21:36 IP属地:  福建省泉州市


回复 冷钦街: 哥不行耶



榜单了解详情')">有用 榜单了解详情')">无用 回复举报



【3 条回复】

[/td][/tr][tr][td][/td][/tr][tr][/tr][tr][td]                                            回复举报
                    

[/td][/tr][tr][td][/td][/tr][/table]                                                <div class="ssfv" key="4" >                    <div id="post_5073" style="position: relative" class="a0a viewbox otherfloor cl" >            
<div class="viewinfo">[table][tr][td]
                 xyshi  
5#                                    发表于 2024-2-19 14:29:01


<div class="pct"><div class="pcb"><div class="t_fsz">[table][tr][td]https://www.vmware.com/products/ ... pro-evaluation.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

0

主题

3

回帖

10

积分

新手上路

积分
10
发表于 2025-4-9 08:52:38 | 显示全部楼层
博主写的很全

2

主题

4

回帖

18

积分

新手上路

积分
18
发表于 2025-4-9 08:52:48 | 显示全部楼层
请问为什么我是用hb build只读取配置而不编译呢
[OHOS INFO] The run time for _prebuild_and_preload is 0.01 s

[OHOS INFO] Checking all build args...

[OHOS INFO] subsytem config scan completed

1

主题

2

回帖

14

积分

新手上路

积分
14
发表于 2025-4-9 08:53:41 | 显示全部楼层
回复 pengbiao: 相同问题,请问您解决了吗?或者有什么思路吗?

[/td][/tr][/table][/td][/tr][tr][td]榜单了解详情')">有用 榜单了解详情')">无用 回复举报

[/td][/tr][/table]【1 条回复】

[/td][/tr][tr][td][/td][/tr][tr][/tr][tr][td]                                            回复举报
                    

[/td][/tr][tr][td][/td][/tr][/table]                                                <div class="ssfv" key="7" >                    <div id="post_8010" style="position: relative" class="a0a viewbox otherfloor cl" >           
<div class="viewinfo">[table][tr][td]
                 haha0000  
8#                                    发表于 2024-7-29 10:47:03


<div class="pct"><div class="pcb"><div class="t_fsz">[table][tr][td]安装好环境之后,就可以在任意目录下编译程序是吗,C可以吗

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

6

回帖

17

积分

新手上路

积分
17
楼主 发表于 2025-4-9 08:54:02 | 显示全部楼层
[47038/81827] ACTION //third_party/typescript:build_typescript_pack(//build/toolchain/ohos:ohos_clang_arm)
FAILED: obj/third_party/typescript/ohos-typescript-4.9.5-r4.tgz
/usr/bin/env ../../third_party/typescript/compile_typescript.py /home/oo/hm5.0/third_party/typescript/ /home/oo/hm5.0/out/rk3568/obj/third_party/typescript
npm error code ERR_INVALID_URL
npm error Invalid URL
npm error A complete log of this run can be found in: C:\Users\oo\AppData\Local\npm-cache\_logs\2025-04-08T01_00_47_911Z-debug-0.log

Traceback (most recent call last):
  File "../../third_party/typescript/compile_typescript.py", line 56, in <module>
    main(sys.argv[1:])
  File "../../third_party/typescript/compile_typescript.py", line 52, in main
    run_pack(source_path, dest_out_path)
  File "../../third_party/typescript/compile_typescript.py", line 46, in run_pack
    run_cmd(["npm", "pack"], dest_out_path)
  File "../../third_party/typescript/compile_typescript.py", line 30, in run_cmd
    raise Exception(stderr.decode())
Exception: npm error code ERR_INVALID_URL
npm error Invalid URL
npm error A complete log of this run can be found in: C:\Users\oo\AppData\Local\npm-cache\_logs\2025-04-08T01_00_47_911Z-debug-0.log
请问这个错误怎么办

0

主题

69

回帖

154

积分

注册会员

积分
154
发表于 昨天 00:07 | 显示全部楼层
сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт  
сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт  
сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт  
сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт  
сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт  
сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт  
сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт  
сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт сайт
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表