diff mbox series

[v4] libbsd: Fix conflict error when enable multilib.

Message ID 20240430082706.51856-1-leimaohui@fujitsu.com
State New
Headers show
Series [v4] libbsd: Fix conflict error when enable multilib. | expand

Commit Message

Maohui Lei (Fujitsu) April 30, 2024, 8:27 a.m. UTC
From: Lei Maohui <leimaohui@fujitsu.com>

- Fix the conflict error by oe_multilib_header. The conflict error is as the following:
Error: Transaction test error:
  file /usr/include/bsd/sys/cdefs.h conflicts between attempted installs of libbsd-dev-0.12.1-r0.core2_64 and lib32-libbsd-dev-0.12.1-r0.core2_32

The difference of bsd/sys/cdefs.h between libbsd-dev and lib32-libbsd-dev is as following:

 /* Define the ABI for the current system. */
 -#define LIBBSD_SYS_TIME_BITS 64
 +#define LIBBSD_SYS_TIME_BITS 32
 #define LIBBSD_SYS_HAS_TIME64 1

- After oe_multilib_header on cdefs.h, the path of cdefs-64.h and cdefs-32.h in cdefs.h need to be corrected for overlay-mode. Please reference to https://man.archlinux.org/man/libbsd.7 for details.
  @@ -12,19 +12,19 @@
 #ifdef _MIPS_SIM

 #if _MIPS_SIM == _ABIO32
-#include <bsd/sys/cdefs-32.h>
+#include <sys/cdefs-32.h>
 #elif _MIPS_SIM == _ABIN32
-#include <bsd/sys/cdefs-n32.h>
+#include <sys/cdefs-n32.h>
 #else
 #error "Unknown _MIPS_SIM"
 #endif

 #else /* _MIPS_SIM is not defined */
-#include <bsd/sys/cdefs-32.h>
+#include <sys/cdefs-32.h>
 #endif

 #elif __WORDSIZE == 64
-#include <bsd/sys/cdefs-64.h>
+#include <sys/cdefs-64.h>
 #else
 #error "Unknown __WORDSIZE detected"
 #endif /* matches #if __WORDSIZE == 32 */

Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
---
 meta/recipes-support/libbsd/libbsd_0.12.2.bb | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/meta/recipes-support/libbsd/libbsd_0.12.2.bb b/meta/recipes-support/libbsd/libbsd_0.12.2.bb
index 7d5e88f293..1791d97dfd 100644
--- a/meta/recipes-support/libbsd/libbsd_0.12.2.bb
+++ b/meta/recipes-support/libbsd/libbsd_0.12.2.bb
@@ -40,8 +40,16 @@  SRC_URI = "https://libbsd.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
 
 SRC_URI[sha256sum] = "b88cc9163d0c652aaf39a99991d974ddba1c3a9711db8f1b5838af2a14731014"
 
-inherit autotools pkgconfig
+inherit autotools pkgconfig multilib_header
 
 DEPENDS += "libmd"
 
+do_install:append () {
+   oe_multilib_header bsd/sys/cdefs.h
+   # It hasn't been tested when libbsd is used in 'namespaced headers' mode according to
+   # https://man.archlinux.org/man/libbsd.7.
+   sed -i 's:#include <bsd/sys/cdefs:#include <sys/cdefs:g' ${D}${includedir}/bsd/sys/cdefs.h
+}
+
+
 BBCLASSEXTEND = "native nativesdk"