All of 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.