Skip to content

cmake: link libwayland-client when GTK3 has the Wayland backend - #21865

Open
da-phil wants to merge 1 commit into
darktable-org:masterfrom
da-phil:pl/fix_missing_libwayland_client_linking
Open

cmake: link libwayland-client when GTK3 has the Wayland backend#21865
da-phil wants to merge 1 commit into
darktable-org:masterfrom
da-phil:pl/fix_missing_libwayland_client_linking

Conversation

@da-phil

@da-phil da-phil commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

This is a first step of fixing the currently failing SuSE OBS builds, by explicitly linking against wayland client when GTK3 has the wayland backend.
gui/gtk.c calls into libwayland-client directly to detect server-side decoration support, but gtk+-3.0.pc does not list wayland-client. The symbols were only resolved by accident, via libgdk-3's own DT_NEEDED, which breaks on distros linking with -Wl,--no-undefined, e.g. openSUSE puts it in the default LDFLAGS.

The following builds are failing since around 2026-02-07 due to this issue:

  • openSUSE_Tumbleweed
  • openSUSE_Tumbleweed_ARM
  • openSUSE_Tumbleweed_PowerPC
  • openSUSE_Tumbleweed_RISCV

I'm currently also looking into fixing the issue that darktable-mcp is built but not packaged within the OBS builds:

Fedora / RPM
error: Installed (but unpackaged) file(s) found:
   /usr/bin/darktable-mcp
   /usr/lib/debug/usr/bin/darktable-mcp-5.7.0~git520...debug

Debian / Ubuntu
dh_missing: warning: usr/bin/darktable-mcp exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/darktable/mcp-tools.json exists in debian/tmp but is not installed to anywhere
dh_missing: error: missing files, aborting

This is going to be fixed within the OBS repo, by adding darktable-mcp to the darktable.spec, darktable.dsc and debian.tar.xz files.

gui/gtk.c calls into libwayland-client directly to detect server-side
decoration support, but gtk+-3.0.pc does not list wayland-client. The
symbols were only resolved by accident, via libgdk-3's own DT_NEEDED,
which breaks on distros linking with `-Wl,--no-undefined`, e.g.
openSUSE puts it in the default LDFLAGS.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant