Seems like libicu was recently bumped from 76 to 78. I had to rebuild a couple packages to pick up the changes:
cd ~/.cache/yay/lib32-libxml2-legacy/
makepkg -cfi
cd ~/.cache/yay/capt-src/
makepkg -cfi
FWIW, I was able to debug by stracing the ccp daemon:
systemctl start ccpd.service && sleep 0.5 && sudo ps ax | grep ccpd
# Read process IDs from output of ps command above e.g., 123 and 127 used as examples here
sudo strace -o ccpdSystemCallTrace.txt --follow-forks --string-limit 0 --decode-fds --attach 123 --attach 127
Also, when it tries and fails to load e.g., /usr/lib32/libicuuc.so.76, the file descriptor seems to get leaked and never closes. The process seems to just keep trying and retrying to load the library until the kernel says "you already have too many unclosed file requests, I'm cutting you off". You can give yourself a little more time to catch the earlier, more relevant error messages about not finding the library by raising the kernel's file limit:
- Open
/usr/lib/systemd/system/ccpd.servicein an editor - Find the
[Service]section - Add this line to the section to increase the number of file handles:
LimitNOFILE=4096 - Save the file
- Restart the ccpd service (
systemctl restart ccpd.service) and immediately start your trace as above. - After debugging, remember to comment out the temporary increase by adding a hash/octothorpe at the start of the line e.g.,
# LimitNOFILE=4096
Pinned Comments
reztho commented on 2020-06-11 14:55 (UTC) (edited on 2020-06-11 18:47 (UTC) by reztho)
Do not expect this driver to work in the near future if Canon doesn't release a new version soon. This driver is from 2017 and the GCC environment started deprecating a lot of stuff used by this driver. Please, ask for better Linux support to Canon.
Do not flag this package out of date if there's no new version available. That's bad community behavior. A comment telling about the issue is enough.
If your machine uses the x86_64 arch, the multilib pacman repo will be needed for this driver: https://wiki.archlinux.org/index.php/Official_repositories#multilib
For an alternative 100% open source driver although not official by Canon, go to: https://aur.archlinux.org/packages/captdriver-git/
buovjaga commented on 2020-01-09 10:33 (UTC)
Re: driver deprecation - the CUPS creator opened this issue to discuss how to handle old devices: https://github.com/apple/cups/issues/5271
From one of his comments: "Before we drop PPDs, we will be working with developers to create those printer applications (particularly Gutenprint), and will likely end up creating our own printer application (based on the existing ippserver sample code) to support existing PostScript and CUPS raster drivers. So the goal is definitely not to leave people SOL, but rather to plan for a future where we aren't limited by the capabilities of the past."
reztho commented on 2019-10-06 11:44 (UTC)
Now you'll see this warning message: lpadmin: Printer drivers are deprecated and will stop working in a future version of CUPS.
Not sure what this will mean for the future with this driver.