Builder: Missing packages xfconf-devel libxfce4ui-devel

Running Qubes Builder gives some errors. I find no mention of them in issues or the forum. Does anyone have an idea what to do about this?

It can’t find packages xfconf-devel libxfce4ui-devel. I tried installing the packages globally and under the chroot, and they install successfully in both places, but it still gives the same error.

I’m running on fully updated Qubes 4.1, in a fresh qube based on a fully updated Fedora 38 template. There’s a script capture of the full terminal session here:

-> Building desktop-linux-xfce4-xfwm4 (xfwm4.spec) for fc32 dom0 (logfile: build-logs/desktop-linux-xfce4-xfwm4-dom0-fc32.log)
sudo BACKEND_VMM=xen  dnf builddep --spec --installroot=/home/user/qubes-builder/chroot-dom0-fc32 --installroot=/home/user/qubes-builder/chroot-dom0-fc32  -y /home/user/qubes-builder/chroot-dom0-fc32/home/user/qubes-src/desktop-linux-xfce4-xfwm4/xfwm4.spec.parsed
Qubes OS Builder Repository                     3.0 MB/s | 3.0 kB     00:00    
Package desktop-file-utils-0.24-2.fc32.x86_64 is already installed.
Package gcc-c++-10.3.1-1.fc32.x86_64 is already installed.
Package gettext-0.21-1.fc32.x86_64 is already installed.
Package intltool-0.51.0-16.fc32.noarch is already installed.
Package libXcomposite-devel-0.4.5-2.fc32.x86_64 is already installed.
Package libXdamage-devel-1.1.5-2.fc32.x86_64 is already installed.
Package libXext-devel-1.3.4-3.fc32.x86_64 is already installed.
No matching package to install: 'libxfce4ui-devel >= 4.16'
Package make-1:4.2.1-16.fc32.x86_64 is already installed.
No matching package to install: 'xfconf-devel >= 4.16'
Not all dependencies satisfied
Error: Some packages could not be found.
make[2]: *** [/home/user/qubes-builder/qubes-src/builder-rpm/Makefile-legacy.rpmbuilder:58: dist-build-dep.spec] Error 1
make[2]: Leaving directory '/home/user/qubes-builder'
make[1]: *** [Makefile.generic:197: packages] Error 1
make[1]: Leaving directory '/home/user/qubes-builder'
make: *** [Makefile:273: desktop-linux-xfce4-xfwm4-dom0] Error 1

Seems to be some problem with dependencies. For Fedora 32 xfconf-devel package last version available is xfconf-devel-4.14.3-1.fc32.x86_64:
You can try to search which package requires the xfconf-devel version to be >= 4.16.

It looks like it’s hardcoded into the repo. There’s a version file with the string.

$ cat version

The Makefile pulls that into a var.

VERSION := $(file <version)

Then the RPM spec passes it down.

%global xfceversion %(version=@VERSION@; echo ${version%\.*})
BuildRequires:  libxfce4ui-devel >= %{xfceversion}
BuildRequires:  xfconf-devel >= %{xfceversion}

Maybe I’ve got bleeding edge code that doesn’t build yet.

Maybe the 4.16.1 version should’ve been installed from built desktop-linux-xfce4-xfwm4 but its build is failing:

-> Building desktop-linux-xfce4-xfwm4 (xfwm4.spec) for fc32 dom0 (logfile: build-logs/desktop-linux-xfce4-xfwm4-dom0-fc32.log)
--> build failed!

Check the log file.

But that’s just a guess, I’m not sure how the builder works.

Well, I tried to build R4.1 and R4.2 but they both fail with different errors. Guess I’ll wait a while and hope an update resolves the build error on the edge.

You can try qubes-builderv2

Worth trying!

From the logs you provided, it looks like you are pulling the main branch, which contains all the changes for Qubes 4.2.

Make sure you use the release4.1 branch instead. Check in example-configs, you will find a template for Qubes 4.1 that uses this branch.


Well, v2 failed on a missing file, during the prep stage.

07:32:26,116 [executor:local:/home/user/tmp/1378340942917288a2ced42/builder] output: sed: can’t read /home/user/tmp/137834094394320362afaf4/builder/gui-agent-linux/debian/control: No such file or directory

I tried release4.1 and release4.2, from those example configs. They gave new errors, both different from the one in OP.

I’ve now got 4 different errors trying to build Qubes :frowning:

Use qubes executor instead.
Related issue with local executor:

That’s what I tried at first, but it errors when trying to open a disposable. Had to switch to local just to get it running at all.

Maybe SELinux problem?

Do you use a custom builder.yml? Can you try with qubes-os-main.yml or qubes-os-r4.2.yml?

Got further with v2! prep passed and a good chunk of build succeeded. Think I must have had a typo in policy the first time.

It seems to be failing while building the kernel. There’s an old issue with the same error message, but it doesn’t give a solution. Does anyone have any ideas about this? The full log is here. I think this is the relevant error:

Bad exit status from /var/tmp/rpm-tmp.YefUiS (%build)

Do you use a custom builder.yml? Can you try with qubes-os-main.yml or qubes-os-r4.2.yml ?

Both attempts used the standard config file for R4.2.

I guess this one should be relevant:

2023-12-29 14:25:02,160 [executor:qubes:disp9518] output: DEBUG: /usr/bin/ld: section VMA [0000000000400120,0000000000400143] overlaps section .bss VMA [000000000000f000,000000000041e1b7]
2023-12-29 14:25:02,165 [executor:qubes:disp9518] output: DEBUG: collect2: error: ld returned 1 exit status

But I don’t know why are sections overlap.

Strange. I don’t know what could cause that.

I’m going to try the main config and see what happens.

It failed to build grub2 from the logs.
I just tried to build it with the docker executor and I was able to do so without any problems.

Can you try to build it separately with this command:

./qb -c grub2 package build

Alright, will try it after this new run finishes.

It seems like grub2 was already built. This is the entire log.

2023-12-29 21:51:58,599 [build_rpm] grub2:host-fedora-37.x86_64: Source hash is the same than already built source. Skipping.

But looking in the bigger log, this linux-pvgrub2 component fails to build. I tried building it on its own. It seems to give the same error. I’m not sure what to think about the error. Full log is here.

$ ./qb -c linux-pvgrub2 package build
2023-12-29 21:59:59,269 [executor:qubes:disp8108] output: DEBUG:     Bad exit status from /var/tmp/rpm-tmp.Rpdg3T (%build)

(And the build stage with the main config failed with another new error.)