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

找网页模板的网站icons8官网

找网页模板的网站,icons8官网,网站图片3d显示效果,视频教育网站开发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.yayakq.cn/news/484211/

相关文章:

  • 网站推广软件ky99系统下载网站建设模板
  • 巴中网站建设公司北京南站附近景点
  • dw简易网站怎么做如何快速提升自己
  • 学网站建设好不好信息类网站制作
  • 广州网站设计首选柚米做网站的广告图片
  • 建设实验中心网站wordpress 指定审核人
  • 淄博网站建设培训班网站优化 北京
  • 国内外网站网站上海万网网站建设
  • 怎样在国外网站上做外贸广告婚纱摄影店排名前十名
  • 沛县做网站xlec机构改革 住房与城乡建设厅网站
  • 做网站多少钱一个月沈阳网页设计制作
  • 南通哪里有做网站的找做柜子的网站
  • 自己可以做网站放在百度上面嘛网站关键字怎么分割
  • 网页制作模板的网站免费常用的网站建设技术包括
  • 福州网站建设印秀山东建设厅网站专职安全员
  • 做英文网站的心得wordpress如何修改行距
  • 网站建设又叫什么简单的html登录页面
  • 那个网站做国外售货php 除了做网站
  • 广州建筑公司招聘网站西安杰商网络网站建设
  • 性价比最高网站建设电话jsp网站建设项目实战电子版
  • 前端作业做一个网站开发安卓应用
  • 长沙网站排名系统学网站开发好不好
  • 做一个自己的网站教育机构网站
  • 专门做音效的网站手机网站制作代理商
  • 网站设计制作电话多少做婚礼请柬的网站有哪些
  • 什么是网站搭建心馨人生珠海网站建设
  • 南昌有限公司 网站汕头百度关键词搜索
  • wordpress网站怎么优化这2个代码 找做网站的 安装一下
  • 汽车网站方案网站建设兆金手指花总
  • 山东济南网网站建设广告设计与制作厂家