Re: [PATCH v2] libsdl2: Fix build when libunwind is not used

Khem Raj

On Wed, Feb 16, 2022 at 1:58 AM Carlos Rafael Giani via <>

"MACHINE=qemux86-64 bitbake libsdl2-native" still fails with a similar error:

| CMake Error at /home/test/yocto-master/poky/build/tmp/work/x86_64-linux/libsdl2-native/2.0.20-r0/recipe-sysroot-native/usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:890 (message):
| None of the required 'libunwind' found

This is triggered by the "pkg_search_module(UNWIND REQUIRED libunwind)" line right above the one that is modified by this patch.

Any idea what is going on?
I think its looking for libunwind on your build host.

On 07.01.22 21:34, Alexander Kanavin wrote:

Thanks :)


On Fri, 7 Jan 2022 at 20:23, Khem Raj <raj.khem@...> wrote:

clang provides libunwind.h and cmake adds a check to
find libunwind when this header is detected, which was
not the case with automake. The check however is expecting
specific unwinder implementation which provides libunwind-generic
solib, this is not a standard library that all implementations
will provide, therefore make this check optional.

Signed-off-by: Khem Raj <raj.khem@...>
Cc: Andreas Müller <schnitzeltony@...>
v2: Udate patch status to submitted

.../libsdl2/optional-libunwind-generic.patch | 18 ++++++++++++++++++
.../recipes-graphics/libsdl2/ | 1 +
2 files changed, 19 insertions(+)
create mode 100644 meta/recipes-graphics/libsdl2/libsdl2/optional-libunwind-generic.patch

diff --git a/meta/recipes-graphics/libsdl2/libsdl2/optional-libunwind-generic.patch b/meta/recipes-graphics/libsdl2/libsdl2/optional-libunwind-generic.patch
new file mode 100644
index 00000000000..757b99a5f68
--- /dev/null
+++ b/meta/recipes-graphics/libsdl2/libsdl2/optional-libunwind-generic.patch
@@ -0,0 +1,18 @@
+Do not error when libunwind-generic is not found, Not all
+implementations of libunwind will provide this library therefore
+do not make it hard error if its not found.
+Upstream-Status: Submitted []
+Signed-off-by: Khem Raj <raj.khem@...>
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1358,7 +1358,7 @@ elseif(UNIX AND NOT APPLE AND NOT ANDROI
+ # We've already found the header, so REQUIRE the lib to be present
+ pkg_search_module(UNWIND REQUIRED libunwind)
+- pkg_search_module(UNWIND_GENERIC REQUIRED libunwind-generic)
++ pkg_search_module(UNWIND_GENERIC libunwind-generic)
+ endif()
+ endif()
diff --git a/meta/recipes-graphics/libsdl2/ b/meta/recipes-graphics/libsdl2/
index 893386343a7..1559d5e9425 100644
--- a/meta/recipes-graphics/libsdl2/
+++ b/meta/recipes-graphics/libsdl2/
@@ -18,6 +18,7 @@ PROVIDES = "virtual/libsdl2"

SRC_URI = "${PV}.tar.gz \
file://0001-Fix-build-against-wayland-1.20.patch \
+ file://optional-libunwind-generic.patch \

S = "${WORKDIR}/SDL2-${PV}"

Join to automatically receive all group messages.