Change:
The recent fixes to disable in hplip didn't seem to properly work on , making the whole package fail with a cryptic error. Additionally, due to a dependency failure in PyQt5, the package further refuses to build unless it's disabled. Steps to reproduce the behavior: an aarch64-linux user it fail due to PyQt5 failure that PyQt5 support can be disabled it fail again with -related errors hplip works n/a Current unstable as of writing this is . <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --cc as maintainer
cc as PyQt5 maintainer due to dependency failure - should a separate issue be filed for this?
Can reproduce. I ended up moving the print server to a x86-64 machine which was conveniently only a ~meter away from the RPi.
Also got bit by this on a RaspberryPi 4 server upgrade to 22.05. Did a bit of investigation, and came up with an overlay workaround (and hplip upgrade to 3.22.4) using a patch by the Debian crew: The meat of the issue comes down to the HP folks feeling the need to include their non-free x86/-64 'ImageProcessor' in the default build (even when the applicable flag is specified). So the community consensus is hoping that HP will fix/revert this, but until then everyone's just patching it out. Could this patch be to the patch list (and likely update hplip to 3.22.4) ?
This issue has been mentioned on NixOS Discourse. There might be relevant details there:

Discussion:
{ lib, stdenv, fetchurl, substituteAll <del> , pkg-config </del> <ins> , pkg-config, autoreconfHook </ins> , cups, zlib, libjpeg, libusb1, python3Packages, sane-backends , dbus, file, ghostscript, usbutils , net-snmp, openssl, perl, nettools, avahi

let pname = "hplip"; <del> version = "3.21.12"; </del> <ins> version = "3.22.6"; </ins> src = fetchurl { url = "mirror://sourceforge/hplip/${pname}-${version}.tar.gz"; <del> sha256 = "sha256-fvRSPvgbztcVFeHIhA72xoxgJjjBWebdmpJpHO7GT5w="; </del> <ins> sha256 = "sha256-J+0NSS/rsLR8ZWI0gg085XOyT/W2Ljv0ssR/goaNa7Q="; </ins> }; plugin = fetchurl { url = "https://developers.hp.com/sites/default/files/${pname}-${version}-plugin.run"; <del> sha256 = "sha256-eyYNhuff8mM4IpRfn/fLBjQJ23JrTdsHBQ/EH7Ug0gw="; </del> <ins> sha256 = "sha256-MSQCPnSXVLrXS1nPIIvlUx0xshbyU0OlpfLOghZMgvs="; </ins> }; hplipState = substituteAll {

nativeBuildInputs = [ pkg-config removeReferencesTo <ins> autoreconfHook </ins> ] ++ lib.optional withQt5 qt5.wrapQtAppsHook; pythonPath = with python3Packages; [

# don't on NixOS).  Add the equivalent NixOS path, /var/lib/cups/path/share. # See: https://github.com/NixOS/nixpkgs/issues/21796 ./hplip-3.20.11-nixos-cups-ppd-search-path.patch <ins> # Remove all ImageProcessor functionality since that is closed source (fetchurl { url = "https://sources.debian.org/data/main/h/hplip/3.22.4%2Bdfsg0-1/debian/patches/0028-Remove-ImageProcessor-binary-installs.patch"; sha256 = "sha256:18njrq5wrf3fi4lnpd1jqmaqr7ph5d7jxm7f15b1wwrbxir1rmml"; }) # Revert changes that break compilation under -Werror=format-security ./revert-snprintf-change.patch </ins> ]; postPatch = ''

-e s,/usr/share/cups/fonts,${ghostscript}/share/ghostscript/fonts,g  -e "s,ExecStart=/usr/bin/python /usr/bin/hp-config_usb_printer,ExecStart=$out/bin/hp-config_usb_printer,g"  {} + <ins> echo 'AUTOMAKE_OPTIONS = foreign' >> Makefile.am </ins> ''; configureFlags = let out = placeholder "out"; in

<ins> commit f103a260215016fc035bc1399c8accabf83b0264 Author: Claudio Bley <claudio.bley@gmail.com> Date:   Fri Jul 1 22:29:05 2022 +0200 Revert change to hp_ipp.c from 3.22.{4 -> 6} This fails compilation: ``` protocol/hp_ipp.c: In function ‘addCupsPrinter’: protocol/hp_ipp.c:113:9: error: format not a string literal and no format arguments [-Werror=format-security] 113 |         snprintf( info,sizeof(info), name ); |         ^~~~~~~~ ``` diff --git a/protocol/hp_ipp.c b/protocol/hp_ipp.c index 97d827d..af7013b 100644 --- a/protocol/hp_ipp.c +++ b/protocol/hp_ipp.c @@ -110,7 +110,7 @@ int addCupsPrinter(char *name, char *device_uri, char *location, char *ppd_file, } if ( info == NULL ) -        snprintf( info,sizeof(info), name ); +        strcpy( info, name ); sprintf( printer_uri, "ipp://localhost/printers/%s", name ); @@ -511,27 +511,27 @@ int __parsePrinterAttributes(ipp_t *response, printer_t **printer_list) if ( strcmp(attr_name, "printer-name") == 0 && val_tag == IPP_TAG_NAME ) { -                  snprintf(t_printer->name, sizeof(t_printer->name),ippGetString(attr, 0, NULL) ); +                  strcpy(t_printer->name, ippGetString(attr, 0, NULL) ); } else if ( strcmp(attr_name, "device-uri") == 0 && val_tag == IPP_TAG_URI ) { -                  snprintf(t_printer->device_uri,sizeof(t_printer->device_uri), ippGetString(attr, 0, NULL) ); +                  strcpy(t_printer->device_uri, ippGetString(attr, 0, NULL) ); } else if ( strcmp(attr_name, "printer-uri-supported") == 0 && val_tag == IPP_TAG_URI ) { -                  snprintf(t_printer->printer_uri,sizeof(t_printer->printer_uri), ippGetString(attr, 0, NULL) ); +                  strcpy(t_printer->printer_uri, ippGetString(attr, 0, NULL) ); } else if ( strcmp(attr_name, "printer-info") == 0 && val_tag == IPP_TAG_TEXT ) { -                  snprintf(t_printer->info,sizeof(t_printer->info), ippGetString(attr, 0, NULL) ); +                  strcpy(t_printer->info, ippGetString(attr, 0, NULL) ); } else if ( strcmp(attr_name, "printer-location") == 0 && val_tag == IPP_TAG_TEXT ) { -                  snprintf(t_printer->location,sizeof(t_printer->location),ippGetString(attr, 0, NULL) ); +                  strcpy(t_printer->location, ippGetString(attr, 0, NULL) ); } else if ( strcmp(attr_name, "printer-make-and-model") == 0 && val_tag == IPP_TAG_TEXT ) { -                  snprintf(t_printer->make_model,sizeof(t_printer->make_model),ippGetString(attr, 0, NULL) ); +                  strcpy(t_printer->make_model, ippGetString(attr, 0, NULL) ); } else if ( strcmp(attr_name, "printer-state") == 0 && val_tag == IPP_TAG_ENUM ) { </ins>