Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/3] package/taglib: mp4 support needs threads
@ 2026-07-24 16:48 Bernd Kuhls
  2026-07-24 16:48 ` [Buildroot] [PATCH/RFC 2/3] package/taglib: needs gcc >= 7 Bernd Kuhls
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Bernd Kuhls @ 2026-07-24 16:48 UTC (permalink / raw)
  To: buildroot

Buildroot commit 1c5730ebb5e8b9a67433aa9997e5cfd6cae18cfe bumped the
package from version 2.2.1 to version 2.3 which includes upstream commit
https://github.com/taglib/taglib/commit/5d63187a8b8d291cbf4f77d1bb973bc5ee91cf03
that uses std::call_once and is only available with threads support.

Inspired by buildroot commit f9a2d65cae88ca7c641af2f69161ab0d21bac91c
which fixed a similar error.

This patch fixes a build error

/builds/bkuhls/buildroot/br-test-pkg/br-arm-full-nothread/build/taglib-2.3/taglib/mp4/mp4itemfactory.cpp:51:16:
 error: ‘once_flag’ in namespace ‘std’ does not name a type

caught by the Gitlab pipelines. To reproduce use this defconfig:

  BR2_arm=y
  BR2_arm1176jzf_s=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-arm11-full-nothread-2020.11.2.tar.bz2"
  BR2_TOOLCHAIN_EXTERNAL_GCC_9=y
  BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_9=y
  BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
  # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS is not set
  BR2_TOOLCHAIN_EXTERNAL_CXX=y
  BR2_PER_PACKAGE_DIRECTORIES=y
  BR2_PACKAGE_TAGLIB=y

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
 package/taglib/taglib.mk | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/taglib/taglib.mk b/package/taglib/taglib.mk
index 924d3f339d..9a111a86c6 100644
--- a/package/taglib/taglib.mk
+++ b/package/taglib/taglib.mk
@@ -12,6 +12,12 @@ TAGLIB_LICENSE = LGPL-2.1 or MPL-1.1
 TAGLIB_LICENSE_FILES = COPYING.LGPL COPYING.MPL
 TAGLIB_CPE_ID_VENDOR = taglib
 
+ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
+TAGLIB_CONF_OPTS += -DWITH_MP4=ON
+else
+TAGLIB_CONF_OPTS += -DWITH_MP4=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_ZLIB),y)
 TAGLIB_DEPENDENCIES += zlib
 TAGLIB_CONF_OPTS += -DWITH_ZLIB=ON
-- 
2.47.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH/RFC 2/3] package/taglib: needs gcc >= 7
  2026-07-24 16:48 [Buildroot] [PATCH 1/3] package/taglib: mp4 support needs threads Bernd Kuhls
@ 2026-07-24 16:48 ` Bernd Kuhls
  2026-08-24 20:01   ` Thomas Petazzoni via buildroot
  2026-09-04 12:18   ` Thomas Perale via buildroot
  2026-07-24 16:48 ` [Buildroot] [PATCH 3/3] package/taglib: bump version to 2.3.1 Bernd Kuhls
  2026-08-24 20:00 ` [Buildroot] [PATCH 1/3] package/taglib: mp4 support needs threads Thomas Petazzoni via buildroot
  2 siblings, 2 replies; 7+ messages in thread
From: Bernd Kuhls @ 2026-07-24 16:48 UTC (permalink / raw)
  To: buildroot

Fixes a build error caught by the Gitlab pipelines:

