Go to file
Peter Seiderer 69af5ab34f package/rpi-userland: add GLint64, GLuint64 and GLsync typedefs to GLES2/gl2ext.h
Fixes:

  - https://bugs.busybox.net/show_bug.cgi?id=13796

.../host/arm-linucleus-linux-gnueabihf/sysroot/usr/include/gstreamer-1.0/gst/gl/glprototypes/gstgl_compat.h:40:18: error: conflicting declaration ‘typedef void* GLsync’
   40 | typedef gpointer GLsync;
      |                  ^~~~~~

.../host/arm-linucleus-linux-gnueabihf/sysroot/usr/include/qt5/QtGui/qopengles2ext.h:24:26: note: previous declaration as ‘typedef struct __GLsync* GLsync’
   24 | typedef struct __GLsync *GLsync;
      |                          ^~~~~~

File gstgl_compat.h:

 39 #if !GST_GL_HAVE_GLSYNC
 40 typedef gpointer GLsync;
 41 #endif

File qopengles2ext.h:

   1 #ifndef __gles2_gl2ext_h_
   2 #define __gles2_gl2ext_h_ 1
   3
   4 #if 0
   5 #pragma qt_no_master_include
   6 #pragma qt_sync_skip_header_check
   7 #pragma qt_sync_stop_processing
   8 #endif
   9
  10 #ifdef __cplusplus
  11 extern "C" {
  12 #endif
  13
  14 #ifndef __gl3_h_
  15 /* These types are defined with reference to <inttypes.h>
  16  * in the Apple extension spec, but here we use the Khronos
  17  * portable types in khrplatform.h, and assume those types
  18  * are always defined.
  19  * If any other extensions using these types are defined,
  20  * the typedefs must move out of this block and be shared.
  21  */
  22 typedef khronos_int64_t GLint64;
  23 typedef khronos_uint64_t GLuint64;
  24 typedef struct __GLsync *GLsync;
  25 #endif

The problem is that rpi-userland doesn't define GLsync, and both
GStreamer and Qt have their own definition of GLsync in this case, but
they are not the same.

We reported this issue to:

 * rpi-userland, to get the headers updated:
   https://github.com/raspberrypi/userland/issues/469#issuecomment-1193864294

 * gstreamer, to get their bogus definition of GLsync fixed:
   https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/973

In the mean time, fix this by adding the missing definitions to
rpi-userland, so that GStreamer and Qt don't try to provide their own.

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit e008c0bb10)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-08-17 12:43:48 +02:00
arch arch/Config.in: armeb no-MMU is not supported 2022-06-19 14:59:15 +02:00
board board/qemu/ppc-bamboo: use path to vmlinux image for copy and paste users 2022-06-07 11:40:53 +02:00
boot boot/arm-trusted-firmware: remove extra ending parentheses 2022-08-16 11:40:12 +02:00
configs configs/zynqmp_zcu106_defconfig: uboot dp pll patch 2022-05-28 11:09:18 +02:00
docs docs/manual: fix patchwork URL 2022-08-16 10:20:53 +02:00
fs fs/oci: entrypoint and command are space-separated lists 2022-05-29 10:33:32 +02:00
linux {linux, linux-headers}: bump 4.{9, 14, 19}.x / 5.{4, 10, 15, 17}.x series 2022-08-03 22:26:24 +02:00
package package/rpi-userland: add GLint64, GLuint64 and GLsync typedefs to GLES2/gl2ext.h 2022-08-17 12:43:48 +02:00
support Update for 2022.02.4 2022-07-29 11:39:12 +02:00
system system/skeleton: provide run/lock directory 2022-01-12 20:38:09 +01:00
toolchain package/uclibc: introduce and use BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS and BR2_PACKAGE_UCLIBC_SUPPORTS 2022-08-10 14:37:31 +02:00
utils utils/readme.txt: Fix typo "get-developers" 2022-08-14 21:20:35 +02:00
.clang-format .clang-format: initial import from Linux 5.15.6 2022-01-01 15:01:13 +01:00
.defconfig
.flake8
.gitignore
.gitlab-ci.yml utils/checkpackagelib/lib_sysv: run shellcheck 2022-02-06 18:27:03 +01:00
CHANGES Update for 2022.02.4 2022-07-29 11:39:12 +02:00
Config.in support/download: Add SFTP support 2022-01-06 09:34:05 +01:00
Config.in.legacy package/php: remove wddx extension 2022-07-18 09:12:01 +02:00
COPYING
DEVELOPERS DEVELOPERS: remove Min Xu 2022-08-14 21:23:10 +02:00
Makefile Update for 2022.02.4 2022-07-29 11:39:12 +02:00
Makefile.legacy
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches