[oe] [meta-oe][PATCH 1/1] kernel-selftest: Add a recipe on kernel selftest

Hongzhi, Song hongzhi.song at windriver.com
Fri Jul 27 09:00:43 UTC 2018


Hi Raj,

Could you help to confirm that if the libelf exists in your recipe-sysroot?

Because I can't reproduce your error.


--Hongzhi


On 2018年07月27日 16:40, Khem Raj wrote:
> this fails on rpi
>
> ERROR: Logfile of failure stored in:
> /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/temp/log.do_compile.22198
> Log data follows:
> | DEBUG: Executing shell function do_compile
> | NOTE: make -j 16 CROSS_COMPILE=arm-bec-linux-gnueabi- ARCH=arm
> CC=arm-bec-linux-gnueabi-gcc  -march=armv7ve -mthumb -mfpu=neon-vfpv4
> -mfloat-abi=hard -mcpu=cortex-a7 -fstack-protector-strong
> -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security
> -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat
> -Wformat-security -Werror=format-security
> --sysroot=/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/recipe-sysroot
> AR=arm-bec-linux-gnueabi-ar LD=arm-bec-linux-gnueabi-ld
> --sysroot=/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/recipe-sysroot
>   DESTDIR=/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/image
> -C /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf
> | make: Entering directory
> '/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf'
> | make -C ../../../lib/bpf
> OUTPUT=/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/
> | make[1]: Entering directory
> '/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/lib/bpf'
> |
> | Auto-detecting system features:
> | ...                        libelf: [ ^[[31mOFF^[[m ]
> | ...                           bpf: [ ^[[31mOFF^[[m ]
> |
> | BPF API too old
> | make[1]: *** [Makefile:219: bpfdep] Error 255
> | make[1]: *** Waiting for unfinished jobs....
> | No libelf found
> | make[1]: *** [Makefile:216: elfdep] Error 255
> |   HOSTCC   /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/fixdep.o
> |   HOSTLD   /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/fixdep-in.o
> |   LINK     /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/fixdep
> | make[1]: Leaving directory
> '/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/lib/bpf'
> | make: *** [Makefile:33:
> /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/libbpf.a]
> Error 2
> | make: Leaving directory
> '/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf'
> | ERROR: oe_runmake failed
> | WARNING: /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/temp/run.do_compile.22198:1
> exit 1 from 'exit 1'
> | ERROR: Function failed: do_compile (log file is located at
> /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/temp/log.do_compile.22198)
>
> On Mon, Jul 16, 2018 at 2:51 AM Hongzhi, Song
> <hongzhi.song at windriver.com> wrote:
>>
>>
>> On 2018年07月14日 00:23, Burton, Ross wrote:
>>> On 13 July 2018 at 15:06, Hongzhi.Song <hongzhi.song at windriver.com> wrote:
>>>> +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7 \
>>> Why are you shipping your own copy of the kernel's COPYING file even
>>> though you copy another in that prefunc?
>>>
>>> Isn't it possible to just depend on kernel-source and build directly
>>> from the kernel source tree?
>>>
>>>> +# for bpf and vm
>>>> +DEPENDS = " \
>>>> +    elfutils \
>>>> +    libcap \
>>>> +    libcap-ng \
>>>> +    fuse \
>>>> +    util-linux \
>>>> +    rsync-native \
>>>> +"
>>> Really not convinced these dependencies are accurate.
>>>
>>>> +TEST_LIST = "bpf \
>>>> +             vm \
>>>> +"
>>> You're not listing memfd in here, but that is the only place which
>>> uses fuse as far as I can tell.
>>>
>>> My suggestion is to trim the DEPENDS back to the core minimum and use
>>> PACKAGECONIG to select what directories get built. This means you can
>>> have optional test suites where the dependencies are not in oe-core
>>> (fuse for memfd, for example), and get the right RDEPENDS too.
>>>
>>>> +        oe_runmake -C ${S}/tools/testing/selftests/${i} INSTALL_PATH=${D}/opt/kselftest/${i} install
>>> FHS says /opt is for sysadmin-installed tools that are not package
>>> managed.  You're building a package.  You're also building a package
>>> which is essentially ptest.  I'd say inherit ptest, write a runner,
>>> and put all the binaries in $PTESTDIR.
>> Hi Burton,
>>
>> kernel-selftest is designed to be shared by ptest and oe-self, and thus is
>> not supposed to inherit ptest.
>>
>> The suggestions you mentioned above will be modified soon.
>>
>> --Hongzhi
>>
>>> Ross
>>>




More information about the Openembedded-devel mailing list