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
lists.openembedded.org <crg7475=mailbox.org@...>
wrote:

"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 :)

Alex

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/libsdl2_2.0.18.bb | 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 [https://github.com/libsdl-org/SDL/pull/5194]
+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
+ if(HAVE_LIBUNWIND_H)
+ # 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)
+ list(APPEND EXTRA_LIBS ${UNWIND_LIBRARIES} ${UNWIND_GENERIC_LIBRARIES})
+ endif()
+ endif()
diff --git a/meta/recipes-graphics/libsdl2/libsdl2_2.0.18.bb b/meta/recipes-graphics/libsdl2/libsdl2_2.0.18.bb
index 893386343a7..1559d5e9425 100644
--- a/meta/recipes-graphics/libsdl2/libsdl2_2.0.18.bb
+++ b/meta/recipes-graphics/libsdl2/libsdl2_2.0.18.bb
@@ -18,6 +18,7 @@ PROVIDES = "virtual/libsdl2"

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

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







Join openembedded-core@lists.openembedded.org to automatically receive all group messages.