当前位置: 首页 > news >正文

一个OpenHarmony rk3568编译问题

编译命令:

./build.sh --product-name rk3568 --ccache --no-prebuild-sdk --gn-args build_product_type=DEBUG --enable_notice_collection=false --gn-args load_test_config=false

在编译到内核时可能会报如下错误:

  GEN     .tmp_initcalls.ldsLTO     vmlinux.oMODPOST vmlinux.symvers
WARNING: modpost: vmlinux.o(___ksymtab_gpl+rockchip_clk_register_armclk+0x0): Section mismatch in reference from the variable __ksymtab_rockchip_clk_register_armclk to the function .init.text:rockchip_clk_register_armclk()
The symbol rockchip_clk_register_armclk is exported and annotated __init 
Fix this by removing the __init annotation of rockchip_clk_register_armclk or drop the export.MODINFO modules.builtin.modinfoGEN     modules.builtinLD      .tmp_vmlinux.btf
ld.lld: error: undefined symbol: __aarch64_cas4_acq_rel
>>> referenced by hdf_vnode_adapter.c:294 (/home/smile/OpenHarmony-v4.1.1-Release/out/kernel/OBJ/linux-5.10/../../../../drivers/hdf_core/framework/core/adapter/vnode/src/hdf_vnode_adapter.c:294)
>>>               vmlinux.o:(HdfVNodeAdapterIoctl)
>>> referenced by hdf_vnode_adapter.c:303 (/home/smile/OpenHarmony-v4.1.1-Release/out/kernel/OBJ/linux-5.10/../../../../drivers/hdf_core/framework/core/adapter/vnode/src/hdf_vnode_adapter.c:303)
>>>               vmlinux.o:(HdfVNodeAdapterIoctl)
>>> referenced by hdf_vnode_adapter.c:428 (/home/smile/OpenHarmony-v4.1.1-Release/out/kernel/OBJ/linux-5.10/../../../../drivers/hdf_core/framework/core/adapter/vnode/src/hdf_vnode_adapter.c:428)
>>>               vmlinux.o:(HdfDeviceSendEventToClient)
>>> referenced 1 more timesBTF     .btf.vmlinux.bin.o
pahole: .tmp_vmlinux.btf: No such file or directoryLD      .tmp_vmlinux.kallsyms1
ld.lld: error: .btf.vmlinux.bin.o: unknown file type
make[2]: *** [/home/smile/OpenHarmony-v4.1.1-Release/out/kernel/src_tmp/linux-5.10/Makefile:1225: vmlinux] Error 1
make[1]: *** [arch/arm64/Makefile:208: rk3568-toybrick-x0-linux.img] Error 2
make[1]: Leaving directory '/home/smile/OpenHarmony-v4.1.1-Release/out/kernel/OBJ/linux-5.10'
make: *** [Makefile:192: __sub-make] Error 2

解决方法:

vim kernel/linux/patches/linux-5.10/rk3568_patch/kernel.patch

找到 +MAKE="make LLVM=1 LLVM_IAS=1 CROSS_COMPILE=aarch64-linux-gnu-" ,删除掉CROSS_COMPILE=aarch64-linux-gnu-

其它解决方法可以尝试:rk3568 arm、arm64编译失败undefined symbol: __aarch64_cas4_acq_rel · Issue #I6VB7R · OpenHarmony/build - Gitee.com

相关文章:

  • 品牌增长新引擎:TikTok达人内容营销策略解析
  • 6--苍穹外卖-SpringBoot项目中菜品管理 详解(二)
  • spring boot 项目中redis的使用,key=value值 如何用命令行来查询并设置值。
  • Python编码系列—Python访问者模式:为对象结构添加新功能的艺术
  • 如何快速免费搭建自己的Docker私有镜像源来解决Docker无法拉取镜像的问题(搭建私有镜像源解决群晖Docker获取注册表失败的问题)
  • vue3 商城系统中的 sku 功能的实现
  • 优秀在线 notion 头像制作工具分享-Notion Avatar Maker
  • 35 | 实战一(下):手把手带你将ID生成器代码从“能用”重构为“好用”
  • Chromium 设置页面打开系统代理源码分析c++
  • C语言 | Leetcode C语言题解之第443题压缩字符串
  • 《中国电子报》报道: 安宝特AR为产线作业者的“秘密武器
  • 桥接模式和NET模式的区别
  • 今年Java回暖了吗
  • Python模拟真人鼠标轨迹算法
  • 帮儿女带孩子的老人,都有以下几种共性
  • [LeetCode] Wiggle Sort
  • android图片蒙层
  • Angular 2 DI - IoC DI - 1
  • ECS应用管理最佳实践
  • js ES6 求数组的交集,并集,还有差集
  • leetcode46 Permutation 排列组合
  • Linux CTF 逆向入门
  • mysql innodb 索引使用指南
  • orm2 中文文档 3.1 模型属性
  • TCP拥塞控制
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • 百度地图API标注+时间轴组件
  • 记一次用 NodeJs 实现模拟登录的思路
  • 前嗅ForeSpider中数据浏览界面介绍
  • 网页视频流m3u8/ts视频下载
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • kubernetes资源对象--ingress
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​Java并发新构件之Exchanger
  • ​插件化DPI在商用WIFI中的价值
  • ​如何防止网络攻击?
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (8)STL算法之替换
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (十)Flink Table API 和 SQL 基本概念
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转) Face-Resources
  • (转)原始图像数据和PDF中的图像数据
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET gRPC 和RESTful简单对比
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • @html.ActionLink的几种参数格式
  • @PostConstruct 注解的方法用于资源的初始化
  • @Transactional事务注解内含乾坤?
  • [Android] Android ActivityManager