From a06056e78964369fa1ecdfdbc5a99895f232d083 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 23 Mar 2024 18:21:09 -0700 Subject: plocate: Fix sys/stat.h and linux/stat.h conflicts with musl Signed-off-by: Khem Raj --- ...ux-stat.h-only-when-sys-stat.h-is-not-inc.patch | 39 ++++++++++++++++++++++ meta-oe/recipes-extended/plocate/plocate_1.1.22.bb | 3 +- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-extended/plocate/plocate/0001-Include-linux-stat.h-only-when-sys-stat.h-is-not-inc.patch (limited to 'meta-oe/recipes-extended/plocate') diff --git a/meta-oe/recipes-extended/plocate/plocate/0001-Include-linux-stat.h-only-when-sys-stat.h-is-not-inc.patch b/meta-oe/recipes-extended/plocate/plocate/0001-Include-linux-stat.h-only-when-sys-stat.h-is-not-inc.patch new file mode 100644 index 000000000..7ba266f44 --- /dev/null +++ b/meta-oe/recipes-extended/plocate/plocate/0001-Include-linux-stat.h-only-when-sys-stat.h-is-not-inc.patch @@ -0,0 +1,39 @@ +From 1d2197c195e19f1414afef75186bdd4c27b3ee5a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 23 Mar 2024 18:16:19 -0700 +Subject: [PATCH] Include linux/stat.h only when sys/stat.h is not included + +This ends up providing certain functions from both headers e.g. +statx and statx_timestamp since liburing.h forcefully defines _GNU_SOURCE +to help musl compile liburing, however, this define then causes these +two files to conflict in plocate, it seems this file is redundant here +when sys/stat.h is included anyway, mark it for conditional include + +Fixes +| In file included from ../plocate-1.1.22/plocate.cpp:5: +| In file included from ../plocate-1.1.22/io_uring_engine.h:14: +| In file included from /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/plocate/1.1.22/recipe-sysroot/usr/include/liburing.h:14: +| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/plocate/1.1.22/recipe-sysroot/usr/include/sys/stat.h:124:8: error: redefinition of 'statx_timestamp' +| 124 | struct statx_timestamp { +| | ^ +| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/plocate/1.1.22/recipe-sysroot/usr/include/linux/stat.h:56:8: note: previous definition is here | 56 | struct statx_timestamp { | | ^ | In file included from ../plocate-1.1.22/plocate.cpp:5: | In file included from ../plocate-1.1.22/io_uring_engine.h:14: | In file included from /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/plocate/1.1.22/recipe-sysroot/usr/include/liburing.h:14: | /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/plocate/1.1.22/recipe-sysroot/usr/include/sys/stat.h:129:8: error: redefinition of 'statx' | 129 | struct statx { | | ^ | /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/plocate/1.1.22/recipe-sysroot/usr/include/linux/stat.h:99:8: note: previous definition is here +| 99 | struct statx { +| | ^ + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + io_uring_engine.h | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/io_uring_engine.h ++++ b/io_uring_engine.h +@@ -7,7 +7,6 @@ + #include + #include + #include +-#include + + struct io_uring_sqe; + #ifndef WITHOUT_URING diff --git a/meta-oe/recipes-extended/plocate/plocate_1.1.22.bb b/meta-oe/recipes-extended/plocate/plocate_1.1.22.bb index 07de35726..694c29776 100644 --- a/meta-oe/recipes-extended/plocate/plocate_1.1.22.bb +++ b/meta-oe/recipes-extended/plocate/plocate_1.1.22.bb @@ -9,6 +9,7 @@ inherit meson pkgconfig DEPENDS = "zstd liburing" -SRC_URI = "https://plocate.sesse.net/download/${BP}.tar.gz" +SRC_URI = "https://plocate.sesse.net/download/${BP}.tar.gz \ + file://0001-Include-linux-stat.h-only-when-sys-stat.h-is-not-inc.patch" SRC_URI[sha256sum] = "3b7e4741b4aa2ec044e53eff06474a32a3fb1e928b9382351fe79d4c27fb0049" -- cgit v1.2.3-54-g00ecf