当前位置: 首页 > 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 这块已经成功编译过去了:
在这里插入图片描述

相关文章:

  • Java大厂面试:Java技术栈中的核心知识点
  • Java并发编程-多线程基础(三)
  • 集成算法学习
  • 具身系列——比较3种vpg算法方式玩CartPole游戏(强化学习)
  • 【Unity】使用XLua进行热修复
  • Ray开源程序 是用于扩展 AI 和 Python 应用程序的统一框架。Ray 由一个核心分布式运行时和一组用于简化 ML 计算的 AI 库组成
  • 4电池_基于开关电容的均衡
  • 项目实战-25年美赛MCM/ICM-基于数学建模与数据可视化的动态系统模型
  • agent初识
  • 0.1 基础阶段错题汇总
  • 前端 uni-app 初步使用指南
  • SpringMVC-第二章之RequestMapping注解详解
  • 一篇撸清 Http,SSE 与 WebSocket
  • 性能优化实践:性能监控体系
  • PyTorch_标量张量和数字的转换
  • React--》掌握react构建拖拽交互的技巧
  • Nginx 核心功能之正反代理
  • 以下是在 Ubuntu 上的几款PDF 阅读器,涵盖轻量级、功能丰富和特色工具:
  • 基于开源链动2+1模式AI智能名片S2B2C商城小程序的爆品力构建研究
  • Linux网络编程 day3 五一结假
  • 2类药物别乱吃,严重可致肝肾衰竭!多人已中招
  • 福建两名厅级干部履新,张文胜已任省委省直机关工委副书记
  • 浙江一文旅局长五一亲自带团,去年专门考取了导游证
  • “五一”假期客流增加,多地提升铁路运力并强化服务
  • 巴菲特股东大会精华版:批评拿贸易当武器,宣布年底交班
  • 中国驻日本大使吴江浩就日本民用飞机侵闯我钓鱼岛领空向日方提出严正交涉