【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文件,如下

#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文件,添加宏定义:

#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文件,如下

// 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。

解决办法:

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

相关推荐

  1. RV1126Ubuntu22.04sdk编译问题汇集

    2024-04-06 05:32:10       36 阅读
  2. Ubuntu 22.04编译RV1126_RV1109_LINUX SDK

    2024-04-06 05:32:10       43 阅读
  3. ubuntu20.04 编译瑞芯微rv1126问题集锦

    2024-04-06 05:32:10       43 阅读
  4. Ubuntu22.04 交叉编译fdk-aac for Rv1106

    2024-04-06 05:32:10       52 阅读
  5. RV1126】瑞芯微RV1126开发板双网口问题

    2024-04-06 05:32:10       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-06 05:32:10       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-06 05:32:10       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-06 05:32:10       82 阅读
  4. Python语言-面向对象

    2024-04-06 05:32:10       91 阅读

热门阅读

  1. c#中DocFx生成API帮助文档

    2024-04-06 05:32:10       36 阅读
  2. 点云滤波与匹配进阶

    2024-04-06 05:32:10       37 阅读
  3. 添加背景图片画图matlab

    2024-04-06 05:32:10       34 阅读
  4. 【QT教程】QT6单元测试

    2024-04-06 05:32:10       32 阅读
  5. SPI协议

    SPI协议

    2024-04-06 05:32:10      34 阅读
  6. ubuntu23.10全家桶(date2024.4.3)

    2024-04-06 05:32:10       44 阅读
  7. nginx: 集群环境配置搭建

    2024-04-06 05:32:10       30 阅读
  8. Rust个人学习之单元测试

    2024-04-06 05:32:10       36 阅读
  9. 【PyQt】读取MySQL数据填充到Qt表格控件中

    2024-04-06 05:32:10       34 阅读
  10. 详解Qt中访问数据库

    2024-04-06 05:32:10       35 阅读
  11. 设计模式:享元模式

    2024-04-06 05:32:10       39 阅读