在编译OpenHarmony遇到third_party/libnl编译报错的修复办法

笔者是在WSL(Ubuntu 20.04)环境下编译OpenHarmony遇到的错误,究其原因是鸿蒙在将安装软件的步骤添加到了编译阶段,在编译阶段一般是非root用户,而安装软件需要root权限(或许要输入密码),因此报错。解决办法就是将编译阶段的安装步骤跳过,手动提前安装即可,详细步骤如下。

1、手动安装依赖(执行命令可能要输入密码):

bash 复制代码
sudo apt-get update
sudo apt-get install autoconf automake libtool -y

2、删除或者注释掉third_party/libnl/install.sh中的两条apt-get命令(大约在17、18行):

bash 复制代码
# apt-get update
# apt-get install autoconf automake libtool -y

3、在third_party/libnl/libnl/configure.ac中加入(大约在12行之后):

bash 复制代码
m4_pattern_allow([AC_MSG_WARN])
m4_pattern_allow([AC_MSG_ERROR])
m4_pattern_allow([PKG_CHECK_MODULES])

4、在third_party/libnl/libnl/configure.ac中注释或删除掉如下几行:

bash 复制代码
下面几行删掉或注释掉:
PKG_CHECK_MODULES([CHECK], [check >= 0.9.0],
[has_check="yes"],
[AC_MSG_WARN([*** Disabling building of unit tests])
has_check="no"])
AM_CONDITIONAL(WITH_CHECK, [test "$has_check" = 'yes'])

随后加入如下代码:

bash 复制代码
# 硬编码设置变量值以跳过检查
has_check="no"
AM_CONDITIONAL(WITH_CHECK, [test "$has_check" = 'yes'])

5、在third_party/libnl/install.sh中16行加入,前提是需要将修改好后的configure.ac拷贝出来到install.sh同级目录

bash 复制代码
cp -arf configure.ac $1/libnl/
相关推荐
UnicornDev2 小时前
【HarmonyOS 6】今日统计卡片实战:运动记录数据概览
华为·harmonyos·arkts·鸿蒙·鸿蒙系统
ShuiShenHuoLe3 小时前
组件的状态ComponentV2
harmonyos·鸿蒙
仓颉编程语言1 天前
CangjieSkills 正式开源:为仓颉 AI 编程打造的“技能增强“方案,实测降低 60% 费用
华为·ai编程·鸿蒙·仓颉编程语言
左手厨刀右手茼蒿2 天前
Flutter 三方库 all_lint_rules_community 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、严谨、基于全量社区 Lint 规则的工业级静态代码质量与安全审计引擎
flutter·harmonyos·鸿蒙·openharmony·all_lint_rules_community
雷帝木木2 天前
Flutter for OpenHarmony:Flutter 三方库 cbor 构建 IoT 设备的极致压缩防窃协议(基于标准二进制 JSON 表达格式)
网络·物联网·flutter·http·json·harmonyos·鸿蒙
王码码20352 天前
Flutter 三方库 servicestack 的鸿蒙化适配指南 - 实现企业级 Message-based 架构集成、支持强类型 JSON 序列化与跨端服务调用同步
flutter·harmonyos·鸿蒙·openharmony·message-based
里欧跑得慢2 天前
Flutter 三方库 jsonata_dart 的鸿蒙化适配指南 - 实现高性能的 JSON 数据查询与转换、支持 JSONata 表达式引擎与端侧复杂数据清洗
flutter·harmonyos·鸿蒙·openharmony·jsonata_dart
国医中兴2 天前
Flutter 三方库 superclass 的鸿蒙化适配指南 - 支持原生高性能类构造、属性代理与深层元数据解析实战
flutter·harmonyos·鸿蒙·openharmony
加农炮手Jinx3 天前
Flutter 组件 ubuntu_service 适配鸿蒙 HarmonyOS 实战:底层系统服务治理,构建鸿蒙 Linux 子系统与守护进程交互架构
flutter·harmonyos·鸿蒙·openharmony·ubuntu_service
王码码20353 天前
Flutter 三方库 login_client 的鸿蒙化适配指南 - 打造工业级安全登录、OAuth2 自动化鉴权、鸿蒙级身份守门员
flutter·harmonyos·鸿蒙·openharmony·login_client