与图像Mathworks buildroot编译错误

61(30天)
米歇尔•汤普森
米歇尔•汤普森 2023年5月16日在你们
评论道: 诺姆·莱文 2023年5月22日在20分
我用的构建。py脚本从Mathworks buildroot存储库:https://github.com/mathworks/buildroot
我运行下面的命令:
/构建。py - b zc706 - p zynq
第一个问题是失踪 locale.h
看起来定制glibc(仿真软件将运行在Ubuntu 18.04)是防止build万博1manbetxroot发现 locale.h
幸运的是我们有另一个Ubuntu 18.04机器没有自定义的glibc,所以我们搬到那边。
我们使用Ubuntu 18.04,因为我们使用Vivado 2020.2。Ubuntu 20.04,后来Vivado并不正式支持。万博1manbetx
Vivado 2020.2已经成功测试了MATLAB 2022 b和高密度脂蛋白编码器。使用高密度脂蛋白编码器是目标。
远离后所需的定制glibc运行模型,我们得到了另一个错误。万博1manbetx这是以下:
不能执行编译器' / opt / linaro / aarch32 - 6.3.1 - 2017.02 / bin / arm-linux-gnueabihf-gcc '
包/ pkg-generic。可:217:配方为目标的/ home / abraxas3d / haifuraiya / buildroot /输出/ zc706_linux_linaro /构建/ toolchain-external-custom /。stamp_configured的失败
[1]:* * * (/ home / abraxas3d / haifuraiya / buildroot /输出/ zc706_linux_linaro /构建/ toolchain-external-custom /。stamp_configured]错误1
Makefile: 16:配方为目标“_all”失败了
:* * * 2 (_all)错误
未捕获异常
回溯(最近的电话):
文件”。/。py”, 191行,在<模块>
build_target (args,目录)
文件”。/。在build_target py”, 89行
subproc (argStr鹿=参数[' outputDir '])
文件“/ home / abraxas3d / haifuraiya / buildroot /板/ / helper_func mathworks /共同/脚本。在subproc py”, 492行
_SUBPROC_LOGGER。调用(args, =慢性消耗病,慢性消耗性疾病shell =壳)
文件“/ home / abraxas3d / haifuraiya / buildroot /板/ / helper_func mathworks /共同/脚本。py”, 77行,在调用
提高subprocess.CalledProcessError (self.proc。returncode self.strArgs (args),没有一个)
CalledProcessError:命令“使legal-info”返回非零退出状态2
所以,我们无法执行编译器。交叉编译器并不在这个位置,这似乎是硬编码到构建。py当你不调用自定义编译器的位置。
安装包管理器的十字架compilier Ubuntu,指着它位于usr / bin /给了另一个特定的错误,这包安装交叉编译器不能由buildroot使用。
这个结果与指令冲突Mathworks页面://www.tianjin-qmedu.com/help/hdlcoder/ug/xilinx-zynq-linux-image-for-custom-boards.html
复制文件从包安装选择/不工作。
找到aarch32 - 6.3.1 - 2017.02从Linaro tarball,扩大成opt /匹配构建和重命名目录。py进一步想要得到东西。
在Ubuntu 18.04,使用标签R22.2.0,试图建立zc706,这个构建e2fsprogs由于失败问题。
. / . . / misc / create_inode。c: 395:18:错误:冲突的类型为“copy_file_range”
静态errcode_t copy_file_range (ext2_filsys fs, int fd, ext2_file_t e2_file,
^ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
文件包括。/ . . / misc / create_inode.c: 19:0:
/usr/include/unistd.h: 1110:9:注意:之前\ u2018copy_file_range \ u2019宣言》也在这里
ssize_t copy_file_range (int __infd __off64_t * __pinoff,
^ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
路径替换debugfs.8
Makefile: 423: create_inode配方为目标”。o '失败
[4]:[create_inode * * *。o]错误1
[4]:* * *等待....未完成的工作
Makefile: 405:配方为目标“all-progs-recursive”失败了
[3]:1 * * * (all-progs-recursive)错误
Makefile: 340:配方为目标“所有”失败了
[2]:* * *[所有]错误2
包/ pkg-generic。可:227:配方为目标的/ home / abraxas3d / haifuraiya / buildroot /输出/ zc706_linux_linaro /构建/ host-e2fsprogs-1.43.4 /。stamp_built的失败
[1]:* * * (/ home / abraxas3d / haifuraiya / buildroot /输出/ zc706_linux_linaro /构建/ host-e2fsprogs-1.43.4 /。stamp_built]错误2
Makefile: 16:配方为目标“_all”失败了
:* * * 2 (_all)错误
未捕获异常
回溯(最近的电话):
文件”。/。py”, 191行,在<模块>
build_target (args,目录)
文件”。/。在build_target py”, 89行
subproc (argStr鹿=参数[' outputDir '])
文件“/ home / abraxas3d / haifuraiya / buildroot /板/ / helper_func mathworks /共同/脚本。在subproc py”, 492行
_SUBPROC_LOGGER。调用(args, =慢性消耗病,慢性消耗性疾病shell =壳)
文件“/ home / abraxas3d / haifuraiya / buildroot /板/ / helper_func mathworks /共同/脚本。py”, 77行,在调用
提高subprocess.CalledProcessError (self.proc。returncode self.strArgs (args),没有一个)
CalledProcessError:命令“使legal-info”返回非零退出状态2
标记分支1.43.4 e2fsprogs版本库中调用。然而,这个版本的e2fsprogs函数名称冲突。这就是 错误:“copy_file_range”冲突的类型 指示。这是固定在1.43.8 e2fsprogs版本。
下一步是修改e2fsprogs。可从mathworks / buildroot库文件并再次尝试建立SD卡的图像。
我做了版本的变化 e2fsprogs.mk 文件和重复建设。再次,这是一个SD卡的zc706图像使用MATLAB / Simulink / HDL编码器。万博1manbetx 散列文件还必须被更新,以便sha256散列的e2fsprogs下载能通过检查。e2fsprogs的散列。散列被更新 https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.43.8/sha256sums.asc
新的错误:
——检查工作C编译器:/home/abraxas3d/haifuraiya/buildroot/output/zc706_linux_linaro /主机/ usr / bin / arm-linux-gnueabihf-gcc——工作
——检测C编译器ABI信息
——检测C编译器ABI信息完成
——检测C编译功能
——检测C编译功能完成
——发现PkgConfig: /home/abraxas3d/haifuraiya/buildroot/output/zc706_linux_linaro /主机/ usr / bin / pkg-config(发现版本“0.28”)
——检测到版本的GNU GCC: 63 (603)
——寻找ccache发现(/ usr / bin / ccache)
在CMake / OpenCVCompilerOptions CMake错误。cmake: 21(其他):
复制其他命令IF块内被发现。
调用堆栈(最近调用第一个):
CMakeLists。txt: 432(包括)
——配置不完整、错误发生!
参见“/ home / abraxas3d / haifuraiya / buildroot /输出/ zc706_linux_linaro /构建/ opencv-2.4.13.2 / CMakeFiles / CMakeOutput.log”。
包/ pkg-generic。可:217:配方为目标的/ home / abraxas3d / haifuraiya / buildroot /输出/ zc706_linux_linaro /构建/ opencv-2.4.13.2 /。stamp_configured的失败
[1]:* * * (/ home / abraxas3d / haifuraiya / buildroot /输出/ zc706_linux_linaro /构建/ opencv-2.4.13.2 /。stamp_configured]错误1
Makefile: 16:配方为目标“_all”失败了
:* * * 2 (_all)错误
未捕获异常
回溯(最近的电话):
文件”。/。py”, 191行,在<模块>
build_target (args,目录)
文件”。/。在build_target py”, 89行
subproc (argStr鹿=参数[' outputDir '])
文件“/ home / abraxas3d / haifuraiya / buildroot /板/ / helper_func mathworks /共同/脚本。在subproc py”, 492行
_SUBPROC_LOGGER。调用(args, =慢性消耗病,慢性消耗性疾病shell =壳)
文件“/ home / abraxas3d / haifuraiya / buildroot /板/ / helper_func mathworks /共同/脚本。py”, 77行,在调用
提高subprocess.CalledProcessError (self.proc。returncode self.strArgs (args),没有一个)
CalledProcessError:命令“使legal-info”返回非零退出状态2
归零的错误信息:
——发现PkgConfig: /home/abraxas3d/haifuraiya/buildroot/output/zc706_linux_linaro /主机/ usr / bin / pkg-config(发现版本“0.28”)
——检测到版本的GNU GCC: 63 (603)
——寻找ccache发现(/ usr / bin / ccache)
在CMake / OpenCVCompilerOptions CMake错误。cmake: 21(其他):
复制其他命令IF块内被发现。
调用堆栈(最近调用第一个):
CMakeLists。txt: 432(包括)
这似乎是相关的bug报告:
系统信息(版本) •OpenCV = > 2.4.13.3
•操作系统/平台= > ArchLinux 64位
•安装7.1.1 gcc编译器= > 3.3.4 ccache安装
详细描述 当我运行 cmake ,它产生了以下错误。
——发现PkgConfig: /usr/local/bin/pkg-config(发现版本“0.29.2”)
——寻找ccache发现(/ usr /地方/ bin / ccache)
在CMake / OpenCVCompilerOptions CMake错误。cmake: 21(其他):
“固定在2.4和主分支”
据我所知,此修复应该是2.4版本的补丁。
根据 opencv.mk 文件,我们有OPENCV_VERSION = 2.4.13.2
OpenCV = > 2.4.13.3 github问题中提到的版本是错误的“其他”命令。
所以,我们召集的OpenCV Mathworks Buildroot可能太老了,不能得到错误修复。
我编辑了 opencv.mk 文件更新版本的opencv, e2fsprogs像我一样。
OpenCV的发布页面说这个版本从2014年开始,所以我有点担心这是多大了。旧代码有什么问题。Mathworks buildroot使用Linaro交叉编译器的手臂从2017年。不过,总的来说,这些错误在当前Matlab linux构建Zynq dev董事会让我非常紧张。这里我们使用Ubuntu 18.04因为Vivado将运行在。 我想知道这个存储库测试或使用Ubuntu 18.04过吗?
我编辑了OpenCV。散列文件并重新运行构建。
检查版本的OpenCV所这个特殊的提交:
abraxas3d@chococat: ~ /下载/ opencv de0cd95418811e302996161e03195bf7e631a git标签——包含126美元
2.4.13.4
2.4.13.5
2.4.13.6
2.4.13.7
与2.4.13.4
提交身份证上面是修复cmake的错误和其他错误的语句。
从github 2.4.13.4下载tarball (opencv)
abraxas3d@chococat: ~ /下载$ sha256sum opencv-2.4.13.4.tar.gz
f8abf1fcc2da3bb1deac8776f07b8390f871372e2a44dc355c765dd379194481 opencv-2.4.13.4.tar.gz
更新哈希opencv。散列与本地生成的散列。
下一个错误是在opencv
大块# 1成功409(抵消5行)。
补丁文件模块/ ocl / src / matrix_operations.cpp
补丁文件模块/ python / src2 / cv2.cpp
应用0002 -避免sysctl_h。补丁使用补丁:
补丁文件模块/核心/ src / parallel.cpp
逆转之前(或应用)补丁检测!跳过补丁。
1的1块忽略——拒绝保存到文件模块/核心/ src / parallel.cpp.rej
补丁文件模块/核心/ src / system.cpp
大块# 1在163失败了。
1的1块失败——拒绝保存到文件模块/核心/ src / system.cpp.rej
补丁文件模块/ highgui / src / cap_ffmpeg_impl.hpp
逆转之前(或应用)补丁检测!跳过补丁。
1的1块忽略——拒绝保存到文件模块/ highgui / src / cap_ffmpeg_impl.hpp.rej
包/ pkg-generic。可:191:配方为目标的/ home / abraxas3d / haifuraiya / buildroot /输出/ zc706_linux_linaro /构建/ opencv-2.4.13.4 /。stamp_patched的失败
[1]:* * * (/ home / abraxas3d / haifuraiya / buildroot /输出/ zc706_linux_linaro /构建/ opencv-2.4.13.4 /。stamp_patched]错误1
Makefile: 16:配方为目标“_all”失败了
:* * * 2 (_all)错误
未捕获异常
回溯(最近的电话):
文件”。/。py”, 191行,在<模块>
build_target (args,目录)
文件”。/。在build_target py”, 89行
subproc (argStr鹿=参数[' outputDir '])
文件“/ home / abraxas3d / haifuraiya / buildroot /板/ / helper_func mathworks /共同/脚本。在subproc py”, 492行
_SUBPROC_LOGGER。调用(args, =慢性消耗病,慢性消耗性疾病shell =壳)
文件“/ home / abraxas3d / haifuraiya / buildroot /板/ / helper_func mathworks /共同/脚本。py”, 77行,在调用
提高subprocess.CalledProcessError (self.proc。returncode self.strArgs (args),没有一个)
CalledProcessError:命令“使legal-info”返回非零退出状态2
我们看看这些文件被拒绝看到发生了什么。
abraxas3d@chococat: ~ / haifuraiya / buildroot /输出/ zc706_linux_linaro /构建/ opencv-2.4.13.4 /模块/核心/ src猫parallel.cpp.rej美元
- - -模块/核心/ src / parallel.cpp
+ + +模块/核心/ src / parallel.cpp
@@ -56、7 + 56 7 @@
# include < sys / types.h >
#如果ANDROID定义
# include < sys / sysconf.h >
其他- #
+ # elif __APPLE__定义
# include < sys / sysctl.h >
# endif
# endif
abraxas3d@chococat: ~ / haifuraiya / buildroot /输出/ zc706_linux_linaro /构建/ opencv-2.4.13.4 /模块/核心/ src猫system.cpp.rej美元
- - -模块/核心/ src / system.cpp
+ + +模块/核心/ src / system.cpp
@@ -163 7 + 163 7 @@ std:: wstring GetTempFileNameWinRT (std:: wstring前缀)
# include < sys / types.h >
#如果ANDROID定义
# include < sys / sysconf.h >
其他- #
+ # elif __APPLE__定义
# include < sys / sysctl.h >
# endif
# endif
不知道为什么安卓和苹果支持增加会导致buildroot失败。万博1manbetx我们需要一些帮助了。
同样的错误与2.4.13.5
同样的错误与2.4.13.6
与2.4.13.7同样的错误,这是OpenCV的2.4版本。
- = - = - = - = - = - = - = - = - = -
我们转向第三个机器和安装Vivado 2020.2
这个操作系统是一个Ubuntu 20.04 (2020.2 Vivado被列为支持Ubuntu 20.04) 万博1manbetxmathworks buildroot R22.2.0分支。
手动安装后手臂Linaro交叉编译器在/ opt / Linaro和重命名目录匹配默认的构建。py脚本,发生以下错误:
freadahead。c:在函数“freadahead”: freadahead。c: 92:3:错误:#错误“请港口gnulib freadahead。c你的平台!看看。fflush的定义,从文件中读,ungetc在您的系统上,然后报告bug-gnulib。”92 | #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib." | ^~~~~ make[5]: *** [Makefile:1915: freadahead.o] Error 1 make[5]: *** Waiting for unfinished jobs.... CC fseeko.o fseeko.c: In function 'rpl_fseeko': fseeko.c:110:4: error: #error "Please port gnulib fseeko.c to your platform! Look at the code in fseeko.c, then report this to bug-gnulib." 110 | #error "Please port gnulib fseeko.c to your platform! Look at the code in fseeko.c, then report this to bug-gnulib." | ^~~~~ make[5]: *** [Makefile:1915: fseeko.o] Error 1 make[4]: *** [Makefile:1674: all] Error 2 make[3]: *** [Makefile:1572: all-recursive] Error 1 make[2]: *** [Makefile:1528: all] Error 2
有任何建议吗?可能有人请分享Ubuntu的组合,Vivado,和mathworks buildroot将构建和支持高密度脂蛋白编码器吗?万博1manbetx我们使用的是zc706与模拟设备和zcu102 9000系列无线电。
-Abraxas3d
1评论
诺姆·莱文
诺姆·莱文 2023年5月22日在20分
你用的哪些具体模拟设备收发器?MathWorks“开箱即用”的解决方案代码生成只覆盖万博 尤文图斯AD9361 + ZCU706,或ZCU102。ADRV9002,如果您正在使用一个AD9371或ADRV9009/8,那么您需要使用模拟装置收发器工具箱——上可用 MATLAB文件交换 ,或者通过MATLAB附加探险家。更多的信息事业avaialble模拟设备上维基- https://wiki.analog.com/resources/tools-software/transceiver-toolbox。
万博1manbetx支持ADI的收发器工具箱通过ADI的处理 工程师论坛区软件界面工具

登录置评。

答案(0)

标签

s manbetx 845


释放

R2022b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!