File “/usr/lib/cups/filter/hpcups” not available: No such file or directory

Continuing the discussion from CUPS error HP printer:


Hello,
I have the same problem with CUPS, did you mange to solve it?
Im using: IPFire 2.29 (x86_64) - Core-Update 189
I have installed:
“avahi”
“cups”
“cups-filters”
“dbus”
“foomatic”
“ghostscript”
“hplip”
“libdaemon”
“libexif”

Tthe error I have:
“File “/usr/lib/cups/filter/hpcups” not available: No such file or directory”

After some searching on that error message it turns out that hplip has two flavours of printer driver.

The default driver is the CUPS Raster driver “hpcups” and as an alternative the older IJS-based “hpijs” driver is still available, but its development and support has been discontinued.

Looking through the installation of the hplip addon package the build for it has been defined with the --enable-hpijs-only-build since 2018.

Maybe at that time the hpcups driver was not stable enough and the hpijs driver had not been deprecated.

So the hpcups driver has just not been installed. For those printers that have ppd’s that work with the old hpijs driver they will work with no problems but I suspect there will be ppd’s for newer printers that will no longer work with the hpijs printer.

Normally this would be solved by updating the build of the hplip package to include the options

--enable-hpijs-install
--enable-hpcups-install
--enable-new-hpcups

However, as mentioned in the Core Update 190 Testing announcement in the deprecation section

https://www.ipfire.org/blog/ipfire-2-29-core-update-190-is-available-for-testing#add-ons

cups and all related packages, which will include hplip, will be removed from IPFire in two Core Updates, so early in the New Year.

Therefore any package update to fix this issue does not make sense.

3 Likes

I think its another area of Linux that does need to be worked on. But I think network shares (printer or drives) should be hosted on something else than the router.

cups is needed for the driver subsystem, but not necessarily for a print spooling. However its been awhile since anyone mentioned about using LPRng print, but theoretically that should work.