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

Ubuntu22.04及以上版本buildroot SIGSTKSZ 报错问题

本文提供一种解决 Buildroot SIGSTKSZ 报错途径

解决途径来源参考:Buildroot error when building with Ubuntu 21.10
其出现原因在于 GNU C Library 2.34 release announcement:

Add _SC_MINSIGSTKSZ and _SC_SIGSTKSZ. When _DYNAMIC_STACK_SIZE_SOURCE or _GNU_SOURCE are defined, MINSIGSTKSZ and SIGSTKSZ are no longer constant on Linux. MINSIGSTKSZ is redefined to sysconf(_SC_MINSIGSTKSZ) and SIGSTKSZ is redefined to sysconf (_SC_SIGSTKSZ). This supports dynamic sized register sets for modern architectural features like Arm SVE.

也就是 Buildroot 默认使用的 host-m4 版本太老了,导致出现了下面的问题:

在这里插入图片描述
解决途径:

解决思路在于升级 host-m4 这个 package 的版本,因此进入到 buildroot/package/m4 的目录,按照下面步骤操作即可,步骤 1 和 2 的两个文件可以从https://github.com/buildroot/buildroot/tree/master/package/m4 这里获取,也可以按照我下面的形式修改,或者直接从官方复制粘贴替换掉你本地的 m4.mkm4.hash 文件。

  1. 配置 host-m41.4.19 版本,修改 m4.mk 文件:
    ################################################################################
    #
    # m4
    #
    ################################################################################# M4_VERSION = 1.4.18
    M4_VERSION = 1.4.19
    M4_SOURCE = m4-$(M4_VERSION).tar.xz
    M4_SITE = $(BR2_GNU_MIRROR)/m4
    M4_LICENSE = GPL-3.0+
    M4_LICENSE_FILES = COPYING
    HOST_M4_CONF_OPTS = --disable-static$(eval $(host-autotools-package))
    
  2. 修改 m4.hash 文件,改为 1.4.19 版本的包校验值:
    # Locally calculated after checking pgp signature
    # sha256  f2c1e86ca0a404ff281631bdc8377638992744b175afb806e25871a24a934e07        m4-1.4.18.tar.xz
    # License files, locally calculated
    # sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903        COPYING
    # Locally calculated after checking pgp signature
    sha256  63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96  m4-1.4.19.tar.xz
    # License files, locally calculated
    sha256  3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986  COPYING
    
  3. 删除掉原本 buildroot/package/m4 中的两个 patch,0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch0002-fflush-be-more-paranoid-about-libio.h-change.patch(如果没有可以略过)

回到 SDK 目录就可以正常编译了,可以看到 host-m4 这块已经成功编译过去了:
在这里插入图片描述

http://www.xdnf.cn/news/274141.html

相关文章:

  • Rockermq的部署与使用(0-1)
  • 理解计算机系统_并发编程(1)_并发基础和基于进程的并发
  • 【leetcode100】最长递增子序列
  • PyTorch数据集与数据集加载
  • ICCV2023 | 视觉Transformer的Token-标签对齐
  • window-docker的容器使用宿主机音频设备
  • 深入探索 Java 区块链技术:从核心原理到企业级实践
  • nginx 核心功能 02
  • 【项目篇之统一硬盘操作】仿照RabbitMQ模拟实现消息队列
  • C++入门小馆:继承
  • 数据库-数据类型,表的约束和基本查询操作
  • SONiC-OTN代码详解(具体内容待续)
  • set autotrace报错
  • K8S的使用(部署pod\service)+安装kubesphere图形化界面使用和操作
  • 【机器学习案列-22】基于线性回归(LR)的手机发布价格预测
  • 【iOS】消息流程探索
  • 基于python的task--时间片轮询
  • 为了结合后端而学习前端的学习日志——【黑洞光标特效】
  • VMware-centOS7安装redis分布式集群
  • 《Java高级编程:从原理到实战 - 进阶知识篇五》
  • 统计学中的p值是什么?怎么使用?
  • Ray开源程序 是用于扩展 AI 和 Python 应用程序的统一框架。Ray 由一个核心分布式运行时和一组用于简化 ML 计算的 AI 库组成
  • 初识 iOS 开发中的证书固定
  • flink常用算子整理
  • QT | 常用控件
  • 个人文章不设置vip
  • MySQL复合查询全解析:从基础到多表关联与高级技巧
  • 【Hive入门】Hive与Spark SQL深度集成:Metastore与Catalog兼容性全景解析
  • 视频转GIF
  • 网狐系列三网通新钻石娱乐源码全评:结构拆解、三端实测与本地部署问题记录