Message ID | 20241222162234.2411262-1-tom.hochstein@oss.nxp.com |
---|---|
State | Accepted, archived |
Commit | 065ab44943b78ccb806477684b1167d69d5d1d6d |
Headers | show |
Series | [v3,1/5] pkgconfig: Add pkg-config-native to SDK | expand |
v3 is the same as v2 but adds this patch. Tom On 12/22/2024 10:22 AM, Tom Hochstein via lists.openembedded.org wrote: > Building weston with core-image-weston SDK fails: > ``` > ../libweston/renderer-gl/gl-shader-config-color-transformation.c:29:10: fatal error: GLES3/gl3.h: No such file or directory > 29 | #include <GLES3/gl3.h> > | ^~~~~~~~~~~~~ > ``` > > Both GLES2 and GLES3 implementations are contained in libGLESv2.so.2, > which is packaged in libgles2-mesa. However, the headers are split > between libgles2-mesa-dev and libgles3-mesa-dev, which is why the > GLES3 headers end up missing in the SDK sysroot. > > Add a dependency so the GLES3 headers are properly associated with > the GLES3 implementation. > > Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com> > --- > meta/recipes-graphics/mesa/mesa.inc | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc > index 9fdf496e8b..84490158f1 100644 > --- a/meta/recipes-graphics/mesa/mesa.inc > +++ b/meta/recipes-graphics/mesa/mesa.inc > @@ -233,6 +233,10 @@ DEV_PKG_DEPENDENCY = "" > # development package of libgles3. > RDEPENDS:libgles3-mesa-dev += "libgles2-mesa-dev" > > +# GLES2 and GLES3 implementations are packaged in a single library in libgles2-mesa. > +# Add a dependency so the GLES3 dev package is associated with its implementation. > +RDEPENDS:libgles2-mesa-dev += "libgles3-mesa-dev" > + > RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools', '', d)}" > > PACKAGES =+ "libegl-mesa libegl-mesa-dev \ > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#209011): https://lists.openembedded.org/g/openembedded-core/message/209011 > Mute This Topic: https://lists.openembedded.org/mt/110244770/3617670 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [tom.hochstein@oss.nxp.com] > -=-=-=-=-=-=-=-=-=-=-=- >
diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb index 6f13d0177e..2b298eb5e8 100644 --- a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb +++ b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb @@ -46,9 +46,9 @@ FILES:${PN} += "${datadir}/aclocal/pkg.m4" # specifying an appropriate provide. RPROVIDES:${PN} += "pkgconfig(pkg-config)" -# Install a pkg-config-native wrapper that will use the native sysroot instead -# of the MACHINE sysroot, for using pkg-config when building native tools. do_install:append:class-native () { + # Install a pkg-config-native wrapper that will use the native sysroot instead + # of the MACHINE sysroot, for using pkg-config when building native tools. sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ < ${UNPACKDIR}/pkg-config-native.in > ${B}/pkg-config-native @@ -59,6 +59,15 @@ do_install:append:class-native () { install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk } +do_install:append:class-nativesdk () { + # Install a pkg-config-native wrapper that will use the native sysroot instead + # of the MACHINE sysroot, for using pkg-config when building native tools. + sed -e "s|@PATH_NATIVE@|\$OECORE_NATIVE_SYSROOT|" \ + -e "s|@LIBDIR_NATIVE@|\$OECORE_NATIVE_SYSROOT/usr/lib/pkgconfig|" \ + < ${UNPACKDIR}/pkg-config-native.in > ${B}/pkg-config-native + install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native +} + pkgconfig_sstate_fixup_esdk () { if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}"
Building weston with an SDK fails to find pkg-config-native: ``` Did not find pkg-config by name 'pkg-config-native' Found pkg-config: NO Found CMake: /opt/poky/5.1/sysroots/x86_64-pokysdk-linux/usr/bin/cmake (3.31.0) Build-time dependency wayland-scanner found: NO (tried cmake) protocol/meson.build:1:14: ERROR: Dependency lookup for wayland-scanner with method 'pkgconfig' failed: Pkg-config for machine build machine not found. Giving up. ``` Fix the problem by extending the pkg-config-native wrapper install to class-nativesdk. Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com> --- meta/recipes-devtools/pkgconfig/pkgconfig_git.bb | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)