首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yocto(Zeus) Perf构建失败

Yocto(Zeus) Perf构建失败
EN

Stack Overflow用户
提问于 2020-09-09 15:04:29
回答 1查看 488关注 0票数 0

我想在Yocto (宙斯分支)上构建perf,用于没有python2的图像。食谱是这样的:https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-kernel/perf/perf.bb?h=zeus-22.0.4

运行此配方会产生以下错误:

代码语言:javascript
复制
| ERROR: Execution of '/home/yocto/poseidon-build/tmp/work/imx6dl_poseidon_revb-poseidon-linux-gnueabi/perf/1.0-r9/temp/run.do_compile.19113' failed with exit code 1:
| make: Entering directory '/home/yocto/poseidon-build/tmp/work/imx6dl_poseidon_revb-poseidon-linux-gnueabi/perf/1.0-r9/perf-1.0/tools/perf'
|   BUILD:   Doing 'make -j4' parallel build
| Warning: arch/x86/include/asm/disabled-features.h differs from kernel
| Warning: arch/x86/include/asm/required-features.h differs from kernel
| Warning: arch/x86/include/asm/cpufeatures.h differs from kernel
| Warning: arch/arm/include/uapi/asm/perf_regs.h differs from kernel
| Warning: arch/arm64/include/uapi/asm/perf_regs.h differs from kernel
| Warning: arch/powerpc/include/uapi/asm/perf_regs.h differs from kernel
| Warning: arch/x86/include/uapi/asm/perf_regs.h differs from kernel
| Warning: arch/x86/include/uapi/asm/kvm.h differs from kernel
| Warning: arch/x86/include/uapi/asm/kvm_perf.h differs from kernel
| Warning: arch/x86/include/uapi/asm/svm.h differs from kernel
| Warning: arch/x86/include/uapi/asm/vmx.h differs from kernel
| Warning: arch/powerpc/include/uapi/asm/kvm.h differs from kernel
| Warning: arch/s390/include/uapi/asm/kvm.h differs from kernel
| Warning: arch/s390/include/uapi/asm/kvm_perf.h differs from kernel
| Warning: arch/s390/include/uapi/asm/sie.h differs from kernel
| Warning: arch/arm/include/uapi/asm/kvm.h differs from kernel
| Warning: arch/arm64/include/uapi/asm/kvm.h differs from kernel
| Warning: arch/x86/lib/memcpy_64.S differs from kernel
| Warning: arch/x86/lib/memset_64.S differs from kernel
|
| Auto-detecting system features:
| ...                         dwarf: [ on  ]
| ...            dwarf_getlocations: [ on  ]
| ...                         glibc: [ on  ]
| ...                          gtk2: [ OFF ]
| ...                      libaudit: [ OFF ]
| ...                        libbfd: [ on  ]
| ...                        libelf: [ on  ]
| ...                       libnuma: [ OFF ]
| ...        numa_num_possible_cpus: [ OFF ]
| ...                       libperl: [ OFF ]
| ...                     libpython: [ on  ]
| ...                      libslang: [ on  ]
| ...                     libcrypto: [ on  ]
| ...                     libunwind: [ on  ]
| ...            libdw-dwarf-unwind: [ on  ]
| ...                          zlib: [ on  ]
| ...                          lzma: [ on  ]
| ...                     get_cpuid: [ OFF ]
| ...                           bpf: [ on  ]
|
| Makefile.config:352: DWARF support is off, BPF prologue is disabled
| Makefile.config:547: Missing perl devel files. Disabling perl scripting support, please install perl-ExtUtils-Embed/libperl-dev
| Makefile.config:594: Python 3 is not yet supported; please set
| Makefile.config:595: PYTHON and/or PYTHON_CONFIG appropriately.
| Makefile.config:596: If you also have Python 2 installed, then
| Makefile.config:597: try something like:
| Makefile.config:598:
| Makefile.config:599:   make PYTHON=python2
| Makefile.config:600:
| Makefile.config:601: Otherwise, disable Python support entirely:
| Makefile.config:602:
| Makefile.config:603:   make NO_LIBPYTHON=1
| Makefile.config:604:
| Makefile.config:605: *** .  Stop.
| Makefile.perf:205: recipe for target 'sub-make' failed
| make[1]: *** [sub-make] Error 2
| Makefile:68: recipe for target 'all' failed
| make: *** [all] Error 2
| make: Leaving directory '/home/yocto/poseidon-build/tmp/work/imx6dl_poseidon_revb-poseidon-linux-gnueabi/perf/1.0-r9/perf-1.0/tools/perf'
| WARNING: exit code 1 from a shell command.
|
ERROR: Task (/home/yocto/sources/poky/meta/recipes-kernel/perf/perf.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1947 tasks of which 1946 didn't need to be rerun and 1 failed.

看一下食谱,libpython似乎已经设置好了?

代码语言:javascript
复制
PACKAGECONFIG ??= "scripting tui libunwind"
PACKAGECONFIG[dwarf] = ",NO_DWARF=1"
PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python3"
# gui support was added with kernel 3.6.35
# since 3.10 libnewt was replaced by slang
# to cover a wide range of kernel we add both dependencies
PACKAGECONFIG[tui] = ",NO_NEWT=1,libnewt slang"
PACKAGECONFIG[libunwind] = ",NO_LIBUNWIND=1 NO_LIBDW_DWARF_UNWIND=1,libunwind"
PACKAGECONFIG[libnuma] = ",NO_LIBNUMA=1"
PACKAGECONFIG[systemtap] = ",NO_SDT=1,systemtap"
PACKAGECONFIG[jvmti] = ",NO_JVMTI=1"
# libaudit support would need scripting to be enabled
PACKAGECONFIG[audit] = ",NO_LIBAUDIT=1,audit"
PACKAGECONFIG[manpages] = ",,xmlto-native asciidoc-native"

为什么它不拿起旗帜呢?

EN

回答 1

Stack Overflow用户

发布于 2020-09-10 02:12:47

默认情况下,PACKAGECONFIG中包含scripting

PACKAGECONFIG选项的定义如下:

代码语言:javascript
复制
PACKAGECONFIG[f1] = "--with-f1, \
                     --without-f1, \
                     build-deps-for-f1, \
                     runtime-deps-for-f1, \
                     runtime-recommends-for-f1, \
                     packageconfig-conflicts-for-f1 \
                     "

PACKAGECONFIG[scripting]设置为",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python3"。看到这里的第一个逗号了吗?这意味着在之后定义的是当scripting而不是 selected时定义的。

因此,如果不想拉出python依赖项,只需将PACKAGECONFIG设置为不带scripting的值即可。

虽然我真的很惊讶默认没有构建,但这肯定是由汽车制造商测试的东西。可能还发生了什么事?

c.f.:https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#var-PACKAGECONFIG

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63806374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档