Epson printer driver missing file (that isn't missing)

Recently updated to 15, tried to print today for the first time on my epson printer. The print jobs just hang with pending status in the print queue dialog with the message:

File "/opt/epson-inkjet-printer-escpr/cups/lib/filter/epson-escpr-wrapper" not available: No such file or directory.

However, the file does in fact exist. Permissions on said file are:

-rwxr-xr-x 1 root root 14480 Jun 27 23:46 /opt/epson-inkjet-printer-escpr/cups/lib/filter/epson-escpr-wrapper

I’m assuming this is an issue with a link somewhere, although I’m not sure how to track it down. There are no errors from libkcups in the systemd journal.
This is an epson driver downloaded from their website, not an open source driver.

Check the file architecture

file /opt/epson-inkjet-printer-escpr/cups/lib/filter/epson-escpr-wrapper

and any dependency issues as well

ldd /opt/epson-inkjet-printer-escpr/cups/lib/filter/epson-escpr-wrapper

Report back with the output.

BTW, in general it is a good idea to increase CUPS logging verbosity in these situations. That can be done with

sudo cupsctl --debug-logging

then cancel all print jobs

cancel -a

and try sending a print job. Examine /var/log/cups/error_log for any errors. If you need to share the lengthy output, consider uploading to http://susepaste.org/, set a sensible ‘Delete After’ period, and share the link to it here.

Sometimes the log file has several jobs-worth of output, and it can make things clearer to remove the old log first before starting any diagnostic process.

sudo rm -f  /var/log/cups/error_log

output of file /opt/epson-inkjet-printer-escpr/cups/lib/filter/epson-escpr-wrapp:

/opt/epson-inkjet-printer-escpr/cups/lib/filter/epson-escpr-wrapper: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-lsb-x86-64.so.3, for GNU/Linux 2.6.24, BuildID[sha1]=149877a6e3da1718330df4c7a3dc12656ff73c4c, stripped


ldd command:

linux-vdso.so.1 (0x00007ffc51349000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa2d97e3000)
        libcupsimage.so.2 => /usr/lib64/libcupsimage.so.2 (0x00007fa2d95d7000)
        libcups.so.2 => /usr/lib64/libcups.so.2 (0x00007fa2d9333000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fa2d8f79000)
        /lib64/ld-lsb-x86-64.so.3 => /lib64/ld-linux-x86-64.so.2 (0x00007fa2d9a01000)
        libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007fa2d8d2e000)
        libgnutls.so.30 => /usr/lib64/libgnutls.so.30 (0x00007fa2d89cb000)
        libavahi-common.so.3 => /usr/lib64/libavahi-common.so.3 (0x00007fa2d87be000)
        libavahi-client.so.3 => /usr/lib64/libavahi-client.so.3 (0x00007fa2d85ad000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fa2d8262000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fa2d804b000)
        libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007fa2d7d71000)
        libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007fa2d7b3f000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fa2d793b000)
        libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007fa2d772e000)
        libp11-kit.so.0 => /usr/lib64/libp11-kit.so.0 (0x00007fa2d74cb000)
        libidn2.so.0 => /usr/lib64/libidn2.so.0 (0x00007fa2d72ae000)
        libunistring.so.2 => /usr/lib64/libunistring.so.2 (0x00007fa2d6f2c000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fa2d6d28000)
        libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x00007fa2d6b15000)
        libnettle.so.6 => /usr/lib64/libnettle.so.6 (0x00007fa2d68dc000)
        libhogweed.so.4 => /usr/lib64/libhogweed.so.4 (0x00007fa2d66a6000)
        libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007fa2d6410000)
        libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007fa2d61be000)
        libkeyutils.so.1 => /usr/lib64/libkeyutils.so.1 (0x00007fa2d5fba000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fa2d5da3000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fa2d5b7a000)
        libffi.so.7 => /usr/lib64/libffi.so.7 (0x00007fa2d5970000)
        libsystemd.so.0 => /usr/lib64/libsystemd.so.0 (0x00007fa2d56db000)
        libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007fa2d544e000)
        libcap.so.2 => /usr/lib64/libcap.so.2 (0x00007fa2d5249000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fa2d5041000)
        liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007fa2d4e06000)
        liblz4.so.1 => /usr/lib64/liblz4.so.1 (0x00007fa2d4bf1000)
        libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x00007fa2d48d5000)
        libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00007fa2d46b5000)


cups error log is here.

Ok, so you’re using the 64-bit driver, and all the driver dependencies seem to be satisfied.

The CUPS error log contains no apparent issue, and specifically no error relating to your opening post. Did you put CUPS in to debug mode before sending a print job?

Returning to your opening post where you mentioned…

This is an epson driver downloaded from their website, not an open source driver.

You should know that ‘epson-inkjet-printer-escpr’ is actually open source. The OSS repo includes ‘epson-inkjet-printer-escpr’, so there is no need to download it from the Epson website. The openSUSE RPM installs ‘epson-escpr-wrapper’ to /usr/lib/cups/filter/ as expected…

 rpm -qf /usr/lib/cups/filter/epson-escpr-wrapper
epson-inkjet-printer-escpr-1.6.18-lp150.1.1.x86_64

I would try installing this openSUSE package first.

You should also note that the Epson Stylus CX6000 (as shown in the error log) is supported by two drivers: Epson Inkjet Printer Driver (ESC/P-R) and the CUPS gutenprint driver. It might be worth trying the latter, if the former doesn’t work as expected. Install the package of the same name if required.

Right. I think I recall that it was open source at one point, but just got accustomed to downloading the newest driver from epson and never checked the system repos. In any case, it turns out the printer was “stuck.” Today I tried just removing the printer and adding it back into system settings. That was a little tricky since I was unable to remove it for a while, but eventually I was able to delete it. I had to try 3 or 4 times before it actually got deleted (I didn’t have more than one installed). After I rebooted and plugged the printer back in, it was automatically recognized and now seems to be working fine.

Good to read of your success with this.

BTW, you can always remove a print queue immediately using

lpadmin -x <printer-name>