Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 951345 - media-video/wireplumber-0.5.8 modules/module-reserve-device/reserve-device-interface.c: error: implicit declaration of function g_variant_builder_init_static
Summary: media-video/wireplumber-0.5.8 modules/module-reserve-device/reserve-device-in...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: Sam James
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-14 16:45 UTC by irort
Modified: 2025-03-19 01:21 UTC (History)
3 users (show)

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


Attachments
emerge-info.txt (emerge-info.txt,7.82 KB, text/plain)
2025-03-14 16:45 UTC, irort
Details
ebuild environment (environment,126.67 KB, text/plain)
2025-03-14 16:47 UTC, irort
Details
emerge -pqv '=media-video/wireplumber-0.5.8::gentoo' (pqv.txt,249 bytes, text/plain)
2025-03-14 16:48 UTC, irort
Details
media-video/wireplumber-0.5.8 build.log (build.log,79.10 KB, text/x-log)
2025-03-14 16:49 UTC, irort
Details

Note You need to log in before you can comment on or make changes to this bug.
Description irort 2025-03-14 16:45:27 UTC
Created attachment 920767 [details]
emerge-info.txt

too long lines were shrinked:

[64/163] x86_64-pc-linux-gnu-gcc -Imodules/libwireplumber-module-dbus-connection.so.p -Imodules -I../wireplumber-0.5.8/modules -Ilib -I../wireplumber-0.5.8/lib -Ilib/wp -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/libmount -I/usr/include/blkid -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_68 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_68 '-DGETTEXT_PACKAGE="wireplumber"' -fvisibility=hidden -Wsuggest-attribute=format -Wsign-compare -Wpointer-arith -Wpointer-sign -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wold-style-declaration -Wunused-result -D_GNU_SOURCE -DG_LOG_USE_STRUCTURED -DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG -O2 -pipe -fPIC -pthread -MD -MQ modules/libwireplumber-module-dbus-connection.so.p/meson-generated_.._dbus-connection-enums.c.o -MF modules/libwireplumber-module-dbus-connection.so.p/meson-generated_.._dbus-connection-enums.c.o.d -o modules/libwireplumber-module-dbus-connection.so.p/meson-generated_.._dbus-connection-enums.c.o -c modules/dbus-connection-enums.c
[65/163] x86_64-pc-linux-gnu-gcc -Imodules/libwireplumber-module-dbus-connection.so.p -Imodules -I../wireplumber-0.5.8/modules -Ilib -I../wireplumber-0.5.8/lib -Ilib/wp -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/libmount -I/usr/include/blkid -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_68 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_68 '-DGETTEXT_PACKAGE="wireplumber"' -fvisibility=hidden -Wsuggest-attribute=format -Wsign-compare -Wpointer-arith -Wpointer-sign -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wold-style-declaration -Wunused-result -D_GNU_SOURCE -DG_LOG_USE_STRUCTURED -DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG -O2 -pipe -fPIC -pthread -MD -MQ modules/libwireplumber-module-dbus-connection.so.p/module-dbus-connection.c.o -MF modules/libwireplumber-module-dbus-connection.so.p/module-dbus-connection.c.o.d -o modules/libwireplumber-module-dbus-connection.so.p/module-dbus-connection.c.o -c ../wireplumber-0.5.8/modules/module-dbus-connection.c
[66/163] x86_64-pc-linux-gnu-gcc -Imodules/libwireplumber-module-default-nodes-api.so.p -Imodules -I../wireplumber-0.5.8/modules -Ilib -I../wireplumber-0.5.8/lib -Ilib/wp -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/pipewire-0.3 -I/usr/include/spa-0.2 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_68 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_68 '-DGETTEXT_PACKAGE="wireplumber"' -fvisibility=hidden -Wsuggest-attribute=format -Wsign-compare -Wpointer-arith -Wpointer-sign -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wold-style-declaration -Wunused-result -D_GNU_SOURCE -DG_LOG_USE_STRUCTURED -DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG -O2 -pipe -fPIC -D_REENTRANT -pthread -MD -MQ modules/libwireplumber-module-default-nodes-api.so.p/module-default-nodes-api.c.o -MF modules/libwireplumber-module-default-nodes-api.so.p/module-default-nodes-api.c.o.d -o modules/libwireplumber-module-default-nodes-api.so.p/module-default-nodes-api.c.o -c ../wireplumber-0.5.8/modules/module-default-nodes-api.c
[67/163] x86_64-pc-linux-gnu-gcc -Imodules/libwireplumber-module-reserve-device.so.p -Imodules -I../wireplumber-0.5.8/modules -Imodules/module-reserve-device -I../wireplumber-0.5.8/modules/module-reserve-device -Ilib -I../wireplumber-0.5.8/lib -Ilib/wp -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_68 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_68 '-DGETTEXT_PACKAGE="wireplumber"' -fvisibility=hidden -Wsuggest-attribute=format -Wsign-compare -Wpointer-arith -Wpointer-sign -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wold-style-declaration -Wunused-result -D_GNU_SOURCE -DG_LOG_USE_STRUCTURED -DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG -O2 -pipe -fPIC -pthread -MD -MQ modules/libwireplumber-module-reserve-device.so.p/meson-generated_.._module-reserve-device_reserve-device-interface.c.o -MF modules/libwireplumber-module-reserve-device.so.p/meson-generated_.._module-reserve-device_reserve-device-interface.c.o.d -o modules/libwireplumber-module-reserve-device.so.p/meson-generated_.._module-reserve-device_reserve-device-interface.c.o -c modules/module-reserve-device/reserve-device-interface.c
FAILED: modules/libwireplumber-module-reserve-device.so.p/meson-generated_.._module-reserve-device_reserve-device-interface.c.o 
x86_64-pc-linux-gnu-gcc -Imodules/libwireplumber-module-reserve-device.so.p -Imodules -I../wireplumber-0.5.8/modules -Imodules/module-reserve-device -I../wireplumber-0.5.8/modules/module-reserve-device -Ilib -I../wireplumber-0.5.8/lib -Ilib/wp -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_68 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_68 '-DGETTEXT_PACKAGE="wireplumber"' -fvisibility=hidden -Wsuggest-attribute=format -Wsign-compare -Wpointer-arith -Wpointer-sign -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wold-style-declaration -Wunused-result -D_GNU_SOURCE -DG_LOG_USE_STRUCTURED -DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG -O2 -pipe -fPIC -pthread -MD -MQ modules/libwireplumber-module-reserve-device.so.p/meson-generated_.._module-reserve-device_reserve-device-interface.c.o -MF modules/libwireplumber-module-reserve-device.so.p/meson-generated_.._module-reserve-device_reserve-device-interface.c.o.d -o modules/libwireplumber-module-reserve-device.so.p/meson-generated_.._module-reserve-device_reserve-device-interface.c.o -c modules/module-reserve-device/reserve-device-interface.c
modules/module-reserve-device/reserve-device-interface.c: In function ‘wp_org_freedesktop_reserve_device1_skeleton_dbus_interface_get_properties’:
modules/module-reserve-device/reserve-device-interface.c:1395:3: error: implicit declaration of function ‘g_variant_builder_init_static’; did you mean ‘g_variant_builder_init’? [-Wimplicit-function-declaration]
 1395 |   g_variant_builder_init_static (&builder, G_VARIANT_TYPE ("a{sv}"));
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

