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

莆田网站建设建站系统郑州网络推广效果

莆田网站建设建站系统,郑州网络推广效果,多个网站备案吗,网站建设都包含哪些内容ubuntu22.04下rv1109 rootfs编译问题处理 buildroot编译出错记录问题一:c-stack.c的SIGSTKSZ错误解决办法问题二:libfakeroot.c的_STAT_VER报错解决办法问题三:fwriter_buffer重复定义解决办法问题四: qfloat16.h报错解决办法问题…

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. 重新编译,问题解决。
http://www.dinnco.com/news/72851.html

相关文章:

  • 网站的支付接口对接怎么做大二网络营销实训报告
  • 一个网站两个页面在哪里找软件开发公司
  • 网站建设 零基础正版seo搜索引擎
  • wordpress主题定制器网站seo文章该怎么写
  • 疏通下水道网站怎么做如何做关键词优化
  • 农村自建房设计图及效果图北京seo运营推广
  • 重庆网站建设哪家做的好个人博客网站
  • 网站建设公司郑州成都网站建设企业
  • 合肥专业的房产网站建设搜狗seo培训
  • 凡客网站的域名怎么做榜单优化
  • 中国工程建设标准化协会官方网站免费浏览网站推广
  • 网站流量通道百度快速排名用什
  • 昆山建设招标信息网站百度竞价软件哪个好
  • 企业网站框架手机如何制作网站教程
  • 广州app网站建设企业查询天眼查
  • 保定设计网站seo建站优化
  • 做易买网网站项目心得体会大数据免费查询平台
  • 西安市做网站公司有哪些中国第三波疫情将在9月份
  • 做网站必须知道的问题线上推广方式有哪些
  • 南沙网站建设wwiw深圳外贸网站制作
  • 哪些赌博的网站怎么做的宁波网站优化
  • 腾讯企点怎么删除好友seo外包服务专家
  • 如何做木工雕刻机网站seo网站内部优化
  • 建设网站 报告书百度电话客服24小时
  • 怎么做有趣的短视频网站免费的郑州网络推广服务
  • 丽江市住房建设局网站海豹直播nba
  • 唐山网站制作案例长春关键词搜索排名
  • 服务器地址怎么查询seo chinaz
  • 网站在工信部备案查询2022年网络流行语
  • 做网站图片要求高吗长沙做网站推广公司咨询