[yocto] NooB: qemu-native compile error during bitbake core-image-sato

Ross Burton ross.burton at intel.com
Mon Oct 14 09:54:51 PDT 2019


On 14/10/2019 17:20, pwr at iae.nl wrote:
> Hello list,
> 
> First time here so, hi there :-) I'm new to yocto but not new to linux.
> 
> I'm following the Yocto Project Quick Build manual 
> (https://www.yoctoproject.org/docs/2.7.1/brief-yoctoprojectqs/brief-yoctoprojectqs.html)
> on an Arch (Manjaro) machine (uname -r: 4.19.79-1-MANJARO). I know 
> Manjaro is not an official supported distribution but I'm hopping on 
> some help nevertheless.
> 
> My build stops at:
>  >> bitbake core-image-sato
> 
> Build Configuration:
> BB_VERSION           = "1.42.0"
> BUILD_SYS            = "x86_64-linux"
> NATIVELSBSTRING      = "manjaro"
> TARGET_SYS           = "i586-poky-linux"
> MACHINE              = "qemux86"
> DISTRO               = "poky"
> DISTRO_VERSION       = "2.7.1"
> TUNE_FEATURES        = "m32 i586"
> TARGET_FPU           = ""
> meta
> meta-poky
> meta-yocto-bsp       = 
> "my-yocto-2.7.1:38d5c8ea98cfa49825c473eba8984c12edf062be"
> 
> WARNING: Your host glibc verson (2.30) is newer than that in uninative 
> (2.29). Disabling uninative so that sstate is not corrupted.
> 
> ERROR: qemu-native-3.1.0-r0 do_compile: oe_runmake failed
> ERROR: qemu-native-3.1.0-r0 do_compile: Function failed: do_compile (log 
> file is located at 
> poky/build/tmp/work/x86_64-linux/qemu-native/3.1.0-r0/temp/log.do_compile.1259)
> ERROR: Logfile of failure stored in: 
> poky/build/tmp/work/x86_64-linux/qemu-native/3.1.0-r0/temp/log.do_compile.1259
> 
> One of the errors in the log.do_compile.1259 file (file attached):
> poky/build/tmp/work/x86_64-linux/qemu-native/3.1.0-r0/qemu-3.1.0/linux-user/syscall.c:253:16: 
> error: static declaration of ‘gettid’ follows non-static declaration
>    253 | _syscall0(int, gettid)
> OR
> poky/build/tmp/work/x86_64-linux/qemu-native/3.1.0-r0/qemu-3.1.0/linux-user/ioctls.h:223:9: 
> error: ‘SIOCGSTAMPNS’ undeclared here (not in a function); did you mean 
> ‘SIOCGSTAMP_OLD’?
>    223 |   IOCTL(SIOCGSTAMPNS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_timespec)))
> 
> 
> I do not know enough to understand where this error comes from. But I 
> suspect it may have to do with the warning I got just before the failure:
> 
> Is there a way to tell the build system to ignore the newer version 
> glibc? And use the 2.29 version.
> Or can someone help me to debug this error?

You're trying to build an older qemu against a very new kernel.  If you 
can, grab the warrior branch from git instead of using the 2.7.1 release 
as that has the fix in.  Alternatively, cherry-pick this commit:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=0570ef5a5e180f7504df970645d1fcce6310b828

Ross


More information about the yocto mailing list