gcc-config -l
 [1] x86_64-pc-linux-gnu-13
 [2] x86_64-pc-linux-gnu-14 *
clang version 19.1.7
llvm-config: 19.1.7
Python 3.12.9
Available Ruby profiles:
  (none found)
Available Rust versions:
  [1]   rust-bin-1.81.0
  [2]   rust-bin-1.83.0
  [3]   rust-bin-1.84.1 *
Head commit of repository gentoo: b7189c78bf335bd49f34c605752ee33ab4d87db6
Author: Repository mirror & CI <repomirrorci@gentoo.org>
Date:   Fri Mar 14 14:18:24 2025 +0000

    2025-03-14 14:18:24 UTC

emerge -pqv '=media-video/wireplumber-0.5.8::gentoo'
[ebuild     U ] media-video/wireplumber-0.5.8 [0.5.7] USE="elogind (-system-service) -systemd -test" LUA_SINGLE_TARGET="lua5-4 -lua5-3"
Comment 1 irort 2025-03-14 16:47:15 UTC
Created attachment 920768 [details]
ebuild environment
Comment 2 irort 2025-03-14 16:48:00 UTC
Created attachment 920769 [details]
emerge -pqv '=media-video/wireplumber-0.5.8::gentoo'
Comment 3 irort 2025-03-14 16:49:00 UTC
Created attachment 920776 [details]
media-video/wireplumber-0.5.8 build.log
Comment 4 Pavol Cizmarik 2025-03-18 14:30:12 UTC
Hello, I am experiencing same issue with media-video/wireplumber-0.5.8-r2:

modules/module-reserve-device/reserve-device-interface.c:1395:3: error: implicit declaration of function ‘g_variant_builder_init_static’; did you mean ‘g_variant_builder_init’? [-Wimplicit-function-declaration]
 1395 |   g_variant_builder_init_static (&builder, G_VARIANT_TYPE ("a{sv}"));
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |   g_variant_builder_init


