libsdl2: disable shared memory for native builds

libsdl2 currently does not handle the failures that
occur due to shared memory in case of remote hosts
where it should ideally switch to socket based writing
when a failure is seen with shared memory.
Consider a scenario where a qemu build is done with
graphics support on a build machine and then accessed
remotely using ssh. If the remote host's X presents
MIT-SHM as an extension, launching qemu fails with

runqemu - ERROR - Failed to run qemu: X Error: BadValue
Request Major code 130 (MIT-SHM)
Request Minor code 3 ()

This is most often seen when the remote machine doing
ssh is a Ubuntu 20.04. The libsdl2 native are mainly
used for qemu at this time so it is a major usecase.
A report of such a failure was also presented at
https://lists.yoctoproject.org/g/poky/topic/78854857

(From OE-Core rev: d12306a6331238a25db52816ad74a775c026d7da)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Awais Belal
2021-03-17 19:06:44 +05:00
committed by Richard Purdie
parent 99c49bae5a
commit bd72322c2a

View File

@@ -65,6 +65,7 @@ PACKAGECONFIG[wayland] = "--enable-video-wayland,--disable-video-wayland,wayl
PACKAGECONFIG[x11] = "--enable-video-x11,--disable-video-x11,virtual/libx11 libxext libxrandr libxrender"
EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader"
CFLAGS_append_class-native = " -DNO_SHARED_MEMORY"
do_configure_prepend() {
# Remove old libtool macros.