[Pkg-rust-maintainers] Bug#1083235: alacritty: Missing dependency for alacritty

James McCoy jamessan at debian.org
Sun Mar 23 01:21:56 GMT 2025


On Sat, Mar 22, 2025 at 11:52:21PM +0100, NoisyCoil wrote:
>I cannot reproduce without uninstalling half of my system (libxkbcommon-x11-0
>has a ton of transitive reverse dependencies), but this bug makes sense:
>rust-xkbcommon-dl uses rust-dlib to load xkbcommon-x11, rust-dlib internally
>uses dlopen, and AFAICS dlopen is not detected by dh_shlibdeps.

The whole point of dlopen is to make the library optional. Alacritty is 
built to support either x11 or wayland. Depending on libxkbcommon-x11 
when someone is using wayland doesn't make much sense, just like 
depending on libwayland-client0 for someone using x11 wouldn't make 
sense.

Really, anything that will build with winit would need to bubble up 
these relationships.

This is a general problem across Debian for things that can opt in to 
using libraries via dlopen. Since this is a soft dependency, there are 
also issues related to library transitions and partial upgades.

The options to me seem to either be:

1. Status quo; expect that alacritty will be installed into an 
    environment that already has the libraries for the desktop 
    environment they're running, which seems to be typical. If the 
    library is missing, then the user gets a pretty clear message, as 
    seen in this bug report.
2. Build alacritty-x11 / alacritty-wayland packages and disable any use 
    of dlopen down the stack. However, this forces the user to make a 
    choice based on knowledge they may not have about what their 
    environment is built on.

A possible 1a would be to add Recommends for the various libraries that 
get dlopened. This would enable not installing, e.g., libwayland-client0 
if not using wayland. However, it doesn't address the other issues of 
dynamic loading.

Cheers,
-- 
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7  2D23 DFE6 91AE 331B A3DB



More information about the Pkg-rust-maintainers mailing list