I use gcc14.

Also same issue shows up also in media-video/pipewire-1.2.7-r2:0/0.4::gentoo package, when bluetooth support is enabled.
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-03-18 14:55:45 UTC
If you're hitting this, please share the output of: emerge -pvO dev-libs/glib dev-util/gdbus-codegen dev-libs/gobject-introspection.
Comment 6 Pavol Cizmarik 2025-03-18 14:59:15 UTC
Here is the output:

[ebuild   R    ] dev-libs/glib-2.82.5:2::gentoo  USE="dbus elf introspection (mime) static-libs xattr -debug -doc (-selinux) -sysprof -systemtap -test -utils" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild   R   ~] dev-util/gdbus-codegen-2.84.0::gentoo  PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11 -python3_13" 0 KiB
[ebuild   R    ] dev-libs/gobject-introspection-1.82.0-r2::gentoo  USE="-doctool -gtk-doc -test" PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11 -python3_13" 0 KiB
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-03-18 15:01:13 UTC
(In reply to Pavol Cizmarik from comment #6)
> Here is the output:
> 
> [ebuild   R    ] dev-libs/glib-2.82.5:2::gentoo  USE="dbus elf introspection
> (mime) static-libs xattr -debug -doc (-selinux) -sysprof -systemtap -test
> -utils" ABI_X86="(64) -32 (-x32)" 0 KiB
> [ebuild   R   ~] dev-util/gdbus-codegen-2.84.0::gentoo 
> PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11 -python3_13" 0 KiB
> [ebuild   R    ] dev-libs/gobject-introspection-1.82.0-r2::gentoo 
> USE="-doctool -gtk-doc -test" PYTHON_SINGLE_TARGET="python3_12 -python3_10
> -python3_11 -python3_13" 0 KiB

Thanks. The issue is newer gdbus-codegen without new enough glib. Can you try downgrade gdbus-codegen to 2.82* to check if I'm right?
Comment 8 irort 2025-03-18 15:10:44 UTC
(In reply to Sam James from comment #7)
> (In reply to Pavol Cizmarik from comment #6)
> > Here is the output:
> > 
> > [ebuild   R    ] dev-libs/glib-2.82.5:2::gentoo  USE="dbus elf introspection
> > (mime) static-libs xattr -debug -doc (-selinux) -sysprof -systemtap -test
> > -utils" ABI_X86="(64) -32 (-x32)" 0 KiB
> > [ebuild   R   ~] dev-util/gdbus-codegen-2.84.0::gentoo 
> > PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11 -python3_13" 0 KiB
> > [ebuild   R    ] dev-libs/gobject-introspection-1.82.0-r2::gentoo 
> > USE="-doctool -gtk-doc -test" PYTHON_SINGLE_TARGET="python3_12 -python3_10
> > -python3_11 -python3_13" 0 KiB
> 
> Thanks. The issue is newer gdbus-codegen without new enough glib. Can you
> try downgrade gdbus-codegen to 2.82* to check if I'm right?

Thank you, it works. After downgrade gdbus-codegen version same to dev-libs/glib, media-video/wireplumber build pass
Comment 9 Pavol Cizmarik 2025-03-18 15:19:44 UTC
I can confirm that downgrade to 2.82* worked too. I've built both pipewire and wireplumber without issues. Same version number of glib and gdbus-codegen solved it.
Thank you.
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-03-18 15:24:56 UTC
Thanks. The issue is that newer gdbus-codegen emits g_variant_builder_init_static opportunistically and older glib has no idea what that is.
Comment 11 Larry the Git Cow gentoo-dev 2025-03-19 01:21:41 UTC
The bug has been closed via the following commit(s):

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

commit 9ad9105aa3c17428af8679883fe5710eb514ffcf
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2025-03-19 01:20:00 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2025-03-19 01:20:00 +0000

    dev-util/gdbus-codegen: add blocker on <dev-libs/glib-${PV}
    
    I don't like blockers for this at all but it's what dev-libs/glib already
    does for dev-util/gdbus-codegen, we just need the other direction here.
    
    gdbus-codegen-2.84.0 emits code using g_variant_builder_init_static which
    needs glib-2.84.0 for building + linking against.
    
    Closes: https://bugs.gentoo.org/951313
    Closes: https://bugs.gentoo.org/951115
    Closes: https://bugs.gentoo.org/951345
    Signed-off-by: Sam James <sam@gentoo.org>

 .../{gdbus-codegen-2.84.0.ebuild => gdbus-codegen-2.84.0-r1.ebuild}      | 1 +
 1 file changed, 1 insertion(+)