Hi,
I've originally asked this on
HPLIP Forum but got no reply...
We're running a central print server (RHEL 5.x x86_64, HPLIP 2.8.10) with some hundreds of print queues and different drivers. And all is well.
We need to support an HP LaserJet Pro MFP m127fn (a client just bought it anew) and turns out it's supported by HPLIP 3.13.11.
So we went ahead to download and install the RHEL 5.x RPM (from hplip.net) on a test box.
We then realized hundreds of print queues (some HP and some non-HP) are not functioning since the RHRL 5.x RPM is not compiled with hpijs.
Well, it's going to be a lot of work to switch all HP queues to use the hpcups driver, and we've done that, but still we have many non-HP printer drivers using hpijs.
So I downloaded the tarball and compiled manually with two variants: with --enable-hpijs-only-build and without it.
The result:
=== with --enable-hpijs-install --enable-hpijs-only-build ===
[opher@fc6 ~/print_drivers]$ tar xzf hplip-3.14.10.tar.gz && cd hplip-3.14.10 && ./configure --enable-libusb01-build --enable-hpijs-install --enable-hpijs-only-build && make
...
[opher@fc6 ~/print_drivers/hplip-3.14.10]$ ls -l hpijs; file hpijs; ldd hpijs
-rwxrwxr-x 1 opher opher 2111937 Nov 6 23:21 hpijs
hpijs: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x0000003e20800000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003e18c00000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e1bc00000)
libm.so.6 => /lib64/libm.so.6 (0x0000003e19000000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e1b000000)
libc.so.6 => /lib64/libc.so.6 (0x0000003e18800000)
/lib64/ld-linux-x86-64.so.2 (0x0000003e18400000)
===============================
=== with --enable-hpijs-install ===
[opher@fc6 ~/print_drivers]$ tar xzf hplip-3.14.10.tar.gz && cd hplip-3.14.10 && ./configure --enable-libusb01-build --enable-hpijs-install && make
...
[opher@fc6 ~/print_drivers/hplip-3.14.10]$ ls -l .libs/hpijs; file .libs/hpijs; ldd .libs/hpijs
-rwxrwxr-x 1 opher opher 2156168 Nov 6 23:33 .libs/hpijs
.libs/hpijs: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x0000003e20800000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003e18c00000)
libhpip.so.0 => /usr/lib64/libhpip.so.0 (0x00002adfffcfa000)
libhpmud.so.0 => /usr/lib64/libhpmud.so.0 (0x0000003000000000)
libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x0000003000c00000)
libcrypto.so.6 => /lib64/libcrypto.so.6 (0x0000003e1b800000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003e1bc00000)
libm.so.6 => /lib64/libm.so.6 (0x0000003e19000000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e1b000000)
libc.so.6 => /lib64/libc.so.6 (0x0000003e18800000)
/lib64/ld-linux-x86-64.so.2 (0x0000003e18400000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e19400000)
libnetsnmp.so.10 => /usr/lib64/libnetsnmp.so.10 (0x0000003505e00000)
libusb-0.1.so.4 => /usr/lib64/libusb-0.1.so.4 (0x0000003e1a000000)
libcap.so.1 => /lib64/libcap.so.1 (0x0000003e1f000000)
libz.so.1 => /usr/lib64/libz.so.1 (0x0000003e19800000)
===============================
You may note that in the first form 'hpijs' is not linked against any hplip shared-objects. Which is perfect for me as I won't have to recompile every time we update HPLIP in the future.
And now my question are:
Will both forms of hpijs function identically as a CUPS filter?
What benefit is there to the form of hpijs that links against hplip shared-objects?
Thanks for your patience (you who read thus far),
Opher.