[OE-core] [PATCH 0/5] kernel-yocto: misc build / config changes

richard.purdie at linuxfoundation.org richard.purdie at linuxfoundation.org
Fri Aug 30 14:39:08 UTC 2019


On Thu, 2019-08-29 at 11:32 -0400, Bruce Ashfield wrote:
> On Thu, Aug 29, 2019 at 11:31 AM Bruce Ashfield
> <bruce.ashfield at gmail.com> wrote:
> > On Thu, Aug 29, 2019 at 11:28 AM Jonathan Rajotte-Julien
> > <jonathan.rajotte-julien at efficios.com> wrote:
> > > > FWIW: lttng-ust builds fine for me with the 5.2 kernel + 5.2
> > > > headers,
> > > > it is one of the things I build and test as part of
> > > > core-image-kernel-dev.
> > > 
> > > Even on ppc?
> > > 
> > 
> > yup. I build all arches for core-image-kernel-dev, which includes
> > all of lttng.
> 
> but I've recently switched to RP's master-next branch, so hopefully a
> difference in the configs will pop out.

I'll post here about what I'm finding. eudev fails since SO_SNDTIMEO
isn't defined. This comes from asm-generic/socket.h which asm/socket.h
include.

richard at jet:work/ppce300c3-poky-linux/eudev/3.2.8-r0/build/src/shared$ /media/build1/poky/build/tmp/work/ppce300c3-poky-linux/eudev/3.2.8-r0/recipe-sysroot-native/usr/bin/powerpc-poky-linux/powerpc-poky-linux-gcc -m32 -mhard-float -mcpu=e300c3 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/media/build1/poky/build/tmp/work/ppce300c3-poky-linux/eudev/3.2.8-r0/recipe-sysroot -DHAVE_CONFIG_H -I. -I../../../eudev-3.2.8/src/shared -I../.. -DUDEV_ROOT_RUN=\"/run\" -include ../../config.h -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/media/build1/poky/build/tmp/work/ppce300c3-poky-linux/eudev/3.2.8-r0=/usr/src/debug/eudev/3.2.8-r0 -fdebug-prefix-map=/media/build1/poky/build/tmp/work/ppce300c3-poky-linux/eudev/3.2.8-r0=/usr/src/debug/eudev/3.2.8-r0 -fdebug-prefix-map=/media/build1/poky/build/tmp/work/ppce300c3-poky-linux/eudev/3.2.8-r0/recipe-sysroot= -fdebug-prefix-map=/media/build1/poky/build/tmp/work/ppce300c3-poky-linux/eudev/3.2.8-r0/recipe-sysroot-native= -c ../../../eudev-3.2.8/src/shared/log.c  -fPIC -DPIC -o .libs/log.o
../../../eudev-3.2.8/src/shared/log.c: In function 'create_log_socket':
../../../eudev-3.2.8/src/shared/log.c:128:43: error: 'SO_SNDTIMEO' undeclared (first use in this function); did you mean 'SO_TXTIME'?
  128 |         (void) setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv));
      |                                           ^~~~~~~~~~~
      |                                           SO_TXTIME

The file:
ppce300c3-poky-linux/eudev/3.2.8-r0/recipe-sysroot/usr/include/asm-generic/socket.h
isn't included.

if I put:

#include <asm-generic/socket.h>

at the top of log.c it will build, everything else doesn't.

Debugging with gcc -e shows its including a different 'interesting' file.

My build has a 
build/tmp/work/ppce300c3-poky-linux/eudev/3.2.8-r0/recipe-sysroot-native/usr/lib/powerpc-poky-linux/gcc/powerpc-poky-linux/9.2.0/include-fixed/asm-generic/socket.h
which looks totally wrong when I compare it to the real asm-generic/socket.h.

Why this is in the toolchain I don't know and I'll have to investigate further.

I worry it depends on which MACHINE you have set when you build gcc-cross-powerpc.

So we have some progress/a lead but more to be done.

Cheers,

Richard




More information about the Openembedded-core mailing list