Build error - 4.2, failing in qubes-gui-agent

First time building, I’m using builderv2 and I’m many hours into a ./qb package fetch prep build and getting a repeatable failure I can’t see where to go with.

The last non-[executor] log line is:
[build_deb] gui-daemon:vm-debian-11.amd64:debian: Provisioning local repository '/home/user/qubes-builderv2/artifacts/repository/vm-bullseye'.

stderr (not in the log files) gives:
Error: gui-agent-linux:vm-debian-11.amd64:debian: Failed to build packages: Failed to run 'sudo mkdir -p -- /builder /builder/build /builder/plugins /builder/distfiles&&sudo chown -R -- user:user /builder&&sed -i 's#@BUILDER_DIR@#/builder#g' /builder/pbuilder/pbuilderrc&&mkdir -p /builder/cache/aptcache&&/builder/plugins/build_deb/scripts/create-local-repo /builder/repository debian bullseye&&sudo -E pbuilder create --distribution bullseye --configfile /builder/pbuilder/pbuilderrc --othermirror "deb [trusted=yes] file:///tmp/qubes-deb bullseye main"&&sudo -E pbuilder build --override-config --distribution bullseye --configfile /builder/pbuilder/pbuilderrc --othermirror "deb [trusted=yes] file:///tmp/qubes-deb bullseye main" /builder/build/qubes-gui-agent_4.2.14-1+deb11u1.dsc&&/builder/plugins/build_deb/scripts/patch-changes /builder/build/qubes-gui-agent_4.2.14-1+deb11u1.dsc /builder/pbuilder/results/qubes-gui-agent_4.2.14-1+deb11u1_amd64.buildinfo /builder/pbuilder/results/qubes-gui-agent_4.2.14-1+deb11u1_amd64.changes' (status=1)..

Searching the log file for errors, I only see this right at the end:

[executor:docker:3764f8f90a30] output: cc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/qubes-gui-agent-4.2.14=. -fstack-protector-strong -Wformat -Werror=format-security -D_REENTRANT -I/usr/include/pipewire-0.3 -I/usr/include/spa-0.2 -I/usr/include/vchan-xen -fno-strict-aliasing -fno-strict-overflow -fno-delete-null-pointer-checks -fPIC -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -ggdb -O2 -c -o build/qubes-pw-module.o qubes-pw-module.c -MP -MD -MF build/qubes-pw-module.o.dep
[executor:docker:3764f8f90a30] output: qubes-pw-module.c: In function 'trigger_process':
[executor:docker:3764f8f90a30] output: qubes-pw-module.c:533:5: error: implicit declaration of function 'pw_stream_trigger_process' [-Werror=implicit-function-declaration]
[executor:docker:3764f8f90a30] output:   533 |     pw_stream_trigger_process(stream->stream);
[executor:docker:3764f8f90a30] output:       |     ^~~~~~~~~~~~~~~~~~~~~~~~~
[executor:docker:3764f8f90a30] output: qubes-pw-module.c: In function 'rt_set_stream_state':
[executor:docker:3764f8f90a30] output: qubes-pw-module.c:1030:24: error: implicit declaration of function 'pw_stream_is_driving' [-Werror=implicit-function-declaration]
[executor:docker:3764f8f90a30] output:  1030 |         bool driving = pw_stream_is_driving(stream->stream);
[executor:docker:3764f8f90a30] output:       |                        ^~~~~~~~~~~~~~~~~~~~
[executor:docker:3764f8f90a30] output: qubes-pw-module.c: In function 'stream_param_changed':
[executor:docker:3764f8f90a30] output: qubes-pw-module.c:1337:10: error: 'SPA_PARAM_Latency' undeclared (first use in this function); did you mean 'SPA_IO_Latency'?
[executor:docker:3764f8f90a30] output:  1337 |     case SPA_PARAM_Latency:
[executor:docker:3764f8f90a30] output:       |          ^~~~~~~~~~~~~~~~~
[executor:docker:3764f8f90a30] output:       |          SPA_IO_Latency
[executor:docker:3764f8f90a30] output: qubes-pw-module.c:1337:10: note: each undeclared identifier is reported only once for each function it appears in
[executor:docker:3764f8f90a30] output: qubes-pw-module.c: In function 'pipewire__module_init':
[executor:docker:3764f8f90a30] output: qubes-pw-module.c:1592:35: error: implicit declaration of function 'pw_context_get_work_queue'; did you mean 'pw_context_get_object'? [-Werror=implicit-function-declaration]
[executor:docker:3764f8f90a30] output:  1592 |     struct pw_work_queue *queue = pw_context_get_work_queue(context);
[executor:docker:3764f8f90a30] output:       |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
[executor:docker:3764f8f90a30] output:       |                                   pw_context_get_object   
[executor:docker:3764f8f90a30] output: qubes-pw-module.c:1592:35: error: initialization of 'struct pw_work_queue *' from 'int' makes pointer from integer without a cast [-Werror=int-conversion]
[executor:docker:3764f8f90a30] output: cc1: all warnings being treated as errors 
[executor:docker:3764f8f90a30] output: make[3]: *** [Makefile:19: build/qubes-pw-module.o] Error 1
[executor:docker:3764f8f90a30] output: make[3]: Leaving directory '/build/qubes-gui-agent-4.2.14/pipewire'
[executor:docker:3764f8f90a30] output: make[2]: *** [Makefile:81: pipewire/] Error 2
[executor:docker:3764f8f90a30] output: make[1]: *** [debian/rules:21: override_dh_auto_build] Error 2

I didn’t see anything in the issue tracker that looked related. There’s a change to the first file mentioned from a week ago. I’m not familiar with it but I can’t see how that would be the cause. I could try pinning the version of that module if anyone can tell me how.

Environment: fedora-40-xfce, builderv2 tag mm_3b31004e (4 commits behind current main), copied example-configs/qubes-os-r4.2.yml to builder.yml and edited to use the docker executor built with ./tools/ docker fedora-40-x86_64.

I’m minded just to start fresh with fedora-38-xfce, but as it’s taken something like 10 hours to get here and re-running from this point only takes 90 mins I thought I’d ask here first.

Maybe debian 11 template building is not supported anymore? Or at least pipewire part.
I’d remove debian 11 from builder.yml and try again.

1 Like

Yes, that’s it: Supported releases | Qubes OS

I’ve just pushed update to the example config to fix this.

1 Like

Thank you, do I need to rebuild from scratch?