| Message ID | 20250530171139.525281-1-jan.vermaete@gmail.com |
|---|---|
| State | Under Review |
| Headers | show |
| Series | [meta-oe] freeglut: version bump (3.4.0 -> 3.6.0) | expand |
it fails to configure https://errors.yoctoproject.org/Errors/Details/856261/ On Fri, May 30, 2025 at 10:11 AM Jan Vermaete via lists.openembedded.org <jan.vermaete=gmail.com@lists.openembedded.org> wrote: > > - apply upstream patch to compile at master > - added HOMEPAGE > - downloads are not from github > "Stable releases are available on our releases page on github, where you can find more information about each release. All releases are also mirrored on the old downloads page on sourceforge." > @see: https://freeglut.sourceforge.net/ > - fixed 'devtool check-upgrade-status' > > Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com> > --- > ...formDestroyContext-prototype-for-C23.patch | 30 +++++++++++++++++++ > .../{freeglut_3.4.0.bb => freeglut_3.6.0.bb} | 14 +++++++-- > 2 files changed, 41 insertions(+), 3 deletions(-) > create mode 100644 meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch > rename meta-oe/recipes-graphics/freeglut/{freeglut_3.4.0.bb => freeglut_3.6.0.bb} (69%) > > diff --git a/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch b/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch > new file mode 100644 > index 0000000000..13ba2316f3 > --- /dev/null > +++ b/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch > @@ -0,0 +1,30 @@ > +From 800772e993a3ceffa01ccf3fca449d3279cde338 Mon Sep 17 00:00:00 2001 > +From: Sam James <sam@gentoo.org> > +Date: Sun, 17 Nov 2024 01:14:26 +0000 > +Subject: [PATCH 1/1] egl: fix fgPlatformDestroyContext prototype for C23 > + > +C23 removes unprototyped functions, so this conflicted with the definition > +in fg_init_x11.c. > + > +Bug: https://github.com/freeglut/freeglut/issues/186 > + > +Upstream-Status: Backport [https://github.com/freeglut/freeglut/commit/800772e993a3ceffa01ccf3fca449d3279cde338] > +--- > + src/egl/fg_init_egl.h | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/src/egl/fg_init_egl.h b/src/egl/fg_init_egl.h > +index 592c5221..8753dc0b 100644 > +--- a/src/egl/fg_init_egl.h > ++++ b/src/egl/fg_init_egl.h > +@@ -28,6 +28,6 @@ > + > + extern void fghPlatformInitializeEGL(); > + extern void fghPlatformCloseDisplayEGL(); > +-extern void fgPlatformDestroyContext(); > ++extern void fgPlatformDestroyContext ( SFG_PlatformDisplay pDisplay, SFG_WindowContextType MContext ); > + > + #endif > +-- > +2.39.5 > + > diff --git a/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb b/meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb > similarity index 69% > rename from meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb > rename to meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb > index 2cd00b0349..ebd5fbcbce 100644 > --- a/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb > +++ b/meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb > @@ -1,10 +1,15 @@ > DESCRIPTION = "FreeGLUT is a free-software/open-source alternative to the OpenGL \ > Utility Toolkit (GLUT) library" > +HOMEPAGE = "https://freeglut.sourceforge.net" > LICENSE = "MIT" > LIC_FILES_CHKSUM = "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb" > > -SRC_URI = "https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz" > -SRC_URI[sha256sum] = "3c0bcb915d9b180a97edaebd011b7a1de54583a838644dcd42bb0ea0c6f3eaec" > +SRC_URI = "\ > + https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BPN}-${PV}.tar.gz \ > + file://0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch \ > +" > + > +SRC_URI[sha256sum] = "9c3d4d6516fbfa0280edc93c77698fb7303e443c1aaaf37d269e3288a6c3ea52" > > inherit cmake features_check pkgconfig > > @@ -22,7 +27,10 @@ CFLAGS += "-Wno-implicit-function-declaration" > > PROVIDES += "mesa-glut" > > -DEPENDS = "virtual/libgl libxi" > +DEPENDS += "virtual/libgl libxi" > + > +UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)" > +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" > > do_install:append() { > # Remove buildpaths > -- > 2.39.5 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#117675): https://lists.openembedded.org/g/openembedded-devel/message/117675 > Mute This Topic: https://lists.openembedded.org/mt/113383172/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Hi Khem,
Sorry for that. I was testing it in a larger ROS 2 system where I did
not see this issue.
I do have the same issue when running it in a minimal system.
```
BBLAYERS ?= " \
${TOPDIR}/../layers/meta-openembedded/meta-networking \
${TOPDIR}/../layers/meta-openembedded/meta-oe \
${TOPDIR}/../layers/meta-openembedded/meta-python \
${TOPDIR}/../layers/poky/meta \
${TOPDIR}/../layers/poky/meta-poky \
${TOPDIR}/../layers/poky/meta-yocto-bsp"
```
It must be related to this:
https://github.com/freeglut/freeglut/commit/41a7cf81aa28cbbd5f7f3fc32c1ffef6465bbd8d
And adding this to the recipe solved it. However, for now I do not
have any system using it.
EXTRA_OECMAKE += "-DOPENGL_opengl_LIBRARY=${STAGING_LIBDIR}/libGL.so"
Could you check if this solution seems to be okay for you? If so I
can provide you with a v2 of the patch.
Br
On Sun, Jun 1, 2025 at 3:27 AM Khem Raj <raj.khem@gmail.com> wrote:
>
> it fails to configure
>
> https://errors.yoctoproject.org/Errors/Details/856261/
>
> On Fri, May 30, 2025 at 10:11 AM Jan Vermaete via
> lists.openembedded.org <jan.vermaete=gmail.com@lists.openembedded.org>
> wrote:
> >
> > - apply upstream patch to compile at master
> > - added HOMEPAGE
> > - downloads are not from github
> > "Stable releases are available on our releases page on github, where you can find more information about each release. All releases are also mirrored on the old downloads page on sourceforge."
> > @see: https://freeglut.sourceforge.net/
> > - fixed 'devtool check-upgrade-status'
> >
> > Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
> > ---
> > ...formDestroyContext-prototype-for-C23.patch | 30 +++++++++++++++++++
> > .../{freeglut_3.4.0.bb => freeglut_3.6.0.bb} | 14 +++++++--
> > 2 files changed, 41 insertions(+), 3 deletions(-)
> > create mode 100644 meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch
> > rename meta-oe/recipes-graphics/freeglut/{freeglut_3.4.0.bb => freeglut_3.6.0.bb} (69%)
> >
> > diff --git a/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch b/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch
> > new file mode 100644
> > index 0000000000..13ba2316f3
> > --- /dev/null
> > +++ b/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch
> > @@ -0,0 +1,30 @@
> > +From 800772e993a3ceffa01ccf3fca449d3279cde338 Mon Sep 17 00:00:00 2001
> > +From: Sam James <sam@gentoo.org>
> > +Date: Sun, 17 Nov 2024 01:14:26 +0000
> > +Subject: [PATCH 1/1] egl: fix fgPlatformDestroyContext prototype for C23
> > +
> > +C23 removes unprototyped functions, so this conflicted with the definition
> > +in fg_init_x11.c.
> > +
> > +Bug: https://github.com/freeglut/freeglut/issues/186
> > +
> > +Upstream-Status: Backport [https://github.com/freeglut/freeglut/commit/800772e993a3ceffa01ccf3fca449d3279cde338]
> > +---
> > + src/egl/fg_init_egl.h | 2 +-
> > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > +
> > +diff --git a/src/egl/fg_init_egl.h b/src/egl/fg_init_egl.h
> > +index 592c5221..8753dc0b 100644
> > +--- a/src/egl/fg_init_egl.h
> > ++++ b/src/egl/fg_init_egl.h
> > +@@ -28,6 +28,6 @@
> > +
> > + extern void fghPlatformInitializeEGL();
> > + extern void fghPlatformCloseDisplayEGL();
> > +-extern void fgPlatformDestroyContext();
> > ++extern void fgPlatformDestroyContext ( SFG_PlatformDisplay pDisplay, SFG_WindowContextType MContext );
> > +
> > + #endif
> > +--
> > +2.39.5
> > +
> > diff --git a/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb b/meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb
> > similarity index 69%
> > rename from meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb
> > rename to meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb
> > index 2cd00b0349..ebd5fbcbce 100644
> > --- a/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb
> > +++ b/meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb
> > @@ -1,10 +1,15 @@
> > DESCRIPTION = "FreeGLUT is a free-software/open-source alternative to the OpenGL \
> > Utility Toolkit (GLUT) library"
> > +HOMEPAGE = "https://freeglut.sourceforge.net"
> > LICENSE = "MIT"
> > LIC_FILES_CHKSUM = "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb"
> >
> > -SRC_URI = "https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
> > -SRC_URI[sha256sum] = "3c0bcb915d9b180a97edaebd011b7a1de54583a838644dcd42bb0ea0c6f3eaec"
> > +SRC_URI = "\
> > + https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BPN}-${PV}.tar.gz \
> > + file://0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch \
> > +"
> > +
> > +SRC_URI[sha256sum] = "9c3d4d6516fbfa0280edc93c77698fb7303e443c1aaaf37d269e3288a6c3ea52"
> >
> > inherit cmake features_check pkgconfig
> >
> > @@ -22,7 +27,10 @@ CFLAGS += "-Wno-implicit-function-declaration"
> >
> > PROVIDES += "mesa-glut"
> >
> > -DEPENDS = "virtual/libgl libxi"
> > +DEPENDS += "virtual/libgl libxi"
> > +
> > +UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)"
> > +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
> >
> > do_install:append() {
> > # Remove buildpaths
> > --
> > 2.39.5
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#117675): https://lists.openembedded.org/g/openembedded-devel/message/117675
> > Mute This Topic: https://lists.openembedded.org/mt/113383172/1997914
> > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
After the call today, I made an attempt at supporting both glvnd and legacy modes. My potential fix is available here: Add support for legacy OpenGL · robwoolley/meta-openembedded@d4732fd <https://github.com/robwoolley/meta-openembedded/commit/d4732fdca2ac327520cd6d3d2438cbaff97025a9> I am looking for feedback from someone more familiar with OpenGL than I am before I send it upstream to the freeglut project. When I look at the CMake FindOpenGL page ( https://cmake.org/cmake/help/latest/module/FindOpenGL.html ) it says that there is a OpenGL_GL_PREFERENCE variable that can be set to choose between GLVND and LEGACY mode. However, if the OpenGL::OpenGL component is added explicitly as a target dependency it implies GLVND. The OpenGL::OpenGL component is used explicitly in freeglut 3.6.0. My interpretation of the Linux-specific ( https://cmake.org/cmake/help/latest/module/FindOpenGL.html#linux-specific ) section is that using OpenGL:GL instead will use libGL.so when GLVND is not present. However, when OpenGL_GL_PREFERENCE is set to GLVND it will set OPENGL_gl_LIBRARY (ie legacy GL) to empty and fallback to OpenGL::OpenGL (ie GLVND). I tested this using Yoe and qemuarm as reported before ( https://errors.yoctoproject.org/Errors/Details/856261/ ). The freeglut recipe successfully builds both with and without glvnd in DISTRO_FEATURES. Regards, Rob On Sun, Jun 1, 2025 at 9:35 AM Jan Vermaete via lists.openembedded.org <jan.vermaete=gmail.com@lists.openembedded.org> wrote: > Hi Khem, > > Sorry for that. I was testing it in a larger ROS 2 system where I did > not see this issue. > > I do have the same issue when running it in a minimal system. > > ``` > BBLAYERS ?= " \ > ${TOPDIR}/../layers/meta-openembedded/meta-networking \ > ${TOPDIR}/../layers/meta-openembedded/meta-oe \ > ${TOPDIR}/../layers/meta-openembedded/meta-python \ > ${TOPDIR}/../layers/poky/meta \ > ${TOPDIR}/../layers/poky/meta-poky \ > ${TOPDIR}/../layers/poky/meta-yocto-bsp" > ``` > > It must be related to this: > > https://github.com/freeglut/freeglut/commit/41a7cf81aa28cbbd5f7f3fc32c1ffef6465bbd8d > > And adding this to the recipe solved it. However, for now I do not > have any system using it. > > EXTRA_OECMAKE += "-DOPENGL_opengl_LIBRARY=${STAGING_LIBDIR}/libGL.so" > > Could you check if this solution seems to be okay for you? If so I > can provide you with a v2 of the patch. > > Br > > On Sun, Jun 1, 2025 at 3:27 AM Khem Raj <raj.khem@gmail.com> wrote: > > > > it fails to configure > > > > https://errors.yoctoproject.org/Errors/Details/856261/ > > > > On Fri, May 30, 2025 at 10:11 AM Jan Vermaete via > > lists.openembedded.org <jan.vermaete=gmail.com@lists.openembedded.org> > > wrote: > > > > > > - apply upstream patch to compile at master > > > - added HOMEPAGE > > > - downloads are not from github > > > "Stable releases are available on our releases page on github, where > you can find more information about each release. All releases are also > mirrored on the old downloads page on sourceforge." > > > @see: https://freeglut.sourceforge.net/ > > > - fixed 'devtool check-upgrade-status' > > > > > > Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com> > > > --- > > > ...formDestroyContext-prototype-for-C23.patch | 30 +++++++++++++++++++ > > > .../{freeglut_3.4.0.bb => freeglut_3.6.0.bb} | 14 +++++++-- > > > 2 files changed, 41 insertions(+), 3 deletions(-) > > > create mode 100644 > meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch > > > rename meta-oe/recipes-graphics/freeglut/{freeglut_3.4.0.bb => > freeglut_3.6.0.bb} (69%) > > > > > > diff --git > a/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch > b/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch > > > new file mode 100644 > > > index 0000000000..13ba2316f3 > > > --- /dev/null > > > +++ > b/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch > > > @@ -0,0 +1,30 @@ > > > +From 800772e993a3ceffa01ccf3fca449d3279cde338 Mon Sep 17 00:00:00 2001 > > > +From: Sam James <sam@gentoo.org> > > > +Date: Sun, 17 Nov 2024 01:14:26 +0000 > > > +Subject: [PATCH 1/1] egl: fix fgPlatformDestroyContext prototype for > C23 > > > + > > > +C23 removes unprototyped functions, so this conflicted with the > definition > > > +in fg_init_x11.c. > > > + > > > +Bug: https://github.com/freeglut/freeglut/issues/186 > > > + > > > +Upstream-Status: Backport [ > https://github.com/freeglut/freeglut/commit/800772e993a3ceffa01ccf3fca449d3279cde338 > ] > > > +--- > > > + src/egl/fg_init_egl.h | 2 +- > > > + 1 file changed, 1 insertion(+), 1 deletion(-) > > > + > > > +diff --git a/src/egl/fg_init_egl.h b/src/egl/fg_init_egl.h > > > +index 592c5221..8753dc0b 100644 > > > +--- a/src/egl/fg_init_egl.h > > > ++++ b/src/egl/fg_init_egl.h > > > +@@ -28,6 +28,6 @@ > > > + > > > + extern void fghPlatformInitializeEGL(); > > > + extern void fghPlatformCloseDisplayEGL(); > > > +-extern void fgPlatformDestroyContext(); > > > ++extern void fgPlatformDestroyContext ( SFG_PlatformDisplay pDisplay, > SFG_WindowContextType MContext ); > > > + > > > + #endif > > > +-- > > > +2.39.5 > > > + > > > diff --git a/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb > b/meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb > > > similarity index 69% > > > rename from meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb > > > rename to meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb > > > index 2cd00b0349..ebd5fbcbce 100644 > > > --- a/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb > > > +++ b/meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb > > > @@ -1,10 +1,15 @@ > > > DESCRIPTION = "FreeGLUT is a free-software/open-source alternative to > the OpenGL \ > > > Utility Toolkit (GLUT) library" > > > +HOMEPAGE = "https://freeglut.sourceforge.net" > > > LICENSE = "MIT" > > > LIC_FILES_CHKSUM = > "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb" > > > > > > -SRC_URI = " > https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz > " > > > -SRC_URI[sha256sum] = > "3c0bcb915d9b180a97edaebd011b7a1de54583a838644dcd42bb0ea0c6f3eaec" > > > +SRC_URI = "\ > > > + > https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BPN}-${PV}.tar.gz > \ > > > + > file://0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch \ > > > +" > > > + > > > +SRC_URI[sha256sum] = > "9c3d4d6516fbfa0280edc93c77698fb7303e443c1aaaf37d269e3288a6c3ea52" > > > > > > inherit cmake features_check pkgconfig > > > > > > @@ -22,7 +27,10 @@ CFLAGS += "-Wno-implicit-function-declaration" > > > > > > PROVIDES += "mesa-glut" > > > > > > -DEPENDS = "virtual/libgl libxi" > > > +DEPENDS += "virtual/libgl libxi" > > > + > > > +UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)" > > > +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" > > > > > > do_install:append() { > > > # Remove buildpaths > > > -- > > > 2.39.5 > > > > > > > > > > > > > > > > -- > Jan Vermaete > “Success is a self-correcting phenomenom.” -- Gary Hamel > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#117694): > https://lists.openembedded.org/g/openembedded-devel/message/117694 > Mute This Topic: https://lists.openembedded.org/mt/113383172/556952 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ > rob.woolleywr@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
(Resending with my GMail as I mistakenly used Ross' old email and got 3 messages about blocked messages from Gmail.) My main reservation with my proposed fix is that the CMake page says "GLVND is currently the only way to get OpenGL 3+ functionality via EGL in a manner portable across vendors.". So, upstream may want to retain OpenGL::OpenGL. This assertion may not be true for us with OpenEmbedded, and this patch may be valid for us, but not for upstream. Any feedback warmly welcomed. Regards, Rob On Tue, Aug 19, 2025 at 5:37 PM Rob Woolley <rob.woolley@windriver.com> wrote: > After the call today, I made an attempt at supporting both glvnd and > legacy modes. My potential fix is available here: Add support for > legacy OpenGL · robwoolley/meta-openembedded@d4732fd > <https://github.com/robwoolley/meta-openembedded/commit/d4732fdca2ac327520cd6d3d2438cbaff97025a9> I > am looking for feedback from someone more familiar with OpenGL than I am > before I send it upstream to the freeglut project. > > When I look at the CMake FindOpenGL page ( > https://cmake.org/cmake/help/latest/module/FindOpenGL.html ) it says that > there is a OpenGL_GL_PREFERENCE variable that can be set to choose between > GLVND and LEGACY mode. However, if the OpenGL::OpenGL component is added > explicitly as a target dependency it implies GLVND. The OpenGL::OpenGL > component is used explicitly in freeglut 3.6.0. > > My interpretation of the Linux-specific ( > https://cmake.org/cmake/help/latest/module/FindOpenGL.html#linux-specific > ) section is that using OpenGL:GL instead will use libGL.so when GLVND is > not present. However, when OpenGL_GL_PREFERENCE is set to GLVND it will > set OPENGL_gl_LIBRARY (ie legacy GL) to empty and fallback to > OpenGL::OpenGL (ie GLVND). > > I tested this using Yoe and qemuarm as reported before ( > https://errors.yoctoproject.org/Errors/Details/856261/ ). The freeglut > recipe successfully builds both with and without glvnd in DISTRO_FEATURES. > > Regards, > Rob > > On Sun, Jun 1, 2025 at 9:35 AM Jan Vermaete via lists.openembedded.org > <jan.vermaete=gmail.com@lists.openembedded.org> wrote: > >> Hi Khem, >> >> Sorry for that. I was testing it in a larger ROS 2 system where I did >> not see this issue. >> >> I do have the same issue when running it in a minimal system. >> >> ``` >> BBLAYERS ?= " \ >> ${TOPDIR}/../layers/meta-openembedded/meta-networking \ >> ${TOPDIR}/../layers/meta-openembedded/meta-oe \ >> ${TOPDIR}/../layers/meta-openembedded/meta-python \ >> ${TOPDIR}/../layers/poky/meta \ >> ${TOPDIR}/../layers/poky/meta-poky \ >> ${TOPDIR}/../layers/poky/meta-yocto-bsp" >> ``` >> >> It must be related to this: >> >> https://github.com/freeglut/freeglut/commit/41a7cf81aa28cbbd5f7f3fc32c1ffef6465bbd8d >> >> And adding this to the recipe solved it. However, for now I do not >> have any system using it. >> >> EXTRA_OECMAKE += "-DOPENGL_opengl_LIBRARY=${STAGING_LIBDIR}/libGL.so" >> >> Could you check if this solution seems to be okay for you? If so I >> can provide you with a v2 of the patch. >> >> Br >> >> On Sun, Jun 1, 2025 at 3:27 AM Khem Raj <raj.khem@gmail.com> wrote: >> > >> > it fails to configure >> > >> > https://errors.yoctoproject.org/Errors/Details/856261/ >> > >> > On Fri, May 30, 2025 at 10:11 AM Jan Vermaete via >> > lists.openembedded.org <jan.vermaete=gmail.com@lists.openembedded.org> >> > wrote: >> > > >> > > - apply upstream patch to compile at master >> > > - added HOMEPAGE >> > > - downloads are not from github >> > > "Stable releases are available on our releases page on github, >> where you can find more information about each release. All releases are >> also mirrored on the old downloads page on sourceforge." >> > > @see: https://freeglut.sourceforge.net/ >> > > - fixed 'devtool check-upgrade-status' >> > > >> > > Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com> >> > > --- >> > > ...formDestroyContext-prototype-for-C23.patch | 30 >> +++++++++++++++++++ >> > > .../{freeglut_3.4.0.bb => freeglut_3.6.0.bb} | 14 +++++++-- >> > > 2 files changed, 41 insertions(+), 3 deletions(-) >> > > create mode 100644 >> meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch >> > > rename meta-oe/recipes-graphics/freeglut/{freeglut_3.4.0.bb => >> freeglut_3.6.0.bb} (69%) >> > > >> > > diff --git >> a/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch >> b/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch >> > > new file mode 100644 >> > > index 0000000000..13ba2316f3 >> > > --- /dev/null >> > > +++ >> b/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch >> > > @@ -0,0 +1,30 @@ >> > > +From 800772e993a3ceffa01ccf3fca449d3279cde338 Mon Sep 17 00:00:00 >> 2001 >> > > +From: Sam James <sam@gentoo.org> >> > > +Date: Sun, 17 Nov 2024 01:14:26 +0000 >> > > +Subject: [PATCH 1/1] egl: fix fgPlatformDestroyContext prototype for >> C23 >> > > + >> > > +C23 removes unprototyped functions, so this conflicted with the >> definition >> > > +in fg_init_x11.c. >> > > + >> > > +Bug: https://github.com/freeglut/freeglut/issues/186 >> > > + >> > > +Upstream-Status: Backport [ >> https://github.com/freeglut/freeglut/commit/800772e993a3ceffa01ccf3fca449d3279cde338 >> ] >> > > +--- >> > > + src/egl/fg_init_egl.h | 2 +- >> > > + 1 file changed, 1 insertion(+), 1 deletion(-) >> > > + >> > > +diff --git a/src/egl/fg_init_egl.h b/src/egl/fg_init_egl.h >> > > +index 592c5221..8753dc0b 100644 >> > > +--- a/src/egl/fg_init_egl.h >> > > ++++ b/src/egl/fg_init_egl.h >> > > +@@ -28,6 +28,6 @@ >> > > + >> > > + extern void fghPlatformInitializeEGL(); >> > > + extern void fghPlatformCloseDisplayEGL(); >> > > +-extern void fgPlatformDestroyContext(); >> > > ++extern void fgPlatformDestroyContext ( SFG_PlatformDisplay >> pDisplay, SFG_WindowContextType MContext ); >> > > + >> > > + #endif >> > > +-- >> > > +2.39.5 >> > > + >> > > diff --git a/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb >> b/meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb >> > > similarity index 69% >> > > rename from meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb >> > > rename to meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb >> > > index 2cd00b0349..ebd5fbcbce 100644 >> > > --- a/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb >> > > +++ b/meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb >> > > @@ -1,10 +1,15 @@ >> > > DESCRIPTION = "FreeGLUT is a free-software/open-source alternative >> to the OpenGL \ >> > > Utility Toolkit (GLUT) library" >> > > +HOMEPAGE = "https://freeglut.sourceforge.net" >> > > LICENSE = "MIT" >> > > LIC_FILES_CHKSUM = >> "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb" >> > > >> > > -SRC_URI = " >> https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz >> " >> > > -SRC_URI[sha256sum] = >> "3c0bcb915d9b180a97edaebd011b7a1de54583a838644dcd42bb0ea0c6f3eaec" >> > > +SRC_URI = "\ >> > > + >> https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BPN}-${PV}.tar.gz >> \ >> > > + >> file://0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch \ >> > > +" >> > > + >> > > +SRC_URI[sha256sum] = >> "9c3d4d6516fbfa0280edc93c77698fb7303e443c1aaaf37d269e3288a6c3ea52" >> > > >> > > inherit cmake features_check pkgconfig >> > > >> > > @@ -22,7 +27,10 @@ CFLAGS += "-Wno-implicit-function-declaration" >> > > >> > > PROVIDES += "mesa-glut" >> > > >> > > -DEPENDS = "virtual/libgl libxi" >> > > +DEPENDS += "virtual/libgl libxi" >> > > + >> > > +UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)" >> > > +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" >> > > >> > > do_install:append() { >> > > # Remove buildpaths >> > > -- >> > > 2.39.5 >> > > >> > > >> > > >> > > >> >> >> >> -- >> Jan Vermaete >> “Success is a self-correcting phenomenom.” -- Gary Hamel >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#117694): >> https://lists.openembedded.org/g/openembedded-devel/message/117694 >> Mute This Topic: https://lists.openembedded.org/mt/113383172/556952 >> Group Owner: openembedded-devel+owner@lists.openembedded.org >> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ >> rob.woolleywr@gmail.com] >> -=-=-=-=-=-=-=-=-=-=-=- >> >>
diff --git a/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch b/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch new file mode 100644 index 0000000000..13ba2316f3 --- /dev/null +++ b/meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch @@ -0,0 +1,30 @@ +From 800772e993a3ceffa01ccf3fca449d3279cde338 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Sun, 17 Nov 2024 01:14:26 +0000 +Subject: [PATCH 1/1] egl: fix fgPlatformDestroyContext prototype for C23 + +C23 removes unprototyped functions, so this conflicted with the definition +in fg_init_x11.c. + +Bug: https://github.com/freeglut/freeglut/issues/186 + +Upstream-Status: Backport [https://github.com/freeglut/freeglut/commit/800772e993a3ceffa01ccf3fca449d3279cde338] +--- + src/egl/fg_init_egl.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/egl/fg_init_egl.h b/src/egl/fg_init_egl.h +index 592c5221..8753dc0b 100644 +--- a/src/egl/fg_init_egl.h ++++ b/src/egl/fg_init_egl.h +@@ -28,6 +28,6 @@ + + extern void fghPlatformInitializeEGL(); + extern void fghPlatformCloseDisplayEGL(); +-extern void fgPlatformDestroyContext(); ++extern void fgPlatformDestroyContext ( SFG_PlatformDisplay pDisplay, SFG_WindowContextType MContext ); + + #endif +-- +2.39.5 + diff --git a/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb b/meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb similarity index 69% rename from meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb rename to meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb index 2cd00b0349..ebd5fbcbce 100644 --- a/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb +++ b/meta-oe/recipes-graphics/freeglut/freeglut_3.6.0.bb @@ -1,10 +1,15 @@ DESCRIPTION = "FreeGLUT is a free-software/open-source alternative to the OpenGL \ Utility Toolkit (GLUT) library" +HOMEPAGE = "https://freeglut.sourceforge.net" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb" -SRC_URI = "https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz" -SRC_URI[sha256sum] = "3c0bcb915d9b180a97edaebd011b7a1de54583a838644dcd42bb0ea0c6f3eaec" +SRC_URI = "\ + https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BPN}-${PV}.tar.gz \ + file://0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch \ +" + +SRC_URI[sha256sum] = "9c3d4d6516fbfa0280edc93c77698fb7303e443c1aaaf37d269e3288a6c3ea52" inherit cmake features_check pkgconfig @@ -22,7 +27,10 @@ CFLAGS += "-Wno-implicit-function-declaration" PROVIDES += "mesa-glut" -DEPENDS = "virtual/libgl libxi" +DEPENDS += "virtual/libgl libxi" + +UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)" +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" do_install:append() { # Remove buildpaths
- apply upstream patch to compile at master - added HOMEPAGE - downloads are not from github "Stable releases are available on our releases page on github, where you can find more information about each release. All releases are also mirrored on the old downloads page on sourceforge." @see: https://freeglut.sourceforge.net/ - fixed 'devtool check-upgrade-status' Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com> --- ...formDestroyContext-prototype-for-C23.patch | 30 +++++++++++++++++++ .../{freeglut_3.4.0.bb => freeglut_3.6.0.bb} | 14 +++++++-- 2 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 meta-oe/recipes-graphics/freeglut/freeglut/0001-egl-fix-fgPlatformDestroyContext-prototype-for-C23.patch rename meta-oe/recipes-graphics/freeglut/{freeglut_3.4.0.bb => freeglut_3.6.0.bb} (69%)