nixpkgs
nixpkgs copied to clipboard
Build failure: linuxKernel.kernels.linux_lqx
Steps To Reproduce
Steps to reproduce the behavior:
- Switch kernel to LQX (
boot.kernelPackages = pkgs.linuxPackages_lqx;
)
Build log
https://gist.github.com/GGG-KILLER/e27fd7b8726e164933801eeca798c341
Important lines:
error: option not set correctly: ZSWAP_COMPRESSOR_DEFAULT (wanted 'lz4', got 'zstd')
error: option not set correctly: ZSWAP_COMPRESSOR_DEFAULT_LZ4 (wanted 'y', got 'n')
Additional context
None.
Notify maintainers
@JerrySM64
Metadata
Please run nix-shell -p nix-info --run "nix-info -m"
and paste the result.
Revision of nixpkgs: 6143fc5eeb9c4f00163267708e26191d1e918932
- system: `"x86_64-linux"`
- host os: `Linux 6.8.6-lqx2, NixOS, 24.05 (Uakari), 24.05.20240502.63c3a29`
- multi-user?: `yes`
- sandbox: `yes`
- version: `nix-env (Nix) 2.21.2`
- nixpkgs: `/nix/store/p69bcs7ma6ijj8v9xsrg3nq3nn8ryn95-source`
Add a :+1: reaction to issues you find important.
That's odd. It seems like Nix tried to use zstd instead of lz4. That's not what's supposed to happen at all, as it's declared to use lz4 in the source file as seen here:
Did you do any modifications to the kernel in your configuration?
Nope, all I have is boot.kernelPackages
set to pkgs.linuxPackages_lqx
in my config:
I tried to switch to
boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_lqx.override {
structuredExtraConfig = with lib.kernel; {
ZSWAP_COMPRESSOR_DEFAULT = lib.mkForce (freeform "lz4");
ZSWAP_COMPRESSOR_DEFAULT_LZ4 = lib.mkForce (option yes);
};
});
but it keeps trying to use zstd for some reason
Then it seems like your configuration forces to use zstd somewhere. I'll look through your config and let you know if I find something.
Before checking my config, I pulled latest NixOS/nixpkgs master
and ran nix build
for lqx, it seems to be broken on master:
Well, the screenshot from the code, I provided earlier is from master. It's declared to use lz4 for both Zen and Liquorix. That's why I'm so confused about it.
I think #302300 might be related to this, it changed the base kernel settings to always use zstd
Okay, can you try, building the Zen kernel for me real quick, please? If that also fails, I will ask in that one over there.
I don't have a NixOS x86 installation on hand since I switched to my Mac because of power draw so, I can't test it myself right now.
Zen seems to be building, it just copied from the binary cache instead of attempting to build (like LQX was doing)
Zen seems to be building, it just copied from the binary cache instead of attempting to build (like LQX was doing)
So as it's supposed to. Interesting.
Why does the binary cache not have the Liquorix one then? Because it can't build it, I know. The question, I'm having is why does Liquorix fail in the first place? It basically is the same except for additional (unrelated) tweaks.
@thiagokokada do you know what's going on here?
I mean, LQX seems to be the only one with the lz4 tweaks (since the ZSWAP stuff is behind a optionalAttrs (isLqx)
), I've done the following and got LQX to build as well:
boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_lqx.override {
structuredExtraConfig = with lib.kernel; {
ZSWAP_COMPRESSOR_DEFAULT_ZSTD = lib.mkForce (option no);
};
});
Okay. I'll setup up a NixOS x86 system later and fix it. I have to update the kernels anyway.
Now that I went through the code more focused, I read the file wrong earlier. Sorry about that!
Actually it has been fixed in this PR already: #311793 PR for updated kernels is also up now. Sorry that it took so long. Got distracted with Alpine Linux.
Anyway, this issue should now be fixed. Closing.