Alyssa Ross writes: > Demi Marie Obenour writes: > >> On 11/8/25 14:49, Alyssa Ross wrote: >>> Demi Marie Obenour writes: >>> >>>> @@ -113,14 +76,15 @@ let >>>> >>>> kernel = linux_latest; >>>> >>>> - appvm = callSpectrumPackage ../../img/app { inherit (foot) terminfo; }; >>>> - netvm = callSpectrumPackage ../../vm/sys/net { inherit (foot) terminfo; }; >>>> + appvm = callSpectrumPackage ../../img/app { inherit (no_pgo_foot) terminfo; }; >>>> + netvm = callSpectrumPackage ../../vm/sys/net { inherit (no_pgo_foot) terminfo; }; >>>> >>>> # Packages that should be fully linked into /usr, >>>> # (not just their bin/* files). >>>> usrPackages = [ >>>> - appvm kernel.modules firmware netvm >>>> - ] ++ (with pkgsGui; [ mesa dejavu_fonts westonLite ]); >>>> + appvm kernel.modules firmware kmod kmod.lib >>>> + netvm mesa dejavu_fonts westonLite >>>> + ]; >>>> >>>> appvms = { >>>> appvm-firefox = callSpectrumPackage ../../vm/app/firefox.nix {}; >>> >>> So based on what we'd discussed previously, I was ready to just apply >>> this and pare down the Nix changes myself since I don't have to worry >>> about rebuilds, etc., but in doing so I came across this. Do you know >>> why kmod.lib is required? Is something impurely dlopening it? Seems >>> very strange, but I did verify that it's required for Weston to start. >> >> systemd uses dlopen heavily. This allows dependencies to be optional >> at runtime. I remember strace showing that systemd-udevd dlopen's >> kmod.lib. In short, your diagnosis is correct. > > Okay, that's a packaging bug in Nixpkgs then. (See e.g. [1].) I'll see > what can be done. > > [1]: https://github.com/NixOS/nixpkgs/commit/2328731ad041735a2260698574ce6599591f33ad I have looked into it a bit and am now even more confused. From what I can see, loading libkmod should be done by libsystemd-shared.so, which has kmod.lib in its RUNPATH.