Arm SD image build fails to build pkgs.gutenprint

Trying to get my old Pi 3B+ to be a print server but the build is failing if I include gutenprint as a package. other than that single package the build works and it boots fine on the Pi.

sd-image.nix

{ ... }: 
{

  nixpkgs.crossSystem.system = "aarch64-linux";

  imports = [
    <nixpkgs/nixos/modules/installer/sd-card/sd-image-aarch64.nix>
    ./cups.nix
  ];

  hardware.enableRedistributableFirmware = true;

  system.stateVersion = "24.11";
}

cups.nix

{ pkgs, ... }:
{

  services = {

    printing = {
      enable = true;
      listenAddresses = [ "*:631" ];
      allowFrom = [ "all" ];
      browsing = true;
      defaultShared = true;
      openFirewall = true;
    };

    avahi = {
      enable = true;
      nssmdns4 = true;
      openFirewall = true;
      publish = {
        enable = true;
        userServices = true;
      };
    };

    printing.drivers = with pkgs; [
      gutenprint
    ];
    
  };

}

Error from build log

error: builder for '/nix/store/1ra7fq3h82dsfwj8jcc6b8z2gg2yqmh4-gutenprint-aarch64-unknown-linux-gnu-5.3.4.drv' failed with exit code 2;
       last 25 log lines:
       > rm -f xml-stamp xml-stamp.tmp
       > touch xml-stamp.tmp
       > for f in standard.xml labels.xml ; do echo $f >> xml-stamp.tmp; done
       > mv xml-stamp.tmp xml-stamp
       > make[4]: Leaving directory '/build/gutenprint-5.3.4/src/xml/papers'
       > Making all in printers
       > make[4]: Entering directory '/build/gutenprint-5.3.4/src/xml/printers'
       >   CC       check_duplicate_printers.test.o
       > check_duplicate_printers.test.c: In function 'main':
       > check_duplicate_printers.test.c:38:7: warning: ignoring return value of 'freopen' declared with attribute 'warn_unused_result' []
       >    38 |       freopen(path, "w", stdout);
       >       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~
       >   CCLD     check_duplicate_printers.test
       > STP_MODULE_PATH=../../../src/main/.libs:../../../src/main STP_DATA_PATH=../../../src/xml ./check_duplicate_printers.test
       > ./check_duplicate_printers.test: line 117: /build/gutenprint-5.3.4/src/xml/printers/.libs/lt-check_duplicate_printers.test: cannot execute binary file: Exec format error
       > ./check_duplicate_printers.test: line 117: /build/gutenprint-5.3.4/src/xml/printers/.libs/lt-check_duplicate_printers.test: Success
       > make[4]: *** [Makefile:1143: xml-stamp] Error 126
       > make[4]: Leaving directory '/build/gutenprint-5.3.4/src/xml/printers'
       > make[3]: *** [Makefile:572: all-recursive] Error 1
       > make[3]: Leaving directory '/build/gutenprint-5.3.4/src/xml'
       > make[2]: *** [Makefile:481: all-recursive] Error 1
       > make[2]: Leaving directory '/build/gutenprint-5.3.4/src'
       > make[1]: *** [Makefile:597: all-recursive] Error 1
       > make[1]: Leaving directory '/build/gutenprint-5.3.4'
       > make: *** [Makefile:528: all] Error 2

Build command

nix-build '<nixpkgs/nixos>' -A config.system.build.sdImage -I nixos-config=./sd-image.nix

I have followed NixOS on ARM, NixOS on ARM/Raspberry Pi, and Printing to the letter. Not finding anyone having anything like this problem online.

nixos-version
25.05.802746.7282cb574e06 (Warbler)