Still can't print after 6 months (Canon MF445dw) -- at the end of my rope

Success…

I followed your advice and after fiddling around again with the CUPS options ended up with the following for the Canon MF655Cdw

# /etc/nixos/configuration.nix
...
  # printing
  services.printing.enable = true;
  services.avahi.enable = true;
  services.avahi.nssmdns = true;
  services.avahi.openFirewall = true;
...

And for CUPS:

Driver: IPP Everywhere 
Connection: socket://printer.home

Since I moved the connection FROM ipp:// TO socket:// it has been printing correctly using IPP Everywhere.

Thanks for your inputs.

@wynandm
That’s great! Congratulations on getting it to work, finally. Tenacity seems to be as important as anything else, with NixOS :slight_smile:

2 Likes


It seems the driver has the problem.

Anyway, my printer works fine without the driver

Can someone upstream all these necessary options that make printing ‘really’ work, to be enabled by default whenever printing.enable is set?

1 Like

This is broken (again). In previous unstable, explicitly including the driver,

 drivers = [ pkgs.canon-cups-ufr2 ];

worked :slight_smile: (i.e., the driver built and installed fine), allowing full printer functionality. That’s now gone south:

Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking source archive /nix/store/5v3gg0srx7lc2k59y24pwlpmhjyfvl5i-linux-UFRII-drv-v600-m17n-00.tar.gz
  /nix/store/wdap4cr3bnm685f27y9bb6q5b6q18msl-coreutils-9.5/bin/install -c pdftocpca '/nix/store/nwxj5wdhp35b2niwl6xw4qapsngbkfnn-canon-cups-ufr2-6.00/lib/cups/filter'
make[2]: Leaving directory '/build/linux-UFRII-drv-v600-m17n/cnrdrvcups-lb-6.00/pdftocpca'
make[1]: Leaving directory '/build/linux-UFRII-drv-v600-m17n/cnrdrvcups-lb-6.00/pdftocpca'
installPhase completed in 2 minutes 9 seconds
Running phase: dropIconThemeCache
@nix { "action": "setPhase", "phase": "dropIconThemeCache" }
Running phase: fixupPhase
@nix { "action": "setPhase", "phase": "fixupPhase" }
checking for references to /build/ in /nix/store/nwxj5wdhp35b2niwl6xw4qapsngbkfnn-canon-cups-ufr2-6.00...
patching script interpreter paths in /nix/store/nwxj5wdhp35b2niwl6xw4qapsngbkfnn-canon-cups-ufr2-6.00
stripping (with command strip and flags -S -p) in  /nix/store/nwxj5wdhp35b2niwl6xw4qapsngbkfnn-canon-cups-ufr2-6.00/lib /nix/store/nwxj5wdhp35b2niwl6xw4qapsngbkfnn-canon-cups-ufr2-6.00/bin
ERROR: noBrokenSymlinks: the symlink /nix/store/nwxj5wdhp35b2niwl6xw4qapsngbkfnn-canon-cups-ufr2-6.00/lib/libuictlufr2r.so.1 points to a missing target /nix/store/nwxj5wdhp35b2niwl6xw4qapsngbkfnn-canon-cups-ufr2-6.00/lib/lib>
ERROR: noBrokenSymlinks: the symlink /nix/store/nwxj5wdhp35b2niwl6xw4qapsngbkfnn-canon-cups-ufr2-6.00/lib/libuictlufr2r.so points to a missing target /nix/store/nwxj5wdhp35b2niwl6xw4qapsngbkfnn-canon-cups-ufr2-6.00/lib/libui>
ERROR: noBrokenSymlinks: found 2 dangling symlinks and 0 reflexive symlinks

Canon’s Linux current driver package (UFR II/UFRII LT Printer Driver for Linux V6.00) installed and worked previously, and has not changed since it was released 09.13.24. I will check again in a few weeks, but this is frustrating: I don’t see why it’s failing to build now if it built successfully before, and doesn’t depend on anything it doesn’t provide itself. How can symlinked targets be missing if they weren’t missing before? Alternatively, were such errors ignored previously, and noBrokenSymlinks a new (more stringent) build rule? I greatly appreciate any insight or suggestions.

Yes, there’s a new setup hook that’s causing (some? many?) packages to fail at build time: stdenv: add no-broken-symlinks hook by ConnorBaker · Pull Request #370750 · NixOS/nixpkgs · GitHub

1 Like

Thanks @bjornfor for this — I appreciate the link! :grinning: