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

ubuntu22.04下rv1109 rootfs编译问题处理

ubuntu22.04下rv1109 rootfs编译问题处理

  • buildroot编译出错记录
    • 问题一:c-stack.c的SIGSTKSZ错误
    • 解决办法
    • 问题二:libfakeroot.c的_STAT_VER报错
    • 解决办法
    • 问题三:fwriter_buffer重复定义
    • 解决办法
    • 问题四: qfloat16.h报错
    • 解决办法
    • 问题五: makedevs无法创建设备节点
    • 解决办法

buildroot编译出错记录

出于对Ubuntu新版本系统的体验,将系统更新到了ubuntu22.04了。然后在编译rv1109 sdk时出现了一些异常的错误。但是已经不回去了,只能硬着头皮一路走下去了。并将错误记录以下,以便下次有类似错误,做个参考。

问题一: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的宏定义。

find -name c-stack.c

gedit 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 usemore than the Linux default of an 8k alternate stack when decidingif a fault was caused by stack overflow.  */
# undef SIGSTKSZ
# define SIGSTKSZ 16384
#endif

更改为:

#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
/* libsigsegv 2.6 through 2.8 have a bug where some architectures usemore than the Linux default of an 8k alternate stack when decidingif a fault was caused by stack overflow.  */
# undef SIGSTKSZ
# define SIGSTKSZ 16384
#endif

问题二:libfakeroot.c的_STAT_VER报错

libfakeroot.c:99:40: error: ‘_STAT_VER’ undeclared

解决办法

更改libfakeroot.c文件,添加宏定义

find -name libfakeroot.c

gedit 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

问题三:fwriter_buffer重复定义

