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

rk3566编译squashfs报错解决

项目场景:

提示:这里简述项目相关背景:

编译开源的rk3566代码squashfs报错,tspi_linux_sdk_repo_20240131.tar.gz

下之前先读我
1.tspi_linux_sdk_20230916.tar.gz这个是之前老的没有git和repo的版本,后面会删除掉大家可以不用下载
2.tspi_linux_sdk_repo_20240131.tar.gz repo版本推荐大家使用这个
下载完成后可以看看校验是否正常:
md5sum tspi_linux_sdk_repo_20240131.tar.gz
看一下这个值是否和tspi_linux_sdk_repo_20240131_md5sum.txt内容一致
解压:
tar -xzf tspi_linux_sdk_repo_20240131.tar.gz

解压完成后只有.repo目录我们还需要把代码同步出来.repo/repo/repo sync -l -j88

3.buildroot_dl_4c7c9df616fb.tar.gz 这是是buildroot相关库,如果你的网络比较差很有可能编译的时候自动下载失败报错
下载完成后可以看看校验是否正常:
md5sum buildroot_dl_4c7c9df616fb.tar.gz
看一下这个值是否和buildroot_dl_4c7c9df616fb_md5sum.txt内容一致
解压:
把压缩包放在.repo同目录在解压,最终会解压到buildroot/dl目录
tar -xzf buildroot_dl_4c7c9df616fb.tar.gz

4.接下来可以参考编译教程进行编译了

教程网址
https://wiki.lckfb.com/zh-hans/tspi-rk3566/sdk-compilation/linux-compilation.html


问题描述

提示:这里描述项目中遇到的问题:

报错内容 fwriter_buffer bwriter_buffer重定义

2025-08-25T21:58:54 /usr/bin/gcc  -L/scode/rk_source/buildroot/output/rockchip_rk3566/host/lib -Wl,-rpath,/scode/rk_source/buildroot/output/rockchip_rk3566/host/lib unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o unsquash-4.o swap.o compressor.o unsquashfs_info.o gzip_wrapper.o lzma_xz_wrapper.o xz_wrapper.o lzo_wrapper.o lz4_wrapper.o read_xattrs.o unsquashfs_xattr.o -lpthread -lm -lz -llzma -llzma  -llzo2 -llz4 -o unsquashfs
2025-08-25T21:58:55 /usr/bin/gcc  -L/scode/rk_source/buildroot/output/rockchip_rk3566/host/lib -Wl,-rpath,/scode/rk_source/buildroot/output/rockchip_rk3566/host/lib mksquashfs.o read_fs.o action.o swap.o pseudo.o compressor.o sort.o progressbar.o read_file.o info.o restore.o process_fragments.o caches-queues-lists.o gzip_wrapper.o lzma_xz_wrapper.o xz_wrapper.o lzo_wrapper.o lz4_wrapper.o xattr.o read_xattrs.o -lpthread -lm -lz -llzma -llzma  -llzo2 -llz4 -o mksquashfs
2025-08-25T21:58:55 /usr/bin/ld: read_fs.o:(.bss+0x0): multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400bf0): first defined here
2025-08-25T21:58:55 /usr/bin/ld: read_fs.o:(.bss+0x8): multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400bf8): first defined here
2025-08-25T21:58:55 /usr/bin/ld: action.o:(.bss+0x0): multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400bf0): first defined here
2025-08-25T21:58:55 /usr/bin/ld: action.o:(.bss+0x8): multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400bf8): first defined here
2025-08-25T21:58:55 /usr/bin/ld: sort.o:(.bss+0x100000): multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400bf0): first defined here
2025-08-25T21:58:55 /usr/bin/ld: sort.o:(.bss+0x100008): multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400bf8): first defined here
2025-08-25T21:58:55 /usr/bin/ld: info.o:(.bss+0x10): multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400bf8): first defined here
2025-08-25T21:58:55 /usr/bin/ld: info.o:(.bss+0x8): multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400bf0): first defined here
2025-08-25T21:58:55 /usr/bin/ld: restore.o:(.bss+0x0): multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400bf0): first defined here
2025-08-25T21:58:55 /usr/bin/ld: restore.o:(.bss+0x8): multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400bf8): first defined here
2025-08-25T21:58:55 /usr/bin/ld: process_fragments.o:(.bss+0x0): multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400bf0): first defined here
2025-08-25T21:58:55 /usr/bin/ld: process_fragments.o:(.bss+0x8): multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400bf8): first defined here
2025-08-25T21:58:55 /usr/bin/ld: xattr.o:(.bss+0x8): multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400bf0): first defined here
2025-08-25T21:58:55 /usr/bin/ld: xattr.o:(.bss+0x10): multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400bf8): first defined here
2025-08-25T21:58:55 collect2: error: ld returned 1 exit status
2025-08-25T21:58:55 make[2]: *** [Makefile:248: mksquashfs] Error 1
2025-08-25T21:58:55 make[1]: *** [package/pkg-generic.mk:231: /scode/rk_source/buildroot/output/rockchip_rk3566/build/host-squashfs-3de1687d7432ea9b302c2db9521996f506c140a3/.stamp_built] Error 2
2025-08-25T21:58:55 make: *** [/scode/rk_source/buildroot/output/rockchip_rk3566/Makefile:16: _all] Error 2

