From d8dc0417959286d855d7205d25c6862e75842b67 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sat, 7 Mar 2026 19:54:25 +0100 Subject: [PATCH] package/libheif: needs gcc >= 10 Fixes build error with gcc 9.x: output/build/libheif-1.21.1/libheif/nclx.h:128:50: error: 'bool nclx_profile::operator==(const nclx_profile&) const' cannot be defaulted using this defconfig: BR2_arm=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-static-2020.11.2.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_9=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y BR2_STATIC_LIBS=y BR2_PACKAGE_LIBHEIF=y According to https://github.com/strukturag/libheif/issues/1615#issuecomment-3457979167 gcc >= 10 with support for C++20 is needed for the package. The failing code was introduced upstream in version 0.21.0 with commit https://github.com/strukturag/libheif/commit/a62f933e380e165dc2c12a879d0ceed1529b3efa which was added to buildroot with commit a8aed698c706ec534ddc41cdce651c18016c28ca. Also removed -std=c++11 from CXXFLAGS. The build error was not yet recorded by the autobuilders. Signed-off-by: Bernd Kuhls Signed-off-by: Julien Olivain (cherry picked from commit 7323bcc1d476e965d31fd3db4046bacf6f7c0e75) Signed-off-by: Thomas Perale --- package/kodi-imagedecoder-heif/Config.in | 6 +++--- package/libheif/Config.in | 6 +++--- package/libheif/libheif.mk | 1 - 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/package/kodi-imagedecoder-heif/Config.in b/package/kodi-imagedecoder-heif/Config.in index f41b164ff4..d77f10ee98 100644 --- a/package/kodi-imagedecoder-heif/Config.in +++ b/package/kodi-imagedecoder-heif/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_KODI_IMAGEDECODER_HEIF depends on BR2_INSTALL_LIBSTDCPP # libde265, libheif, tinyxml2 depends on BR2_TOOLCHAIN_HAS_THREADS # libde265, libheif depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_30730 # libheif - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # libheif + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # libheif select BR2_PACKAGE_LIBDE265 select BR2_PACKAGE_LIBHEIF select BR2_PACKAGE_TINYXML2 @@ -12,7 +12,7 @@ config BR2_PACKAGE_KODI_IMAGEDECODER_HEIF https://github.com/xbmc/imagedecoder.heif -comment "kodi-imagedecoder-heif needs a toolchain w/ C++, threads, gcc >= 4.8" +comment "kodi-imagedecoder-heif needs a toolchain w/ C++, threads, gcc >= 10" depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_30730 # libheif depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_10 diff --git a/package/libheif/Config.in b/package/libheif/Config.in index 0ae86a07f4..9e88fb826d 100644 --- a/package/libheif/Config.in +++ b/package/libheif/Config.in @@ -2,14 +2,14 @@ config BR2_PACKAGE_LIBHEIF bool "libheif" depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_30730 depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # C++20 depends on BR2_TOOLCHAIN_HAS_THREADS help libheif is an HEIF and AVIF file format decoder and encoder. https://github.com/strukturag/libheif -comment "libheif needs a toolchain w/ C++, threads, gcc >= 4.8" +comment "libheif needs a toolchain w/ C++, threads, gcc >= 10" depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_30730 - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \ !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libheif/libheif.mk b/package/libheif/libheif.mk index acd302d847..c4196f9353 100644 --- a/package/libheif/libheif.mk +++ b/package/libheif/libheif.mk @@ -11,7 +11,6 @@ LIBHEIF_LICENSE_FILES = COPYING LIBHEIF_CPE_ID_VENDOR = struktur LIBHEIF_INSTALL_STAGING = YES LIBHEIF_CONF_OPTS = \ - -DCMAKE_CXX_FLAGS="-std=c++11" \ -DENABLE_PLUGIN_LOADING=OFF \ -DWITH_AOM_DECODER=OFF \ -DWITH_AOM_ENCODER=OFF \