/builds/bkuhls/buildroot/br-test-pkg/bootlin-aarch64-glibc-old/build/taglib-2.3/taglib/mpeg/mpegfile.cpp:113:10:
 error: expected primary-expression before ‘const’
       if(const Header header(&file, headerOffset + i, true); header.isValid()) {

which was introduced by code format changes in upstream commit
https://github.com/taglib/taglib/commit/dfe2aa52532fc9f73a67499dd17fb527a856a22f

which was first released with taglib 2.0, added to buildroot with commit
9cd3464afa13fd0190fb3e94fd850cc8063cf297.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
I have no idea if this patch is correct, at least blocking gcc 6 makes
the Gitlab pipelines happy. It seems to me that the upstream commit uses
newer language features not supported by gcc 6, but with my limited
knowledge about C++ I could not find evidence to support my theory.

 package/gstreamer1/gst1-plugins-good/Config.in | 6 ++++--
 package/taglib/Config.in                       | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
index 6a738faa00..c4eb4efb65 100644
--- a/package/gstreamer1/gst1-plugins-good/Config.in
+++ b/package/gstreamer1/gst1-plugins-good/Config.in
@@ -403,13 +403,15 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPEEX
 config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_TAGLIB
 	bool "taglib"
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17
 	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_TAGLIB
 	help
 	  Taglib tagging plugin library
 
-comment "taglib needs a toolchain w/ C++, wchar"
-	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
+comment "taglib needs a toolchain w/ C++, wchar, gcc >= 7"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \
+		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_7
 
 config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_TWOLAME
 	bool "twolame"
diff --git a/package/taglib/Config.in b/package/taglib/Config.in
index 5b641a9653..9a43c82a5e 100644
--- a/package/taglib/Config.in
+++ b/package/taglib/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_TAGLIB
 	bool "taglib"
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17
 	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_UTFCPP
 	help
@@ -12,5 +13,6 @@ config BR2_PACKAGE_TAGLIB
 
 	  http://taglib.org/
 
-comment "taglib needs a toolchain w/ C++, wchar"
-	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
+comment "taglib needs a toolchain w/ C++, wchar, gcc >= 7"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \
+		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_7
-- 
2.47.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 3/3] package/taglib: bump version to 2.3.1
  2026-07-24 16:48 [Buildroot] [PATCH 1/3] package/taglib: mp4 support needs threads Bernd Kuhls
  2026-07-24 16:48 ` [Buildroot] [PATCH/RFC 2/3] package/taglib: needs gcc >= 7 Bernd Kuhls
@ 2026-07-24 16:48 ` Bernd Kuhls
  2026-08-24 20:10   ` Thomas Petazzoni via buildroot
  2026-08-24 20:00 ` [Buildroot] [PATCH 1/3] package/taglib: mp4 support needs threads Thomas Petazzoni via buildroot
  2 siblings, 1 reply; 7+ messages in thread
From: Bernd Kuhls @ 2026-07-24 16:48 UTC (permalink / raw)
  To: buildroot

https://github.com/taglib/taglib/blob/v2.3.1/CHANGELOG.md
https://mail.kde.org/pipermail/taglib-devel/2026-July/003124.html

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
Series passed Gitlab pipelines:
https://gitlab.com/bkuhls/buildroot/-/commits/f4105c8ea013305b24f934cd070256348afd336e

 package/taglib/taglib.hash | 4 ++--
 package/taglib/taglib.mk   | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/package/taglib/taglib.hash b/package/taglib/taglib.hash
index b118f610ec..6c47694c28 100644
--- a/package/taglib/taglib.hash
+++ b/package/taglib/taglib.hash
@@ -1,5 +1,5 @@
-# From https://github.com/taglib/taglib/releases/tag/v2.3
-sha256  7349f6fd942418bc7009ebe743eb7c9d055f02921ec56fa436ec25007c47fd38  taglib-2.3.tar.gz
+# From https://github.com/taglib/taglib/releases/tag/v2.3.1
+sha256  a19d90e6fd41d09a0281ec0fe762d51491d7a6ccffc923c4f7868c5e647ca230  taglib-2.3.1.tar.gz
 # Locally calculated
 sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  COPYING.LGPL
 sha256  53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f  COPYING.MPL
diff --git a/package/taglib/taglib.mk b/package/taglib/taglib.mk
index 9a111a86c6..0a8f371371 100644
--- a/package/taglib/taglib.mk
+++ b/package/taglib/taglib.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-TAGLIB_VERSION = 2.3
+TAGLIB_VERSION = 2.3.1
 TAGLIB_SITE = https://taglib.org/releases
 TAGLIB_INSTALL_STAGING = YES
 TAGLIB_DEPENDENCIES = utfcpp
