【RV1126】Ubuntu22.04下sdk编译问题汇集

对于新版本Ubuntu系统来编译SDK,尤其是buildroot ,是一个巨大考验,发现问题如下:

1. c-stack.c的SIGSTKSZ错误

buildroot 报错:c-stack.c:55:26:error:missing binary operator before token "("55

在buildroot目录中找到c-stack.c文件,并更改c-stack.c文件中,SIGSTKSZ的宏定义

解决办法:

修改c-stack.c文件,如下

cpp 复制代码
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
//#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
/* libsigsegv 2.6 through 2.8 have a bug where some architectures use
   more than the Linux default of an 8k alternate stack when deciding
   if a fault was caused by stack overflow.  */
// 注释下面2行
//# undef SIGSTKSZ
//# define SIGSTKSZ 16384
#endif

2. ibfakeroot.c:99:40: error: '_STAT_VER' undeclared

解决办法:更改libfakeroot.c文件,添加宏定义:

cpp 复制代码
#ifndef _STAT_VER
 #if defined (__aarch64__)
  #define _STAT_VER 0
 #elif defined (__x86_64__)
  #define _STAT_VER 1
 #else
  #define _STAT_VER 3
 #endif
#endif

3. read_fs.o:(.bss+0x0): multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400be8):

解决办法:更改mksquashfs相关文件,去掉bwriter_buffer,与fwriter_buffer的定义,改为'extern',涉及到.h .c文件,如下

cpp 复制代码
// mksquashfs.h
struct cache *bwriter_buffer, *fwriter_buffer;

=》 extern struct cache *bwriter_buffer, *fwriter_buffer;

// mksquashfs.c

struct cache *bwriter_buffer, *fwriter_buffer;
=》
//struct cache *bwriter_buffer, *fwriter_buffer;

4. makedevs: line 27: can't create node

fakeroot执行fakeroot.fs时报的错。因为是升级了ubuntu系统,可能存在fakeroot版本过低导致。于是将fakeroot版本从1.20.2更新到1.26。

解决办法:

cpp 复制代码
cd buildroot/package/fakeroot
rm -rf *.patch *.hash
vim fakeroot.mk
//改为如下内容,同时把1.26版本包放入dl文件夹下
FAKEROOT_VERSION = 1.26
FAKEROOT_SOURCE = fakeroot_$(FAKEROOT_VERSION).orig.tar.gz
相关推荐
chenzhiyuan20184 小时前
《十五五规划》下的AI边缘计算机遇:算力下沉与工业智能化
人工智能·边缘计算
Blossom.1189 小时前
大模型在边缘计算中的部署挑战与优化策略
人工智能·python·算法·机器学习·边缘计算·pygame·tornado
智驱力人工智能2 天前
智能安全管理 基于视觉分析的玩手机检测系统 手机行为AI模型训练 边缘计算手机行为监测设备
人工智能·安全·目标检测·计算机视觉·智能手机·视觉检测·边缘计算
视***间2 天前
方寸之间,算力之巅 视程空间—EDG SC6N0-S T5X 超算计算机以 Jetson AGX Thor 重构个人计算边界
边缘计算·nvidia·算力·ai算力·视程空间
成都纵横智控科技官方账号2 天前
告别布线噩梦:8公里LoRa边缘网关如何重构工业物联边界
lora·边缘计算·透传
Xの哲學2 天前
Linux eMMC子系统深度解析:从硬件协议到内核实现
linux·网络·算法·架构·边缘计算
电鱼智能的电小鱼6 天前
基于电鱼 ARM 工控机的井下AI故障诊断方案——让煤矿远程监控更智能、更精准
网络·arm开发·人工智能·算法·边缘计算
Jason_zhao_MR6 天前
如何精准驱动菜品识别模型--基于米尔瑞芯微RK3576边缘计算盒
人工智能·边缘计算
卡奥斯开源社区官方6 天前
实战|AWS Snowcone边缘计算落地工业场景:从技术原理到代码实现
人工智能·边缘计算
jixunwulian6 天前
5G工业边缘计算网关,重构工业智能化
5g·重构·边缘计算