Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 949086 - media-sound/easytag-2.4.3-r7 - [gcc-15] [ffmpeg] globals.h: error: bool cannot be defined via typedef
Summary: media-sound/easytag-2.4.3-r7 - [gcc-15] [ffmpeg] globals.h: error: bool canno...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: c23-porting
  Show dependency tree
 
Reported: 2025-01-30 17:45 UTC by Toralf Förster
Modified: 2025-02-18 21:55 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,19.89 KB, text/plain)
2025-01-30 17:45 UTC, Toralf Förster
Details
emerge-history.txt.xz (emerge-history.txt.xz,62.07 KB, application/x-xz)
2025-01-30 17:45 UTC, Toralf Förster
Details
environment (environment,87.70 KB, text/plain)
2025-01-30 17:45 UTC, Toralf Förster
Details
etc.clang.tar.xz (etc.clang.tar.xz,1.21 KB, application/x-xz)
2025-01-30 17:45 UTC, Toralf Förster
Details
etc.portage.tar.xz (etc.portage.tar.xz,20.66 KB, application/x-xz)
2025-01-30 17:45 UTC, Toralf Förster
Details
logs.tar.xz (logs.tar.xz,15.12 KB, application/x-xz)
2025-01-30 17:45 UTC, Toralf Förster
Details
media-sound:easytag-2.4.3-r7:20250130-030602.log (media-sound:easytag-2.4.3-r7:20250130-030602.log,131.76 KB, text/plain)
2025-01-30 17:45 UTC, Toralf Förster
Details
qlist-info.txt.xz (qlist-info.txt.xz,71.37 KB, application/x-xz)
2025-01-30 17:45 UTC, Toralf Förster
Details
temp.tar.xz (temp.tar.xz,22.51 KB, application/x-xz)
2025-01-30 17:45 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2025-01-30 17:45:17 UTC
too long lines were shrinked:

x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H   -I. -I./src -I./src/tags -I. -I./src -DLOCALEDIR=\"/usr/share/locale\" -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_38 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_38 -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_10 -DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_3_10  -fno-str
make[2]: Leaving directory '/var/tmp/portage/media-sound/easytag-2.4.3-r7/work/easytag-2.4.3'
make[2]: Entering directory '/var/tmp/portage/media-sound/easytag-2.4.3-r7/work/easytag-2.4.3'
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H   -I. -I./src -I./src/tags -I. -I./src -DLOCALEDIR=\"/usr/share/locale\" -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_38 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_38 -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_10 -DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_3_10  -fno-str
In file included from /usr/include/id3.h:32,
                 from src/tags/id3_tag.c:39:
/usr/include/id3/globals.h:87:13: error: bool cannot be defined via typedef
   87 | typedef int bool;
      |             ^~~~

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 23.0_desktop_plasma-20250123-181701

  UNMASKED:

    Requested by sam
  #~media-video/ffmpeg-7.0.2
  =media-video/ffmpeg-7*

    
  <sys-devel/gcc-15.0.9999:15

  The attached etc.portage.tar.xz has all details.
  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-15 *
clang version 19.1.7
llvm-config: 19.1.7
Python 3.12.8
go version go1.23.5 linux/amd64
Available Ruby profiles:
  [1]   ruby32 (with Rubygems)
  [2]   ruby34 (with Rubygems) *
Available Rust versions:
  [1]   rust-bin-1.81.0
  [2]   rust-bin-1.84.0
  [3]   rust-1.84.0 *
The following VMs are available for generation-2:
1)	Eclipse Temurin JDK 17.0.13_p11 [openjdk-bin-17]
*)	Eclipse Temurin JDK 21.0.5_p11 [openjdk-bin-21]
3)	Eclipse Temurin JDK 8.432_p06 [openjdk-bin-8]
Available Java Virtual Machines:
  [1]   openjdk-bin-8 
  [2]   openjdk-bin-17 
  [3]   openjdk-bin-21  system-vm


  HEAD of ::gentoo
commit dd93fb570d45ef8384c9e3a7d6da7ac39b886d66
Author: Repository mirror & CI <repomirrorci@gentoo.org>
Date:   Thu Jan 30 01:48:40 2025 +0000

    2025-01-30 01:48:40 UTC

emerge -qpvO =media-sound/easytag-2.4.3-r7
[ebuild  N    ] media-sound/easytag-2.4.3-r7  USE="flac mp3 mp4 vorbis -opus -speex -test -wavpack"
Comment 1 Toralf Förster gentoo-dev 2025-01-30 17:45:18 UTC
Created attachment 917931 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2025-01-30 17:45:20 UTC
Created attachment 917932 [details]
emerge-history.txt.xz
Comment 3 Toralf Förster gentoo-dev 2025-01-30 17:45:21 UTC
Created attachment 917933 [details]
environment
Comment 4 Toralf Förster gentoo-dev 2025-01-30 17:45:22 UTC
Created attachment 917934 [details]
etc.clang.tar.xz
Comment 5 Toralf Förster gentoo-dev 2025-01-30 17:45:23 UTC
Created attachment 917935 [details]
etc.portage.tar.xz
Comment 6 Toralf Förster gentoo-dev 2025-01-30 17:45:24 UTC
Created attachment 917936 [details]
logs.tar.xz
Comment 7 Toralf Förster gentoo-dev 2025-01-30 17:45:25 UTC
Created attachment 917937 [details]
media-sound:easytag-2.4.3-r7:20250130-030602.log
Comment 8 Toralf Förster gentoo-dev 2025-01-30 17:45:26 UTC
Created attachment 917938 [details]
qlist-info.txt.xz
Comment 9 Toralf Förster gentoo-dev 2025-01-30 17:45:27 UTC
Created attachment 917939 [details]
temp.tar.xz
Comment 10 Larry the Git Cow gentoo-dev 2025-02-04 15:47:23 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6be16d3ef027555b18acf7a6127260080eabbd11