-- 
2.47.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH 1/3] package/taglib: mp4 support needs threads
  2026-07-24 16:48 [Buildroot] [PATCH 1/3] package/taglib: mp4 support needs threads Bernd Kuhls
  2026-07-24 16:48 ` [Buildroot] [PATCH/RFC 2/3] package/taglib: needs gcc >= 7 Bernd Kuhls
  2026-07-24 16:48 ` [Buildroot] [PATCH 3/3] package/taglib: bump version to 2.3.1 Bernd Kuhls
@ 2026-08-24 20:00 ` Thomas Petazzoni via buildroot
  2 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-08-24 20:00 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: buildroot

On Fri, Jul 24, 2026 at 06:48:27PM +0200, Bernd Kuhls wrote:
> Buildroot commit 1c5730ebb5e8b9a67433aa9997e5cfd6cae18cfe bumped the
> package from version 2.2.1 to version 2.3 which includes upstream commit
> https://github.com/taglib/taglib/commit/5d63187a8b8d291cbf4f77d1bb973bc5ee91cf03
> that uses std::call_once and is only available with threads support.
> 
> Inspired by buildroot commit f9a2d65cae88ca7c641af2f69161ab0d21bac91c
> which fixed a similar error.
> 
> This patch fixes a build error
> 
> /builds/bkuhls/buildroot/br-test-pkg/br-arm-full-nothread/build/taglib-2.3/taglib/mp4/mp4itemfactory.cpp:51:16:
>  error: ‘once_flag’ in namespace ‘std’ does not name a type
> 
> caught by the Gitlab pipelines. To reproduce use this defconfig:
> 
>   BR2_arm=y
>   BR2_arm1176jzf_s=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-arm11-full-nothread-2020.11.2.tar.bz2"
>   BR2_TOOLCHAIN_EXTERNAL_GCC_9=y
>   BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_9=y
>   BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
>   # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS is not set
>   BR2_TOOLCHAIN_EXTERNAL_CXX=y
>   BR2_PER_PACKAGE_DIRECTORIES=y
>   BR2_PACKAGE_TAGLIB=y
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>

Thanks a lot, applied to master!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH/RFC 2/3] package/taglib: needs gcc >= 7
  2026-07-24 16:48 ` [Buildroot] [PATCH/RFC 2/3] package/taglib: needs gcc >= 7 Bernd Kuhls
@ 2026-08-24 20:01   ` Thomas Petazzoni via buildroot
  2026-09-04 12:18   ` Thomas Perale via buildroot
  1 sibling, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-08-24 20:01 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: buildroot

On Fri, Jul 24, 2026 at 06:48:28PM +0200, Bernd Kuhls wrote:
> Fixes a build error caught by the Gitlab pipelines:
> 
> /builds/bkuhls/buildroot/br-test-pkg/bootlin-aarch64-glibc-old/build/taglib-2.3/taglib/mpeg/mpegfile.cpp:113:10:
>  error: expected primary-expression before ‘const’
>        if(const Header header(&file, headerOffset + i, true); header.isValid()) {
> 
> which was introduced by code format changes in upstream commit
> https://github.com/taglib/taglib/commit/dfe2aa52532fc9f73a67499dd17fb527a856a22f
> 
> which was first released with taglib 2.0, added to buildroot with commit
> 9cd3464afa13fd0190fb3e94fd850cc8063cf297.
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> ---
> I have no idea if this patch is correct, at least blocking gcc 6 makes
> the Gitlab pipelines happy. It seems to me that the upstream commit uses
> newer language features not supported by gcc 6, but with my limited
> knowledge about C++ I could not find evidence to support my theory.

I'm also not a C++ guru, but some research shows that this is called
"init-statement", was described by proposal P0305R1 and according to
https://en.cppreference.com/cpp/compiler_support/17 this feature
indeed has been supported since gcc 7.

I've extended the commit log with this information, and applied to
master. Thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH 3/3] package/taglib: bump version to 2.3.1
  2026-07-24 16:48 ` [Buildroot] [PATCH 3/3] package/taglib: bump version to 2.3.1 Bernd Kuhls
@ 2026-08-24 20:10   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-08-24 20:10 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: buildroot

On Fri, Jul 24, 2026 at 06:48:29PM +0200, Bernd Kuhls wrote:
> https://github.com/taglib/taglib/blob/v2.3.1/CHANGELOG.md
> https://mail.kde.org/pipermail/taglib-devel/2026-July/003124.html
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>

Because the amount of changes is really limited to fixes, I've applied
this version bump to master. Thanks a lot!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH/RFC 2/3] package/taglib: needs gcc >= 7
  2026-07-24 16:48 ` [Buildroot] [PATCH/RFC 2/3] package/taglib: needs gcc >= 7 Bernd Kuhls
  2026-08-24 20:01   ` Thomas Petazzoni via buildroot
@ 2026-09-04 12:18   ` Thomas Perale via buildroot
  1 sibling, 0 replies; 7+ messages in thread
