Skip to content

sdl/3.x: add missing libdecor system dependency - #30794

Open
melak47 wants to merge 1 commit into
conan-io:masterfrom
melak47:master
Open

sdl/3.x: add missing libdecor system dependency#30794
melak47 wants to merge 1 commit into
conan-io:masterfrom
melak47:master

Conversation

@melak47

@melak47 melak47 commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a missing system dependency.

Motivation

Fixes ##30793.

Details

Adds a system_lib dependency for libdecor-0 when using static wayland.


  • Read the contributing guidelines
  • Checked that this PR is not a duplicate: list of PRs by recipe
  • If this is a bug fix, please link related issue or provide bug details
  • Tested locally with at least one configuration using a recent version of Conan

Add a 👍 reaction to pull requests you find important to help the team prioritize, thanks!

@melak47 melak47 changed the title sdl: add missing libdecor system dependency sdl/3.x: add missing libdecor system dependency Aug 14, 2026
@jcar87

jcar87 commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Thanks @melak47 for your PR.

I'd say that this is probably one of those cases where "if libdecor if found, use it" in the sdl3 build scripts - causing this issue for you. It isn't found at build time on our CI, so for example using our binaries would not have those issues.

We cannot add a dependency on a system library like this because there is no guarantee it is actually installed on users environments. Instead, I would suggest to make the recipe actually repeatable (rather than leave it to chance), and pass SDL_WAYLAND_LIBDECOR to OFF.

@melak47

melak47 commented Aug 14, 2026

Copy link
Copy Markdown
Contributor Author

Thanks @melak47 for your PR.

I'd say that this is probably one of those cases where "if libdecor if found, use it" in the sdl3 build scripts - causing this issue for you. It isn't found at build time on our CI, so for example using our binaries would not have those issues.

We cannot add a dependency on a system library like this because there is no guarantee it is actually installed on users environments. Instead, I would suggest to make the recipe actually repeatable (rather than leave it to chance), and pass SDL_WAYLAND_LIBDECOR to OFF.

I don't really want to turn off libdecor support, though;
there are other options in this recipe which enable dependencies on other system libraries; could we not do the same here?

I suppose that might need a patch to make SDL's cmake script require libdecor then, not silently disable the support if it isn't found...

@jcar87

jcar87 commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Thanks @melak47 for your PR.

I don't really want to turn off libdecor support, though; there are other options in this recipe which enable dependencies on other system libraries; could we not do the same here?

I suppose that might need a patch to make SDL's cmake script require libdecor then, not silently disable the support if it isn't found...

The only system dependencies that recipes should rely on are those that Conan can guarantee to install from the system package manager (e.g the recipes with a "system" version like x11, opengl, etc), or those that are guaranteed to be present on every system (e.g. macOS system frameworks, pthread, libm, etc).

In this case, I dont even think this strictly a system dependency ("part of the OS"), but rather a dependency that we dont currently have modeled in Conan yet

The solution to #30793 is to disable the automatic detection of libdecor and disable it. The solution to "i need libdecor" is to create a recipe for it.

Merging this PR will cause users on systems where libdecor is not installed by the system package, to get a different type of linker error. Disabling libdecor will at least guarantee that it links for everyone, regardless of where it was built.

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.

2 participants