read_fs.o:(.bss+0x0): multiple definition of `fwriter_buffer’; mksquashfs.o:(.bss+0x400be8):

解决办法

更改mksquashfs相关文件,去掉bwriter_buffer,与fwriter_buffer的定义,改为‘extern’。

find -name “mksquashfs*”

gedit mksquashfs.h

将:struct cache *bwriter_buffer, *fwriter_buffer;

改为: extern struct cache *bwriter_buffer, *fwriter_buffer;

gedit mksquashfs.c

将: struct cache *bwriter_buffer, *fwriter_buffer;

改为: //struct cache *bwriter_buffer, *fwriter_buffer;

问题四: qfloat16.h报错

qfloat16.h: numeric_limits’ is not a class template

解决办法

修改 Src/qtbase/src/corelib/global/qglobal.h

将:

#ifdef __cplusplus
#  include <type_traits>
#  include <cstddef>
#  include <utility>
#endif
#ifndef __ASSEMBLER__
#  include <assert.h>
#  include <stddef.h>
#endif

改为:

#ifdef __cplusplus
#  include <type_traits>
#  include <cstddef>
#  include <utility>
#  include <limits>
#endif
#ifndef __ASSEMBLER__
#  include <assert.h>
#  include <stddef.h>
#endif

问题五: makedevs无法创建设备节点

makedevs: line 27: can’t create node /dev/console: Operation not permitted

解决办法

经查找错误信息,是fakeroot执行fakeroot.fs时报的错。因为是升级了ubuntu系统,可能存在fakeroot版本过低导致。于是将fakeroot版本从1.20.2更新到了1.32.1.操作如下:

  1. 在git.buildroot.org中下载了最新的buildroot文件,在里面找到fakeroot目录下:fakeroot.hash与fakeroot.mk文件。
  2. 备份buildroot/package/fakeroot目录下原有文件。
  3. 将新的fakeroot.hash与fakeroot.mk文件拷贝到buildroot/package/fakeroot目录下。
  4. 重新编译,问题解决。

相关文章:

ubuntu22.04下rv1109 rootfs编译问题处理

ubuntu22.04下rv1109 rootfs编译问题处理 buildroot编译出错记录问题一&#xff1a;c-stack.c的SIGSTKSZ错误解决办法问题二&#xff1a;libfakeroot.c的_STAT_VER报错解决办法问题三&#xff1a;fwriter_buffer重复定义解决办法问题四&#xff1a; qfloat16.h报错解决办法问题…...

Spring Boot Dubbo Zookeeper

文章目录 Spring Boot Dubbo Zookeeper简介DubboCommonProviderConsumer Zookeeper Spring Boot Dubbo Zookeeper 简介 Dubbo Common 公共依赖 <!-- Spring Boot Starter --> <dependency><groupId>org.springframework.boot</groupId><artifac…...

线程池的概念及实现原理

本篇是对前面线程池具体实现过程的补充&#xff0c;实现过程可参考 线程池的实现全过程v1.0版本&#xff08;手把手创建&#xff0c;看完必掌握&#xff01;&#xff01;&#xff01;&#xff09;_竹烟淮雨的博客-CSDN博客 线程池的实现v2.0&#xff08;可伸缩线程池&#xf…...

iOS App逆向之:iOS应用砸壳技术

在iOS逆向&#xff0c;有一项关键的技术叫做“iOS砸壳”&#xff08;iOS App Decryption&#xff09;。自iOS 5版本以来&#xff0c;苹果引入了应用程序加密机制&#xff0c;使得大部分应用都需要进行砸壳操作才能进行逆向分析。因此作为开发者、逆向工程师和安全研究人员都需要…...

【高性能计算】opencl安装及相关概念

目录 从异构计算讲起opencl安装的相关说明查看linux系统cpu及gpu型号方法安装opencl helloword程序运行 从异构计算讲起 异构计算是一种利用多种不同类型的计算资源来协同解决计算问题的方法。它的核心思想是将不同特性和能力的计算设备&#xff08;例如CPU、GPU、FPGA等&…...

盛最多水的容器——力扣11

int maxArea(vector<int>& height) {int l=0, r=height.size()...

2023年高教社杯数学建模思路 - 复盘:校园消费行为分析

文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…...

Flink_state 的优化与 remote_state 的探索

摘要&#xff1a;本文整理自 bilibili 资深开发工程师张杨&#xff0c;在 Flink Forward Asia 2022 核心技术专场的分享。本篇内容主要分为四个部分&#xff1a; 相关背景state 压缩优化Remote state 探索未来规划 点击查看原文视频 & 演讲PPT 一、相关背景 1.1 业务概况 从…...

Kdab QML (part9)自由缩放时钟

文章目录 Kdab QML (part9)自由缩放时钟代码详细解释运行截图 Kdab QML (part9)自由缩放时钟 代码 import QtQuick 2.15 import QtQuick.Window 2.15Window {id: rootwidth: 500height: 500visible: truecolor: "lightgrey"title: qsTr("Hello World")It…...

Java网络编程(二)经典案例[粘包拆包]

粘包拆包 概述 TCP是面向流的协议,TCP在网络上传输的数据就是一连串的数据,完全没有分界线。 TCP协议的底层并不了解上层业务的具体定义,它会根据TCP缓冲区的实际情况进行包的划分。 在业务层面认为一个完整的包可能会被TCP拆分成多个小包进行发送,也可能把多个小的包封装成一…...

无分布式锁的ID生成

起因 TEAM GARDEN 本来ID是自增的&#xff0c;后面发现自增ID比较麻烦&#xff0c;有问题&#xff1a; 不可控的间隔&#xff1a; 如果你在插入数据时&#xff0c;中途删除了一些行&#xff0c;导致自增的ID出现间隔&#xff0c;那么新插入的行会填充这些间隔&#xff0c;可能…...

X2000 Linux UVC

参考文档&#xff1a;\doc\开发使用说明\USB使用说明文档\设备\USB_UVC\xburst2\USB_UVC.pdf 一、内核添加USB UVC功能 1、确定所用dts文件 进入到/tools/iconfigtool/IConfigToolApp/路径下&#xff0c;执行./IConfigTool 选择config文件&#xff0c;查看kernel默认配置 配…...

HCIP-OpenStack组件之neutron

neutron&#xff08;ovs、ovn&#xff09; OVS OVS(Open vSwitch)是虚拟交换机&#xff0c;遵循SDN(Software Defined Network&#xff0c;软件定义网络)架构来管理的。 OVS介绍参考&#xff1a;https://mp.weixin.qq.com/s?__bizMzAwMDQyOTcwOA&mid2247485088&idx1…...

数学建模-常见算法(3)

KMP算法&#xff08;Knuth-Morris-Pratt算法&#xff09; KMP算法是一种用于字符串匹配的算法&#xff0c;它的时间复杂度为O(mn)。该算法的核心思想是在匹配失败时&#xff0c;利用已经匹配的信息&#xff0c;减少下一次匹配的起始位置。 def kmp(text, pattern): n len(…...

缓存的设计方式

问题情况&#xff1a; 当有大量的请求到内部系统时&#xff0c;若每一个请求都需要我们操作数据库&#xff0c;例如查询操作&#xff0c;那么对于那种数据基本不怎么变动的数据来说&#xff0c;每一次都去数据库里面查询&#xff0c;是很消耗我们的性能 尤其是对于在海量数据…...

CH02_重构的原则(什么是重构、为什么重构、何时重构)

什么是重构 重构&#xff08;名词&#xff09;&#xff1a;对软件内部结构的一种调整&#xff0c;目的是在不改变软件可观察行为的前提下&#xff0c;提高其可理解性&#xff0c;降低其修改成本。 重构&#xff08;动词&#xff09;&#xff1a;使用一系列重构手法&#xff0…...

26. 删除有序数组中的重复项(简单系列)

给你一个 升序排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#xff0c;你需要做…...

【linux】基本指令(二)【man、echo、cat、cp】

目录 一、man指令二、echo指令三、cat指令二、cp指令一些常见快捷键 一、man指令 Linux的命令有很多参数&#xff0c;我们不可能全记住&#xff0c;可以通过查看联机手册获取帮助。访问Linux手册页的命令是 man 语法: man [选项] 命令 常用选项 1.-k 根据关键字搜索联机帮助 2…...

【视频】Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析|数据分享...

全文下载链接&#xff1a;http://tecdat.cn/?p23544 在本文中&#xff0c;长短期记忆网络——通常称为“LSTM”——是一种特殊的RNN递归神经网络&#xff0c;能够学习长期依赖关系&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 本文使用降雨量数据&#xf…...

2023年7月京东空气净化器行业品牌销售排行榜(京东运营数据分析)

随着科技发展&#xff0c;智能家具在日常生活中出现的频率越来越高&#xff0c;许多曾经不被关注的家电也出现在其中&#xff0c;包括近年来逐渐兴起的空气净化器。伴随人们对自身健康的重视度越来越高&#xff0c;作为能够杀灭空气污染物、有效提高空气清洁度的产品&#xff0…...

JAVA 注解(Annotation):从原理到实战应用

在 Java 5 及后续版本中&#xff0c;注解&#xff08;Annotation&#xff09;作为一种元数据编程机制&#xff0c;彻底改变了 Java 的配置与框架开发模式。它不再是简单的代码注释&#xff0c;而是能被编译器、虚拟机、框架解析的结构化标记&#xff0c;广泛应用于 Spring Boot…...

昇腾NPU部署Qwen3-30B-A3B避坑指南:从驱动检查到vLLM参数调优全解析

昇腾NPU部署Qwen3-30B-A3B实战手册&#xff1a;深度调优与异常处理全景指南 当你在深夜的服务器机房&#xff0c;面对闪烁的NPU状态灯和一堆报错日志时&#xff0c;是否曾希望有一份真正懂行的技术手册&#xff1f;本文将带你深入昇腾NPU部署Qwen3-30B-A3B大模型的每一个技术细…...

如何轻松突破Cursor试用限制:免费高效的终极解决方案

如何轻松突破Cursor试用限制&#xff1a;免费高效的终极解决方案 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Youve reached your trial request limit. / Too many free trial accounts used on this machine. Please upgrade to pro. We h…...

LIN Switch Method:从硬件革新到软件流程,揭秘车内氛围灯自动寻址的完整闭环

1. 为什么车内氛围灯需要自动寻址技术 十年前的车内照明还停留在基础功能阶段&#xff0c;而现在的高端车型已经将氛围灯玩出了新花样。想象一下&#xff0c;当你打开车门时&#xff0c;迎宾灯像流水一样从车头滑向车尾&#xff1b;调节空调温度时&#xff0c;出风口周围的灯光…...

Flux Sea Studio 与Node.js全栈项目集成:打造在线海景艺术画廊

Flux Sea Studio 与Node.js全栈项目集成&#xff1a;打造在线海景艺术画廊 最近在做一个挺有意思的业余项目&#xff0c;想给喜欢海洋艺术的朋友们弄个在线画廊。这个画廊的特别之处在于&#xff0c;它不只是展示静态图片&#xff0c;而是能让用户自己动手&#xff0c;用文字描…...

三相三电平Vienna整流器:SPWM与SVPWM调制仿真及控制策略对比分析

三相三电平vienna整流器SPWM和SVPWM调制仿真 基于plecs搭建 温度场分析 双PI控制 锁相环控制 中点电压平衡控制 功率因数为1 SPWM和SVPWM调制对比 谐波畸变率对比分析 电压利用率对比分析 电压平衡和不平衡控制对比 图1 仿真模型 图2 温度场分析 图3 交流电压电流三电平…...

SDXL 1.0电影级绘图工坊真实案例:文化遗产数字化重建与风格复原实践

SDXL 1.0电影级绘图工坊真实案例&#xff1a;文化遗产数字化重建与风格复原实践 想象一下&#xff0c;你面前有一张因年代久远而模糊不清的古建筑照片&#xff0c;或是仅存于文字描述中的历史场景。如何将它们清晰地、生动地、甚至以不同艺术风格再现出来&#xff1f;这曾是考…...

从Netfilter到IPVS:深入解析Linux内核负载均衡的实现与配置

1. Linux内核网络框架与负载均衡基础 当你打开一个网页或使用手机APP时&#xff0c;后台可能有成百上千台服务器在协同工作。这些服务器如何高效分配流量&#xff1f;这就是负载均衡技术的用武之地。在Linux生态中&#xff0c;从Netfilter到IPVS的技术演进&#xff0c;为我们提…...

Clover Bootloader虚拟化环境部署终极指南:QEMU、KVM、Xen全平台支持

Clover Bootloader虚拟化环境部署终极指南&#xff1a;QEMU、KVM、Xen全平台支持 【免费下载链接】CloverBootloader Bootloader for macOS, Windows and Linux in UEFI and in legacy mode 项目地址: https://gitcode.com/gh_mirrors/cl/CloverBootloader Clover Bootl…...

CLaMP技术深度解析:对比学习如何实现语言与音乐的完美融合

CLaMP技术深度解析&#xff1a;对比学习如何实现语言与音乐的完美融合 【免费下载链接】muzic 这是一个微软研究院开发的音乐生成AI项目。适合对音乐、音频处理以及AI应用感兴趣的开发者、学生和研究者。特点是使用深度学习技术生成音乐&#xff0c;具有较高的创作质量和听觉体…...