commit 6be16d3ef027555b18acf7a6127260080eabbd11
Author:     Nicolas PARLANT <nicolas.parlant@parhuet.fr>
AuthorDate: 2025-01-14 17:21:23 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2025-02-04 15:27:23 +0000

    media-libs/id3lib: c23 prevent define bool in header
    
    fix compilation with gcc-15/c23 for media-sound/easytag
    
    > In file included from /usr/include/id3.h:32,
    >                 from src/tags/id3_tag.c:39:
    > /usr/include/id3/globals.h:87:13: error: ‘bool’
    > cannot be defined via ‘typedef’
    >   87 | typedef int bool;
    >      |             ^~~~
    > /usr/include/id3/globals.h:87:13: note: ‘bool’ is
    > a keyword with ‘-std=c23’ onwards
    
    [sam: Revbump for changed installed header.]
    
    Closes: https://bugs.gentoo.org/949086
    Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
    Closes: https://github.com/gentoo/gentoo/pull/40134
    Signed-off-by: Sam James <sam@gentoo.org>

 media-libs/id3lib/files/id3lib-3.8.3-fix-c23.patch | 2171 ++++++++++++++++++++
 media-libs/id3lib/id3lib-3.8.3-r11.ebuild          |   67 +
 2 files changed, 2238 insertions(+)

Additionally, it has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b0d1e373dcd8c4f79735d033d205a6f36698c59

commit 5b0d1e373dcd8c4f79735d033d205a6f36698c59
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2025-02-04 15:46:17 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2025-02-04 15:46:17 +0000

    media-libs/id3lib: fix C23 issues as best we can
    
    The situation here is complicated. With C23, 'bool' is exposed properly
    out of the box (as the same type as '_Bool'). But this is problematic
    when it comes to C++ where 'bool' was always '_Bool' (or near-enough
    guaranteed), and where we have existing C applications that we don't
    want to break ABI for.
    
    For C++, id3tag was always using native C++ 'bool', so we don't want to change
    that now when looking at C23 compat. This means the ABI issues between
    C and C++ remain: typedef bool my_bool.
    
    For C, continue using the old 'int bool' that the project did before
    C23. This doesn't solve the pre-existing C/C++ ABI issue here where
    C++ always had "good _Bool-as-bool", unfortunately: typedef int my_bool.
    
    Really, we need people to port to taglib ASAP.
    
    Bug: https://bugs.gentoo.org/893644
    Bug: https://bugs.gentoo.org/949086
    Signed-off-by: Sam James <sam@gentoo.org>

 media-libs/id3lib/files/id3lib-3.8.3-fix-c23.patch | 2202 +-------------------
 1 file changed, 51 insertions(+), 2151 deletions(-)
Comment 11 Larry the Git Cow gentoo-dev 2025-02-18 21:53:54 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd23dea40355b04be6d6eaad559a03bc0c4a48a4

commit fd23dea40355b04be6d6eaad559a03bc0c4a48a4
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2025-02-18 21:52:25 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2025-02-18 21:53:16 +0000

    media-sound/easytag: fix up for id3lib bool changes
    
    This is a temporary bandaid. I've concluded my previous approach isn't
    going to work and will revisit it tomorrow, but this is good enough
    for now.
    
    Bug: https://bugs.gentoo.org/949086
    Bug: https://bugs.gentoo.org/949814
    Signed-off-by: Sam James <sam@gentoo.org>

 media-sound/easytag/easytag-2.4.3-r8.ebuild       | 86 +++++++++++++++++++++++
 media-sound/easytag/files/easytag-2.4.3-c23.patch | 56 +++++++++++++++
 2 files changed, 142 insertions(+)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aed12edb041378de1ccdf9c041785e9e6c2b0b54

commit aed12edb041378de1ccdf9c041785e9e6c2b0b54
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2025-02-18 21:40:55 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2025-02-18 21:53:16 +0000

    media-libs/id3lib: further (non-)C23 fixes
    
    My 5b0d1e373dcd8c4f79735d033d205a6f36698c59 fix was nearly there but
    I'd forgot about one thing that I even remember considering: the C (but not C++)
    headers need to be changed to use my_bool. The C++ ones should be fine as they
    would've worked before.
    
    Bug: https://bugs.gentoo.org/949086
    Bug: https://bugs.gentoo.org/949814
    Signed-off-by: Sam James <sam@gentoo.org>

 media-libs/id3lib/files/id3lib-3.8.3-fix-c23.patch | 58 ++++++++++++++++++----
 ...ib-3.8.3-r11.ebuild => id3lib-3.8.3-r12.ebuild} |  0
 2 files changed, 49 insertions(+), 9 deletions(-)