如何解决petalinux 项目构建失败,m4-native-1.4.18-r0 do_compile 在主机 Ubuntu 20.04 LTS 上失败
在尝试将 petalinux 2018.3 项目编译 Ubuntu 16 主机移植到 Ubuntu 20 主机时。 出现以下错误
ERROR: m4-native-1.4.18-r0 do_compile: Function Failed: do_compile (log file is located at .
.
.
.
| gcc -I. -I../../m4-1.4.18/lib -isystem/home/os-bsp-team/fadil/2018.3/projects/rrh_4.0/RRH_TRX_MULTI_ADI_MULTICH/build/tmp/work/x86_64-linux/m4-native/1.4.18-r0/recipe-sysroot-native/usr/include -isystem/home/os-bsp-team/fadil/2018.3/projects/rrh_4.0/RRH_TRX_MULTI_ADI_MULTICH/build/tmp/work/x86_64-linux/m4-native/1.4.18-r0/recipe-sysroot-native/usr/include -O2 -pipe -c -o freadahead.o ../../m4-1.4.18/lib/freadahead.c
| gcc -I. -I../../m4-1.4.18/lib -isystem/home/os-bsp-team/fadil/2018.3/projects/rrh_4.0/RRH_TRX_MULTI_ADI_MULTICH/build/tmp/work/x86_64-linux/m4-native/1.4.18-r0/recipe-sysroot-native/usr/include -isystem/home/os-bsp-team/fadil/2018.3/projects/rrh_4.0/RRH_TRX_MULTI_ADI_MULTICH/build/tmp/work/x86_64-linux/m4-native/1.4.18-r0/recipe-sysroot-native/usr/include -O2 -pipe -c -o fseeko.o ../../m4-1.4.18/lib/fseeko.c
| ../../m4-1.4.18/lib/fseeko.c: In function ‘rpl_fseeko’:
| ../../m4-1.4.18/lib/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."
| | ^~~~~
| ../../m4-1.4.18/lib/freadahead.c: In function ‘freadahead’:
| ../../m4-1.4.18/lib/freadahead.c:92:3: error: #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."
| 92 | #error "Please port gnulib freadahead.c to your platform! Look at the deFinition of fflush,then report this to bug-gnulib."
| | ^~~~~
| make[3]: *** [Makefile:1915: fseeko.o] Error 1
| make[3]: *** Waiting for unfinished jobs....
| make[3]: *** [Makefile:1915: freadahead.o] Error 1
| make[3]: Leaving directory '/home/os-bsp-team/fadil/2018.3/projects/rrh_4.0/RRH_TRX_MULTI_ADI_MULTICH/build/tmp/work/x86_64-linux/m4-native/1.4.18-r0/build/lib'
| make[2]: *** [Makefile:1674: all] Error 2
| make[2]: Leaving directory '/home/os-bsp-team/fadil/2018.3/projects/rrh_4.0/RRH_TRX_MULTI_ADI_MULTICH/build/tmp/work/x86_64-linux/m4-native/1.4.18-r0/build/lib'
| make[1]: *** [Makefile:1572: all-recursive] Error 1
| make[1]: Leaving directory '/home/os-bsp-team/fadil/2018.3/projects/rrh_4.0/RRH_TRX_MULTI_ADI_MULTICH/build/tmp/work/x86_64-linux/m4-native/1.4.18-r0/build'
| make: *** [Makefile:1528: all] Error 2
| ERROR: oe_runmake Failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function Failed: do_compile (log file is located at /home/os-bsp-team/fadil/2018.3/projects/rrh_4.0/RRH_TRX_MULTI_ADI_MULTICH/build/tmp/work/x86_64-linux/m4-native/1.4.18-r0/temp/log.do_compile.1545563)
ERROR: Task (/home/os-bsp-team/fadil/2018.3/components/yocto/source/aarch64/layers/core/Meta/recipes-devtools/m4/m4-native_1.4.18.bb:do_compile) Failed with exit code '1'
NOTE: Tasks Summary: Attempted 894 tasks of which 878 didn't need to be rerun and 1 Failed.
通过谷歌搜索发现需要应用此补丁http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/recipes-devtools/m4?h=thud&id=95ca077ab871ceff46c2052f324f879a1d624ff4有人可以帮助找出此问题并在 yocto 中应用此补丁。
解决方法
您可以像 here 一样使用 git 应用补丁。
或者您可以下载 m4-1.4.18-glibc-change-work-around.patch 并将其放在 files
中的 meta/recipes-devtools/m4/files
子文件夹中,并将以下行添加到 SRC_URI
:
SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \
file://ac_config_links.patch \
file://remove-gets.patch \
file://m4-1.4.18-glibc-change-work-around.patch \
"
SRC_URI 中的 file://m4-1.4.18-glibc-change-work-around.patch
将为您应用补丁。
您还可以查找 remove-gets.patch
的位置并将此补丁放在同一文件夹中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。