Page 1 of 1

Linux Standard Base

Posted: Tue 25 Oct 2011, 13:22
by rcrsn51
Epson has started to distribute their printer drivers in LSB-compatible packages. But when I look at the binaries inside, Puppy does not even recognize them as being executable and an ldd command on them fails.

I have attached an example below. Just remove the dummy .gz extension.

Any thoughts?

Posted: Tue 25 Oct 2011, 13:39
by 01micko
What OS are using to test? Maybe it's kernel dependent (re 2.6.8 and above maybe :? )

Code: Select all

# file  epson_inkjet_printer_filter
epson_inkjet_printer_filter: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped

Code: Select all

# ldd ./epson_inkjet_printer_filter
	linux-gate.so.1 =>  (0xffffe000)
	libdl.so.2 => /lib/libdl.so.2 (0xb78d4000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb77eb000)
	libcupsimage.so.2 => /usr/lib/libcupsimage.so.2 (0xb77d8000)
	libcups.so.2 => /usr/lib/libcups.so.2 (0xb779c000)
	libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb7782000)
	libpthread.so.0 => /lib/libpthread.so.0 (0xb7769000)
	libm.so.6 => /lib/libm.so.6 (0xb7743000)
	libc.so.6 => /lib/libc.so.6 (0xb75e0000)
	/lib/ld-lsb.so.3 => /lib/ld-linux.so.2 (0xb78d9000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb75c4000)
	libtiff.so.3 => /usr/lib/libtiff.so.3 (0xb7569000)
	libpng14.so.14 => /usr/lib/libpng14.so.14 (0xb7543000)
	libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0xb750e000)
	libz.so.1 => /usr/lib/libz.so.1 (0xb74fa000)
	libcrypt.so.1 => /lib/libcrypt.so.1 (0xb74c8000)
	libssl.so.0 => /lib/libssl.so.0 (0xb7480000)
	libcrypto.so.0 => /lib/libcrypto.so.0 (0xb7339000)
slacko-5.3-PAE (2.6.39.4)

Posted: Tue 25 Oct 2011, 13:50
by rcrsn51
What do you get when you run it from the command line?

In Quirky, I get "bash: no such file or directory". An ldd command says the same.

In regular Slacko, the command doesn't run, but ldd does!

Posted: Tue 25 Oct 2011, 13:57
by 01micko
# ./epson_inkjet_printer_filter
bash: ./epson_inkjet_printer_filter: No such file or directory

:?

EDIT: even weirder.. I whacked it in PATH

# epson_inkjet_printer_filter
bash: /usr/local/bin/epson_inkjet_printer_filter: No such file or directory

EDIT2: even tried this:

# su spot
# epson_inkjet_printer_filter
sh: /usr/local/bin/epson_inkjet_printer_filter: No such file or directory
# whoami
spot

Posted: Tue 25 Oct 2011, 14:05
by rcrsn51
This certainly puts a wrinkle in long-term support for Epson devices.

Re: Linux Standard Base

Posted: Tue 25 Oct 2011, 14:54
by PANZERKOPF
rcrsn51 wrote: Any thoughts?
Try to create a symlink:
ln -s /lib/ld-linux.so.2 /lib/ld-lsb.so.3

Re: Linux Standard Base

Posted: Tue 25 Oct 2011, 16:06
by rcrsn51
PANZERKOPF wrote:Try to create a symlink:
ln -s /lib/ld-linux.so.2 /lib/ld-lsb.so.3
It works! Both in Quirky and Slacko. And these driver packages are actually simpler to work with because everything is in a single folder that you drop into /opt.

However, unlike the old pipslite driver package, this one has different downloads for different models. So it's more like the Canon procedure.

Thanks!

Posted: Tue 25 Oct 2011, 23:06
by rcrsn51
It turns out that this isn't as easy as I thought.

When testing with k2.6.33.2 Puppies (Quirky, Lupu) I have good results with two different Epson models.

But with lower kernels (Wary) or higher kernels (Slacko, Squeeze), the results are inconsistent.

Should I be using something other than /lib/ld-lsb.so.3 for those Puppies?

Posted: Tue 25 Oct 2011, 23:29
by PANZERKOPF
rcrsn51 wrote: Should I be using something other than /lib/ld-lsb.so.3 for those Puppies?
The above "dirty hack" just solves problem with loader.
Did you get same error message when you was trying to load a file?
(like "bash: no such file or directory").

Posted: Wed 26 Oct 2011, 00:04
by rcrsn51
I tried the 64-bit version of your hack with the 64-bit Epson LSB drivers in Fatdog. I could get some model-driver combinations to work but not others.

It appears that these packages are tuned to certain distros and it's just dumb luck that the k2.6.33.2 Puppies work.

Posted: Wed 26 Oct 2011, 02:07
by rcrsn51
Problem solved. This has nothing to do with kernels and everything to do with Puppies that don't give /tmp a full set of permissions OOTB. Usually, the CUPS logs show this, but the Epson LSB drivers just fail with no messages.

I have posted the new driver here. If you have an Epson printer that currently uses pipslite, could you please test this?