Can't build gnome-software (primary-selection-unstable-v1.xml error)

I’ve been trying to build gnome-software based on the steps in the README. When I run the first step (running meson), I found that I kept running into (undocumented!) missing dependencies, so I just kept running meson and apt installing the dependencies as best as I could. I’m not mentioning this just to rant, I’m mentioning it in case it’s relevant to the error below.

Finally, meson has stopped giving me dependency errors, but now it’s giving me this message:

subprojects/gtk/gdk/wayland/meson.build:81:4: ERROR: Sandbox violation: Tried to grab file primary-selection-unstable-v1.xml outside current (sub)project.

Which is an error I can’t get out of by just covering my eyes and running apt. Any insights?

Oh yeah, here’s the meson log (somebody really ought to update this forum so you can attach text files to posts).

your build is rebuilding gtk, so that is why it needs these dependencies

Run-time dependency gtk4 found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency gtk4

so install gtk 4 first and it will not require these

Thanks, that cleared that error. I’m hitting another dependency issue:

meson.build:139:0: ERROR: Dependency "json-glib-1.0" not found, tried pkgconfig and cmake

Should I just keep plugging away with APT, or is there some shortcut I can take?

apt build-dep gnome-software will install dependencies for the apt version, which will probably cover most of the latest dependencies

Well, that nearly worked, but I still had to install libsoup manually:

sudo apt install libsoup-3.0-dev

However, when I go through with the rest of the build steps and run the built binary as specified in the readme, I now hit:

22:02:17:910 libsoup libsoup3 symbols detected. Using libsoup2 and libsoup3 in the same process is not supported.

and a crash.

you probably have some dependencies from distro (which depend on 2) and some rebuilt by meson (which depend on 3). can you share log again please?

Sure:

https://pastebin.com/raw/G0FRsdCj

Pass -Dsoup2=true to meson configure to force gnome-software to build against libsoup2, since that’s what your system dependencies are using.