【问题标题】:petalinux project build failing with m4-native-1.4.18-r0 do_compile failed on host Ubuntu 20.04 LTSpetalinux 项目构建失败,m4-native-1.4.18-r0 do_compile 在主机 Ubuntu 20.04 LTS 上失败
【发布时间】:2021-08-02 15:07:46
【问题描述】:

在尝试将编译 Ubuntu 16 主机的 petalinux 2018.3 项目移植到 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, fread, ungetc on your system, 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 中应用此补丁。

【问题讨论】:

    标签: yocto xilinx ubuntu-20.04 petalinux


    【解决方案1】:

    您可以使用 git 应用补丁,例如 here

    或者您可以下载m4-1.4.18-glibc-change-work-around.patch并将其放在meta/recipes-devtools/m4/filesfiles子文件夹中,然后将以下行添加到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的位置并将此补丁放在同一文件夹中。

    【讨论】:

    • 抱歉回复晚了,但是这个问题没有得到解决,通过上述步骤。正如你提到的,我尝试应用补丁并且o / p没有变化。是否可以在 ubuntu 20 上运行 yocto poky??
    • 您能确认补丁已应用吗?
    • 是的,正在应用补丁。我不得不将整个 petalinux 项目移至 Ubuntu 14,它在那里运行良好。感谢 Maik 的支持
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 2017-02-07
    • 2023-02-19
    • 2021-05-20
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    相关资源
    最近更新 更多