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)