在这里插入图片描述


原因分析:

提示:这里填写问题的分析:

squashfs-tools$ vim mksquashfs.h

mksquashfs.h中定义的fwriter_buffer bwriter_buffer 没有加extern


解决方案:

提示:这里填写该问题的具体解决方案:

mksquashfs.h中定义的fwriter_buffer bwriter_buffer 加上extern
并修改成patch放到 buildroot/package/squashfs/ 目录下

修改内容

lxt@lxt-ubuntu:/scode/rk_source$ cat buildroot/package/squashfs/0001-fix-multiple-definition.patch
diff --git a/squashfs-tools/mksquashfs.h b/squashfs-tools/mksquashfs.h
index 55708a3..cd84bfd 100644
--- a/squashfs-tools/mksquashfs.h
+++ b/squashfs-tools/mksquashfs.h
@@ -133,7 +133,7 @@ struct append_file {#define BLOCK_OFFSET 2extern struct cache *reader_buffer, *fragment_buffer, *reserve_cache;
-struct cache *bwriter_buffer, *fwriter_buffer;
+extern struct cache *bwriter_buffer, *fwriter_buffer;extern struct queue *to_reader, *to_deflate, *to_writer, *from_writer,*to_frag, *locked_fragment, *to_process_frag;extern struct append_file **file_mapping;
lxt@lxt-ubuntu:/scode/rk_source$
http://www.dtcms.com/a/350479.html

相关文章:

  • QT5封装的日志记录函数
  • 算法练习-遍历对角线
  • 开源夜莺里如何引用标签和注解变量
  • VTK开发笔记(四):示例Cone,创建圆锥体,在Qt窗口中详解复现对应的Demo
  • 使用Cloudflare的AI Gateway代理Google AI Studio
  • 论文阅读:Code as Policies: Language Model Programs for Embodied Control
  • Redis的单线程和多线程
  • Linux_用 `ps` 按进程名过滤线程,以及用 `pkill` 按进程名安全杀进程
  • 记一次RocketMQ消息堆积
  • (二十二)深入了解AVFoundation-编辑:视频变速功能-实战在Demo中实现视频变速
  • 数字人视频创作革命!开源免费无时限InfiniteTalk ,数字人图片 + 音频一键生成无限长视频
  • ADC-工业信号采集卡-K004规格书
  • 智能电视MaxHub恢复系统
  • 【第十章】Python 文件操作深度解析:从底层逻辑到多场景实战​
  • Flink 滑动窗口实战:从 KeyedProcessFunction 到 AggregateFunction WindowFunction 的完整旅程
  • vi/vim 查找字符串
  • h5和微信小程序查看pdf文件
  • 实验1 第一个微信小程序
  • Linux学习-TCP网络协议(补充)
  • 贝叶斯方法和朴素贝叶斯算法
  • tcpdump学习
  • 20250825的学习笔记
  • 2025年09月计算机二级Java选择题每日一练——第七期
  • 配置单区域 OSPF
  • 集群与集群概念
  • 自动修改excel 自动统计文件名称插入 excel辅助工具
  • 升级openssh后ORACLE RAC EM 安装失败处理
  • 【机器学习入门】1.2 初识机器学习:从数据到智能的认知之旅
  • C#_性能优化高级话题
  • MySQL数据备份与恢复全攻略