From d876223293276d9fd1c94daf92413cdec5c00d15 Mon Sep 17 00:00:00 2001 From: Kai Kang Date: Tue, 25 Jun 2024 10:02:49 +0800 Subject: [PATCH] glibc: fix fortran header file conflict for arm There is a file conflict for arm when multilib enabled: | Error: Transaction test error: | file /usr/include/finclude/math-vector-fortran.h conflicts between attempted installs of lib32-libc6-dev-2.39+git0+312e159626-r0.armv7at2hf_neon and libc6-dev-2.39+git0+312e159626-r0.cortexa72 Install math-vector-fortran.h to the gfortran default search directory which is arch specific to avoid the conflict. (From OE-Core rev: d2165543e796d4558c632af24eb7b115bca45969) Signed-off-by: Kai Kang Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- meta/recipes-core/glibc/glibc-package.inc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index 0c5e3b4c3d..3352f3e2f5 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc @@ -39,7 +39,7 @@ FILES:sln = "${base_sbindir}/sln" FILES:${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/*.o" FILES:libsotruss = "${libdir}/audit/sotruss-lib.so" FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}" -FILES:${PN}-dev += "${libdir}/libpthread.a ${libdir}/libdl.a ${libdir}/libutil.a ${libdir}/libanl.a ${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal" +FILES:${PN}-dev += "${libdir}/libpthread.a ${libdir}/libdl.a ${libdir}/libutil.a ${libdir}/libanl.a ${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal ${libdir}/gcc/${TARGET_SYS}/*/finclude" RDEPENDS:${PN}-dev = "linux-libc-headers-dev" FILES:${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a" FILES:nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_system_unitdir}/nscd* ${nonarch_libdir}/tmpfiles.d/nscd.conf \ @@ -169,6 +169,12 @@ do_install_armmultilib () { oe_multilib_header sys/elf.h sys/procfs.h sys/ptrace.h sys/ucontext.h sys/user.h } +do_install_armmultilib:append:class-target() { + gcc_version=$($CC -dumpversion) + mkdir -p ${D}${libdir}/gcc/${TARGET_SYS}/${gcc_version}/finclude + mv ${D}${includedir}/finclude/math-vector-fortran.h ${D}${libdir}/gcc/${TARGET_SYS}/${gcc_version}/finclude/ + rmdir --ignore-fail-on-non-empty ${D}${includedir}/finclude +} LOCALESTASH = "${WORKDIR}/stashed-locale" bashscripts = "mtrace sotruss xtrace"