【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
相关推荐
未来和明天9 天前
领嵌iLeadE-588边缘计算盒子,兼容Modbus、DLT645、OPC UA等多种行业协议,支持第三方平台对接。
人工智能·边缘计算
ai产品老杨9 天前
突破安防碎片化:基于 Docker 与边缘计算的 AI 视频智能化中台,如何通过 GB28181/RTSP 统一接入与全套源码交付实现二次开发自由?
人工智能·docker·边缘计算
“码”力全开9 天前
解耦异构设备:基于 Docker 与边缘计算的 GB28181/RTSP 统一流媒体平台架构演进(全源码交付)
docker·架构·边缘计算
ai产品老杨9 天前
架构师视点:基于 Docker 与边缘计算的百路异构视频中台,如何实现 GB28181/RTSP 统一接入与源码交付?
docker·音视频·边缘计算
ai产品老杨9 天前
打破芯片壁垒:基于 Docker 与边缘计算的异构视频中台架构设计,如何通过 GB28181/RTSP 统一接入与源码交付节省 95% 开发成本?
docker·音视频·边缘计算
“码”力全开9 天前
解耦与重塑:基于 Docker 容器化与 GB28181/RTSP 统一接入的 AI 视频管理平台架构解析(支持源码交付与边缘计算)
人工智能·docker·边缘计算
不能只会打代码9 天前
边缘视频分析平台的架构设计与性能优化——从750ms到190ms的调优之路
java·spring boot·redis·性能优化·边缘计算·物联网竞赛
未来和明天10 天前
领嵌iLeadE-588边缘计算盒子4路AHD、4路千兆网接多个摄像头多路AI视频分析
人工智能·边缘计算
拓朗工控12 天前
边缘计算对工控机性能要求有多高?
人工智能·边缘计算·工控机·工业电脑
土星云SaturnCloud12 天前
从云端到边缘:电子装配线AI视频分析在土星云SE110S-WA32上的落地实践
服务器·人工智能·ai·边缘计算