gcc-runtime: Move content from gcclibdir into libdir
PATCH v2 1/1 gcc-runtime: Move content from gcclibdir into libdir
OE does not use the traditional /usr/lib/gcc prefix to store gcc-runtime it basically is moved into libdir, however some newer files were installed by newer versions of gcc especially libgomp ( omp.h openacc.h ) into gcclibdir, so we have content in both directories, this confuses other tools which are trying to guess the gcc installation and its runtime location, since now we have two directories, the tools either choose one or other and we get inconsistent behavior, e.g. clang for aarch64 uses /usr/lib but same clang for riscv64 chose /usr/lib/gcc
This change ensures that OE ends up with single valid location for gcc runtime files
Move more common bits into common inc file
---
v2: Divert packaging to use new path in whole recipe
meta/recipes-devtools/gcc/gcc-runtime.inc | 18 +++++++++++++++--- meta/recipes-devtools/gcc/gcc-runtime_8.3.bb | 10 ---------- meta/recipes-devtools/gcc/gcc-runtime_9.1.bb | 10 ---------- 3 files changed, 15 insertions(+), 23 deletions(-)
meta/recipes-devtools/gcc/gcc-runtime.inc +15 -3
@@ -17,6 +17,12 @@ EXTRA_OECONF_PATHS = "\ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" EXTRA_OECONF_append = " --cache-file=${B}/config.cache" +# Disable ifuncs for libatomic on arm conflicts -march/-mcpu +EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " + +# Building with thumb enabled on armv6t fails +ARM_INSTRUCTION_SET_armv6 = "arm" + RUNTIMELIBITM = "libitm" RUNTIMELIBITM_arc = "" RUNTIMELIBITM_mipsarch = ""
@@ -77,6 +83,11 @@ do_install () { cd ${B}/${TARGET_SYS}/$d/ oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/${TARGET_SYS}/$d/ install done + if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include ]; then + install -d ${D}${libdir}/${TARGET_SYS}/${BINV}/include + mv ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/* ${D}${libdir}/${TARGET_SYS}/${BINV}/include + rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include + fi rm -rf ${D}${infodir}/libgomp.info ${D}${infodir}/dir rm -rf ${D}${infodir}/libitm.info ${D}${infodir}/dir rm -rf ${D}${infodir}/libquadmath.info ${D}${infodir}/dir
@@ -205,7 +216,7 @@ FILES_libssp-dev = "\ ${libdir}/libssp*.so \ ${libdir}/libssp*_nonshared.a \ ${libdir}/libssp*.la \ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ssp \ + ${libdir}/${TARGET_SYS}/${BINV}/include/ssp \ " SUMMARY_libssp-dev = "GNU stack smashing protection library - development files" FILES_libssp-staticdev = "${libdir}/libssp*.a"
@@ -214,7 +225,7 @@ SUMMARY_libssp-staticdev = "GNU stack smashing protection library - static devel FILES_libquadmath = "${libdir}/libquadmath*.so.*" SUMMARY_libquadmath = "GNU quad-precision math library" FILES_libquadmath-dev = "\ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/quadmath* \ + ${libdir}/${TARGET_SYS}/${BINV}/include/quadmath* \ ${libdir}/libquadmath*.so \ ${libdir}/libquadmath.la \ "
@@ -239,7 +250,8 @@ FILES_libgomp-dev = "\ ${libdir}/libgomp*${SOLIBSDEV} \ ${libdir}/libgomp*.la \ ${libdir}/libgomp.spec \ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/omp.h \ + ${libdir}/${TARGET_SYS}/${BINV}/include/omp.h \ + ${libdir}/${TARGET_SYS}/${BINV}/include/openacc.h \ " SUMMARY_libgomp-dev = "GNU OpenMP parallel programming library - development files" FILES_libgomp-staticdev = "${libdir}/libgomp*.a"
meta/recipes-devtools/gcc/gcc-runtime_8.3.bb +0 -10
@@ -1,12 +1,2 @@ require recipes-devtools/gcc/gcc-${PV}.inc require gcc-runtime.inc - -# Disable ifuncs for libatomic on arm conflicts -march/-mcpu -EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " - -FILES_libgomp-dev += "\ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \ -" - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET_armv6 = "arm"
meta/recipes-devtools/gcc/gcc-runtime_9.1.bb +0 -10
@@ -1,12 +1,2 @@ require recipes-devtools/gcc/gcc-${PV}.inc require gcc-runtime.inc - -# Disable ifuncs for libatomic on arm conflicts -march/-mcpu -EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " - -FILES_libgomp-dev += "\ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \ -" - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET_armv6 = "arm"
Signature · 1 line
2.22.0
Hi,
I have an app which includes omp.h from gomp, it used to find it without adding any -I for that (with just -fopenmp to enable openmp).
Now the header file is included in RSS:lib32-recipe-sysroot/usr/lib/arm-oemllib32-linux-gnueabi/9.2.0/include/omp.h but no longer found in default search dirs.
Is this expected or should gcc be adjusted to search for it automatically?
Looking at the default search paths I see:
ignoring nonexistent directory "BUILD/work/machine-oemllib32-linux-gnueabi/lib32-component/2.0.0-76-r7/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/../../lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/9.2.0/../../../../../arm-oemllib32-linux-gnueabi/include" ignoring nonexistent directory "/not/exist/usr/include/c++/9.2.0"
ignoring nonexistent directory
"/not/exist/usr/include/c++/9.2.0/arm-oemllib32-linux-gnueabi"
ignoring nonexistent directory "/not/exist/usr/include/c++/9.2.0/backward"
ignoring duplicate directory "BUILD/work/machine-oemllib32-linux-gnueabi/lib32-component/2.0.0-76-r7/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/../../lib/arm-oemllib32-linux-gnueabi/gcc/../../../lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/9.2.0/include" ignoring nonexistent directory
"/not/exist/usr/lib/gcc/arm-oemllib32-linux-gnueabi/9.2.0/include"
ignoring nonexistent directory "/not/exist/usr/local/include"
ignoring duplicate directory "BUILD/work/machine-oemllib32-linux-gnueabi/lib32-component/2.0.0-76-r7/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/../../lib/arm-oemllib32-linux-gnueabi/gcc/../../../lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/9.2.0/include-fixed" ignoring nonexistent directory "BUILD/work/machine-oemllib32-linux-gnueabi/lib32-component/2.0.0-76-r7/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/../../lib/arm-oemllib32-linux-gnueabi/gcc/../../../lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/9.2.0/../../../../../arm-oemllib32-linux-gnueabi/include" ignoring nonexistent directory "/not/exist/usr/include"
#include "..." search starts here:
#include <...> search starts here:
BUILD/work/machine-oemllib32-linux-gnueabi/lib32-component/2.0.0-76-r7/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/../../lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/9.2.0/include BUILD/work/machine-oemllib32-linux-gnueabi/lib32-component/2.0.0-76-r7/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/../../lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/9.2.0/include-fixed
End of search list.
Quoted 132 lines · Khem Raj
OE does not use the traditional
/usr/lib/gccprefix to store gcc-runtime it basically is moved into libdir, however some newer files were installed by newer versions of gcc especially libgomp (omp.hopenacc.h) into gcclibdir, so we have content in both directories, this confuses other tools which are trying to guess the gcc installation and its runtime location, since now we have two directories, the tools either choose one or other and we get inconsistent behavior, e.g. clang for aarch64 uses/usr/libbut same clang for riscv64 chose/usr/lib/gccThis change ensures that OE ends up with single valid location for gcc runtime files
Move more common bits into common inc file
Signed-off-by Khem Raj <[email protected]>---
v2: Divert packaging to use new path in whole recipemeta/recipes-devtools/gcc/gcc-runtime.inc | 18 +++++++++++++++--- meta/recipes-devtools/gcc/gcc-runtime_8.3.bb | 10 ---------- meta/recipes-devtools/gcc/gcc-runtime_9.1.bb | 10 ---------- 3 files changed, 15 insertions(+), 23 deletions(-)meta/recipes-devtools/gcc/gcc-runtime.inc +6
-0@@ -17,6 +17,12 @@ EXTRA_OECONF_PATHS = "\ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" EXTRA_OECONF_append = " --cache-file=${B}/config.cache" +# Disable ifuncs for libatomic on arm conflicts -march/-mcpu +EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " + +# Building with thumb enabled on armv6t fails +ARM_INSTRUCTION_SET_armv6 = "arm" + RUNTIMELIBITM = "libitm" RUNTIMELIBITM_arc = "" RUNTIMELIBITM_mipsarch = ""@@ -77,6 +83,11 @@ do_install () { cd ${B}/${TARGET_SYS}/$d/ oe_runmake 'DESTDIR=${D}'MULTIBUILDTOP=${B}/${TARGET_SYS}/$d/ install
donemeta/recipes-devtools/gcc/gcc-runtime.inc +3
-0+ if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include ]; then + install -d ${D}${libdir}/${TARGET_SYS}/${BINV}/include + mv ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/*${D}${libdir}/${TARGET_SYS}/${BINV}/include
+ rmdir --ignore-fail-on-non-empty -p
${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/includemeta/recipes-devtools/gcc/gcc-runtime.inc +2
-1+ fi rm -rf ${D}${infodir}/libgomp.info ${D}${infodir}/dir rm -rf ${D}${infodir}/libitm.info ${D}${infodir}/dir rm -rf ${D}${infodir}/libquadmath.info ${D}${infodir}/dir@@ -205,7 +216,7 @@ FILES_libssp-dev = "\ ${libdir}/libssp*.so \ ${libdir}/libssp*_nonshared.a \ ${libdir}/libssp*.la \ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ssp \ + ${libdir}/${TARGET_SYS}/${BINV}/include/ssp \ " SUMMARY_libssp-dev = "GNU stack smashing protection library - developmentfiles"
FILES_libssp-staticdev = "${libdir}/libssp*.a"meta/recipes-devtools/gcc/gcc-runtime.inc +0
-0@@ -214,7 +225,7 @@ SUMMARY_libssp-staticdev = "GNU stack smashingprotection library - static devel
FILES_libquadmath= "${libdir}/libquadmath*.so.*"SUMMARY_libquadmath= "GNU quad-precision math library" FILES_libquadmath-dev = "\meta/recipes-devtools/gcc/gcc-runtime.inc +3
-2- ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/quadmath* \ + ${libdir}/${TARGET_SYS}/${BINV}/include/quadmath* \ ${libdir}/libquadmath*.so \ ${libdir}/libquadmath.la \ "@@ -239,7 +250,8 @@ FILES_libgomp-dev = "\ ${libdir}/libgomp*${SOLIBSDEV} \ ${libdir}/libgomp*.la \ ${libdir}/libgomp.spec \ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/omp.h \ + ${libdir}/${TARGET_SYS}/${BINV}/include/omp.h \ + ${libdir}/${TARGET_SYS}/${BINV}/include/openacc.h \ " SUMMARY_libgomp-dev = "GNU OpenMP parallel programming library -development files"
FILES_libgomp-staticdev = "${libdir}/libgomp*.a"meta/recipes-devtools/gcc/gcc-runtime_8.3.bb +0
-10@@ -1,12 +1,2 @@ require recipes-devtools/gcc/gcc-${PV}.inc require gcc-runtime.inc - -# Disable ifuncs for libatomic on arm conflicts -march/-mcpu -EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " - -FILES_libgomp-dev += "\ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \ -" - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET_armv6 = "arm"meta/recipes-devtools/gcc/gcc-runtime_9.1.bb +0
-11@@ -1,12 +1,2 @@ require recipes-devtools/gcc/gcc-${PV}.inc require gcc-runtime.inc - -# Disable ifuncs for libatomic on arm conflicts -march/-mcpu -EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " - -FILES_libgomp-dev += "\ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \ -" - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET_armv6 = "arm" --2.22.0
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Quoted 11 lines · Martin Jansa
Hi,
I have an app which includes
omp.hfrom gomp, it used to find it without adding any -I for that (with just -fopenmp to enable openmp).Now the header file is included in RSS:
lib32-recipe-sysroot/usr/lib/arm-oemllib32-linux-gnueabi/9.2.0/include/omp.hbut no longer found in default search dirs.Is this expected or should gcc be adjusted to search for it automatically?
It should have adjusted automatically but these headers are searhed relative to its own install and not sysroot reelative
so it might have to be addressed. Does it work with normal ( non-multilib ) case ?
Quoted 142 lines
Looking at the default search paths I see:
ignoring nonexistent directory "BUILD/work/machine-oemllib32-linux-gnueabi/lib32-component/2.0.0-76-r7/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/../../lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/9.2.0/../../../../../arm-oemllib32-linux-gnueabi/include" ignoring nonexistent directory "/not/exist/usr/include/c++/9.2.0"
ignoring nonexistent directory "/not/exist/usr/include/c++/9.2.0/arm-oemllib32-linux-gnueabi"
ignoring nonexistent directory "/not/exist/usr/include/c++/9.2.0/backward"
ignoring duplicate directory "BUILD/work/machine-oemllib32-linux-gnueabi/lib32-component/2.0.0-76-r7/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/../../lib/arm-oemllib32-linux-gnueabi/gcc/../../../lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/9.2.0/include" ignoring nonexistent directory "/not/exist/usr/lib/gcc/arm-oemllib32-linux-gnueabi/9.2.0/include"
ignoring nonexistent directory "/not/exist/usr/local/include"
ignoring duplicate directory "BUILD/work/machine-oemllib32-linux-gnueabi/lib32-component/2.0.0-76-r7/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/../../lib/arm-oemllib32-linux-gnueabi/gcc/../../../lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/9.2.0/include-fixed" ignoring nonexistent directory "BUILD/work/machine-oemllib32-linux-gnueabi/lib32-component/2.0.0-76-r7/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/../../lib/arm-oemllib32-linux-gnueabi/gcc/../../../lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/9.2.0/../../../../../arm-oemllib32-linux-gnueabi/include" ignoring nonexistent directory "/not/exist/usr/include"
#include "..." search starts here:
#include <...> search starts here:
BUILD/work/machine-oemllib32-linux-gnueabi/lib32-component/2.0.0-76-r7/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/../../lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/9.2.0/include BUILD/work/machine-oemllib32-linux-gnueabi/lib32-component/2.0.0-76-r7/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/../../lib/arm-oemllib32-linux-gnueabi/gcc/arm-oemllib32-linux-gnueabi/9.2.0/include-fixed
End of search list.Quoted 123 lines · Khem Raj
OE does not use the traditional
/usr/lib/gccprefix to store gcc-runtime it basically is moved into libdir, however some newer files were installed by newer versions of gcc especially libgomp (omp.hopenacc.h) into gcclibdir, so we have content in both directories, this confuses other tools which are trying to guess the gcc installation and its runtime location, since now we have two directories, the tools either choose one or other and we get inconsistent behavior, e.g. clang for aarch64 uses/usr/libbut same clang for riscv64 chose/usr/lib/gccThis change ensures that OE ends up with single valid location for gcc runtime files
Move more common bits into common inc file
Signed-off-by Khem Raj <[email protected]>---
v2: Divert packaging to use new path in whole recipemeta/recipes-devtools/gcc/gcc-runtime.inc | 18 +++++++++++++++--- meta/recipes-devtools/gcc/gcc-runtime_8.3.bb | 10 ---------- meta/recipes-devtools/gcc/gcc-runtime_9.1.bb | 10 ---------- 3 files changed, 15 insertions(+), 23 deletions(-)meta/recipes-devtools/gcc/gcc-runtime.inc +15
-3@@ -17,6 +17,12 @@ EXTRA_OECONF_PATHS = "\ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" EXTRA_OECONF_append = " --cache-file=${B}/config.cache" +# Disable ifuncs for libatomic on arm conflicts -march/-mcpu +EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " + +# Building with thumb enabled on armv6t fails +ARM_INSTRUCTION_SET_armv6 = "arm" + RUNTIMELIBITM = "libitm" RUNTIMELIBITM_arc = "" RUNTIMELIBITM_mipsarch = ""@@ -77,6 +83,11 @@ do_install () { cd ${B}/${TARGET_SYS}/$d/ oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/${TARGET_SYS}/$d/ install done + if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include ]; then + install -d ${D}${libdir}/${TARGET_SYS}/${BINV}/include + mv ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/* ${D}${libdir}/${TARGET_SYS}/${BINV}/include + rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include + fi rm -rf ${D}${infodir}/libgomp.info ${D}${infodir}/dir rm -rf ${D}${infodir}/libitm.info ${D}${infodir}/dir rm -rf ${D}${infodir}/libquadmath.info ${D}${infodir}/dir@@ -205,7 +216,7 @@ FILES_libssp-dev = "\ ${libdir}/libssp*.so \ ${libdir}/libssp*_nonshared.a \ ${libdir}/libssp*.la \ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ssp \ + ${libdir}/${TARGET_SYS}/${BINV}/include/ssp \ " SUMMARY_libssp-dev = "GNU stack smashing protection library - development files" FILES_libssp-staticdev = "${libdir}/libssp*.a"@@ -214,7 +225,7 @@ SUMMARY_libssp-staticdev = "GNU stack smashing protection library - static devel FILES_libquadmath = "${libdir}/libquadmath*.so.*" SUMMARY_libquadmath = "GNU quad-precision math library" FILES_libquadmath-dev = "\ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/quadmath* \ + ${libdir}/${TARGET_SYS}/${BINV}/include/quadmath* \ ${libdir}/libquadmath*.so \ ${libdir}/libquadmath.la \ "@@ -239,7 +250,8 @@ FILES_libgomp-dev = "\ ${libdir}/libgomp*${SOLIBSDEV} \ ${libdir}/libgomp*.la \ ${libdir}/libgomp.spec \ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/omp.h \ + ${libdir}/${TARGET_SYS}/${BINV}/include/omp.h \ + ${libdir}/${TARGET_SYS}/${BINV}/include/openacc.h \ " SUMMARY_libgomp-dev = "GNU OpenMP parallel programming library - development files" FILES_libgomp-staticdev = "${libdir}/libgomp*.a"meta/recipes-devtools/gcc/gcc-runtime_8.3.bb +0
-10@@ -1,12 +1,2 @@ require recipes-devtools/gcc/gcc-${PV}.inc require gcc-runtime.inc - -# Disable ifuncs for libatomic on arm conflicts -march/-mcpu -EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " - -FILES_libgomp-dev += "\ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \ -" - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET_armv6 = "arm"meta/recipes-devtools/gcc/gcc-runtime_9.1.bb +0
-11@@ -1,12 +1,2 @@ require recipes-devtools/gcc/gcc-${PV}.inc require gcc-runtime.inc - -# Disable ifuncs for libatomic on arm conflicts -march/-mcpu -EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " - -FILES_libgomp-dev += "\ - ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \ -" - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET_armv6 = "arm" --2.22.0
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Quoted 13 lines · Khem Raj
Quoted 11 lines · Martin Jansa
Hi,
I have an app which includes
omp.hfrom gomp, it used to find it without adding any -I for that (with just -fopenmp to enable openmp).Now the header file is included in RSS:
lib32-recipe-sysroot/usr/lib/arm-oemllib32-linux-gnueabi/9.2.0/include/omp.h
but no longer found in default search dirs.
Quoted 8 lines
Quoted 3 lines
Is this expected or should gcc be adjusted to search for it automatically?
It should have adjusted automatically but these headers are searhed relative to its own install and not sysroot reelative
so it might have to be addressed. Does it work with normal ( non-multilib ) case ?
It's not working for me as well. It's easy to reproduce when using find_package(OpenMP) with cmake.
The search paths also don't list this new path and are looking for headers in old one. Would the path in patch "0020-Ensure-target-gcc- headers-can-be-included.patch" have to be adjusted as well to include this new location?
Thanks,
Anuj
Quoted 24 lines · Anuj
Quoted 13 lines · Khem Raj
Quoted 11 lines · Martin Jansa
Hi,
I have an app which includes
omp.hfrom gomp, it used to find it without adding any -I for that (with just -fopenmp to enable openmp).Now the header file is included in RSS:
lib32-recipe-sysroot/usr/lib/arm-oemllib32-linux-gnueabi/9.2.0/include/omp.h
but no longer found in default search dirs.Quoted 8 lines
Quoted 3 lines
Is this expected or should gcc be adjusted to search for it automatically?
It should have adjusted automatically but these headers are searhed relative to its own install and not sysroot reelative
so it might have to be addressed. Does it work with normal ( non-multilib ) case ?
Quoted 8 lines
It's not working for me as well. It's easy to reproduce when using
find_package(OpenMP)with cmake.The search paths also don't list this new path and are looking for headers in old one. Would the path in patch "0020-Ensure-target-gcc- headers-can-be-included.patch" have to be adjusted as well to include this new location?
there is patch posted already to fix this
https://patchwork.openembedded.org/patch/164057/
Quoted 3 lines
Thanks,
Anuj