From: Thomas Perale via buildroot @ 2026-09-04 12:18 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: Thomas Perale, buildroot

In reply of:
> Fixes a build error caught by the Gitlab pipelines:
> 
> /builds/bkuhls/buildroot/br-test-pkg/bootlin-aarch64-glibc-old/build/taglib-2.3/taglib/mpeg/mpegfile.cpp:113:10:
>  error: expected primary-expression before ‘const’
>        if(const Header header(&file, headerOffset + i, true); header.isValid()) {
> 
> which was introduced by code format changes in upstream commit
> https://github.com/taglib/taglib/commit/dfe2aa52532fc9f73a67499dd17fb527a856a22f
> 
> which was first released with taglib 2.0, added to buildroot with commit
> 9cd3464afa13fd0190fb3e94fd850cc8063cf297.
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>

Applied to 2025.02.x & 2026.05.x. Thanks

> ---
> I have no idea if this patch is correct, at least blocking gcc 6 makes
> the Gitlab pipelines happy. It seems to me that the upstream commit uses
> newer language features not supported by gcc 6, but with my limited
> knowledge about C++ I could not find evidence to support my theory.
> 
>  package/gstreamer1/gst1-plugins-good/Config.in | 6 ++++--
>  package/taglib/Config.in                       | 6 ++++--
>  2 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
> index 6a738faa00..c4eb4efb65 100644
> --- a/package/gstreamer1/gst1-plugins-good/Config.in
> +++ b/package/gstreamer1/gst1-plugins-good/Config.in
> @@ -403,13 +403,15 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SPEEX
>  config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_TAGLIB
>  	bool "taglib"
>  	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17
>  	depends on BR2_USE_WCHAR
>  	select BR2_PACKAGE_TAGLIB
>  	help
>  	  Taglib tagging plugin library
>  
> -comment "taglib needs a toolchain w/ C++, wchar"
> -	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
> +comment "taglib needs a toolchain w/ C++, wchar, gcc >= 7"
> +	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \
> +		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_7
>  
>  config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_TWOLAME
>  	bool "twolame"
> diff --git a/package/taglib/Config.in b/package/taglib/Config.in
> index 5b641a9653..9a43c82a5e 100644
> --- a/package/taglib/Config.in
> +++ b/package/taglib/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_PACKAGE_TAGLIB
>  	bool "taglib"
>  	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17
>  	depends on BR2_USE_WCHAR
>  	select BR2_PACKAGE_UTFCPP
>  	help
> @@ -12,5 +13,6 @@ config BR2_PACKAGE_TAGLIB
>  
>  	  http://taglib.org/
>  
> -comment "taglib needs a toolchain w/ C++, wchar"
> -	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
> +comment "taglib needs a toolchain w/ C++, wchar, gcc >= 7"
> +	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \
> +		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_7
> -- 
> 2.47.3
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-09-04 12:18 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-24 16:48 [Buildroot] [PATCH 1/3] package/taglib: mp4 support needs threads Bernd Kuhls
2026-07-24 16:48 ` [Buildroot] [PATCH/RFC 2/3] package/taglib: needs gcc >= 7 Bernd Kuhls
2026-08-24 20:01   ` Thomas Petazzoni via buildroot
2026-09-04 12:18   ` Thomas Perale via buildroot
2026-07-24 16:48 ` [Buildroot] [PATCH 3/3] package/taglib: bump version to 2.3.1 Bernd Kuhls
2026-08-24 20:10   ` Thomas Petazzoni via buildroot
2026-08-24 20:00 ` [Buildroot] [PATCH 1/3] package/taglib: mp4 support needs threads Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox