【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
相关推荐
Xの哲學1 天前
Linux 实时调度机制深度解析
linux·服务器·网络·算法·边缘计算
Xの哲學1 天前
Linux Select 工作原理深度剖析: 从设计思想到实现细节
linux·服务器·网络·算法·边缘计算
慧都小妮子2 天前
边缘计算时代的OPC Server软件:DXPServer 与 KepserverEX 的不同路线
边缘计算·opc ua·kepware·kepserver·takebishi·dxpserver·kepserverex
鲁邦通物联网2 天前
基于边缘计算网关的储能BMS远程运维系统设计与实现
边缘计算·数据采集·工业数据采集·边缘网关·边缘计算网关·5g数采
头发够用的程序员2 天前
Ultralytics 代码库深度解读【六】:数据加载机制深度解析
人工智能·pytorch·python·深度学习·yolo·边缘计算·模型部署
Xの哲學3 天前
Linux 文件系统一致性: 从崩溃恢复到 Journaling 机制
linux·服务器·算法·架构·边缘计算
鲁邦通物联网3 天前
工业设备上云架构实践:基于5G RedCap与边缘计算的数据轻量化方案
边缘计算·数据采集·工业数据采集·边缘网关·边缘计算网关·5g数采
视***间3 天前
视程空间 发布高性能机器人边缘 AI 平台 ARC6N0 T5X,搭载 NVIDIA Jetson Thor
人工智能·机器人·边缘计算·视程空间·ai算力开发板
Blossom.1183 天前
基于多智能体协作的自动化数据分析系统实践:从单点工具到全流程智能
运维·人工智能·分布式·智能手机·自动化·prompt·边缘计算
Xの哲學4 天前
深入解析 Linux systemd: 现代初始化系统的设计与实现
linux·服务器·网络·算法·边缘计算