!ayCRiZriCVtuCUpeLp:nixos.org

Nix Cross Compiling

581 Members
129 Servers

Load older messages


SenderMessageTime
25 Jan 2026
@dramforever:matrix.orgdramforeverlemme give it a try13:24:06
@matthewcroughan:defenestrate.itmatthewcroughanFunny enough, system closures end up smaller if you cross compile instead of native13:24:32
@matthewcroughan:defenestrate.itmatthewcroughanlike I have a small nixos closure built with gnu-llvm-musl, and it comes out smaller than the one build without the gnu cross stuff13:24:51
@matthewcroughan:defenestrate.itmatthewcroughana few megabytes13:24:55
@matthewcroughan:defenestrate.itmatthewcroughanthere's also an accidental linkage to the llvm toolchain that occurs in the native setup that adds 40M13:25:29
@matthewcroughan:defenestrate.itmatthewcroughanbut even when that is corrected for, the cross-compiled setup produces smaller closures13:25:41
@dramforever:matrix.orgdramforeveroh, got tricked by parallel build13:30:48
@dramforever:matrix.orgdramforever yeah it's compiling that with gcc aka $CC_FOR_BUILD 13:31:07
@dramforever:matrix.orgdramforeverwhich is std=c2313:31:09
@dramforever:matrix.orgdramforever

it's this line

gcc -c  -DHAVE_CONFIG_H -DSHELL -I. -I..  -I.. -I../include -I../lib -I.  -Wno-parentheses -Wno-format-security   -g -DCROSS_COMPILING mkbuiltins.c
13:31:25
@dramforever:matrix.orgdramforever has nothing to do with the aarch64-unknown-linux-musl-clang line 13:31:43
@dramforever:matrix.orgdramforever lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) does fix it 13:36:15
@dramforever:matrix.orgdramforeveri'm guessing if you don't condition it on cross it breaks the native bootstrap instead?13:36:44
@matthewcroughan:defenestrate.itmatthewcroughanoooh yeah13:37:06
@matthewcroughan:defenestrate.itmatthewcroughanI see13:37:08
@matthewcroughan:defenestrate.itmatthewcroughan dramforever: next is iproute2 14:46:28
@matthewcroughan:defenestrate.itmatthewcroughanhttps://termbin.com/sz5114:47:02
@matthewcroughan:defenestrate.itmatthewcroughan utils_math.c43:136:13: error: | #define SIOCGSTAMPNS use of undeclared identifier 'UINT_MAX'SI 14:47:29
@rick:matrix.ciphernetics.nlRick (Mindavi)Missing include maybe? But would be strange vs normal compilation15:14:09
26 Jan 2026
@matthewcroughan:defenestrate.itmatthewcroughan Mindavi: looks like it happens both on native and cross 15:39:22
@matthewcroughan:defenestrate.itmatthewcroughanThis is the only thing blocking me from bumping https://github.com/MatthewCroughan/nixos-musl15:40:39
@matthewcroughan:defenestrate.itmatthewcroughan maybe Grimmauld (any/all) knows? 15:40:48
@grimmauld:m.grimmauld.deGrimmauld (any/all)

no idea, iproute basically just works. Though i do run this:

{
  lib,
  ...
}:

{
  nixpkgs.overlays = [
    (final: prev: {
      networkmanager = prev.networkmanager.overrideAttrs (old: {
        mesonFlags = lib.filter (f: !(lib.hasPrefix "-Diptables=" f)) old.mesonFlags or [ ];
      });
      iproute2 = prev.iproute2.override {
        iptables = null;
      };
      nftables = prev.nftables.override { withXtables = false; };
    })
  ];
  networking.nftables.enable = true;
  system.forbiddenDependenciesRegexes = [ "iptables" ];
}

No need for iptables if one can have nftables, might as well remove it from iproute. Maybe i got lucky and removed the bad code with that? Who knows

15:48:39
@matthewcroughan:defenestrate.itmatthewcroughanis nftables the default in nixpkgs yet?15:51:55
@grimmauld:m.grimmauld.deGrimmauld (any/all)not yet15:52:10
@grimmauld:m.grimmauld.deGrimmauld (any/all)but its one of those things that is just better than the default15:52:23
@matthewcroughan:defenestrate.itmatthewcroughanyeah, for sure15:53:07
@matthewcroughan:defenestrate.itmatthewcroughanIn nixos-musl, if I add those, iproute still ends up in the graph15:56:22
@matthewcroughan:defenestrate.itmatthewcroughanimage.png
Download image.png
15:56:26
@matthewcroughan:defenestrate.itmatthewcroughan remember this is for pkgs.nixos {} all defaults, maybe you've got some more config that somehow gets rid of iproute from the systemPackages too 15:57:08

Show newer messages


Back to Room ListRoom Version: 6