LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Problems Printing to a CUPS Server on Another Computer (https://www.linuxquestions.org/questions/slackware-14/problems-printing-to-a-cups-server-on-another-computer-604965/)

TSquaredF 12-06-2007 11:05 AM

[SOLVED]Problems Printing to a CUPS Server on Another Computer
 
I currently have two computers & a printer connected to my network. The printer is an HP LaserJet 4+ with a JetDirect server in it. It works perfectly. The computers are "desktop" & "server". "Server" is headless. I have installed Slackware-12.0 with no X & use it as a backup/file server via nfs. I also have an HP DeskJet 952C that I am trying to get working. If I connect the DeskJet printer to "desktop", all works well. I can install it via CUPS & print from any application. When I connect the DeskJet printer to "server", I can install & administer it in CUPS, using Firefox from "desktop". However, when I print a test page in CUPS, it fails & the printer name line reads:
HP_DeskJet_950C_USB_MY9AO111R6JP_HPLIP "/usr/lib/cups/filter/foomatic-rip failed"
I have done a lot of googling & found a number of solutions to this problem, including: "a2ps must be installed." (It is.) & "You must install the correct PPD file." (I think I have.)
I have not been able to find a list of required programs for cups or foomatic-rip. (foomatic-rip does exist, with the correct permissions.) Is there one? Or, how can I check out dependencies?
Can someone tell me what I am doing wrong?
Regards,
Bill

allend 12-06-2007 05:18 PM

Have you tried printing a plain text file rather than the test page?
There can be an issue with the test page as it uses fonts that may not be included in your Slackware installation.

TSquaredF 12-06-2007 06:40 PM

Thanks for the response, allend. "server" will accept jobs from "desktop" & I have sent it OOo output, plain text files, etc., with the same result as the test page. Are there any other suggestions?
Regards,
Bill

allend 12-06-2007 07:01 PM

Is your HP DeskJet 952C connecting via USB?
If so, then I would suspect a problem with udev on your server. Check the output of lsusb.

I am assuming that your desktop and server are equivalent in having full Slackware 12.0 installations.

allend 12-06-2007 07:11 PM

Just another thought, have you got your server set up as a raw print queue?
If the documents to be printed have been formatted on your desktop, then the server just needs to pass the already formatted file through to the printer.

TSquaredF 12-06-2007 10:47 PM

Well, I finally solved this hassle. allend wrote:
Quote:

I am assuming that your desktop and server are equivalent in having full Slackware 12.0 installations.
I did not think I needed a full installation for a server. However, I finally woke up enough to set the logging level to "debug" instead of "info" in cupsd.conf. Crawling through the log after a failed print, I found an X library that could not be loaded because it did not exist. I installed the package containing the library, only to have it fail for lack of another one. After going through this about six times I gave up & installed all the X packages. Now I have printed to the remote printer from "desktop" in OOo, firefox & kate. No problems. Nothing I had read anywhere implied that I needed packages from X to run CUPS, but I learned that they do. (Some things I learn, some, like this, have to be beaten into me with a baseball bat!)
Anyway, it is working. Thanks allend, for sticking with me. I appreciate it.
Regards,
Bill

GushpinBob 12-07-2007 01:14 AM

I ran into a very similar issue about a year ago with cups on my slackware 11 powered print server. Same situation as yours: no X11 installed.

The hordes of "foomatic-rip failed" messages made me decide to open up the foomatic-rip script with an editor to see what the heck was happening. It turned out that gs was called in the script when I knew there was something similar on my system (gs-no-x11 IIRC). I replaced "gs" with "gs-no-x11" and the print server started functioning as expected without depending on X.

TSquaredF 12-07-2007 12:38 PM

GushpinBob, thanks for the post. I tried using "gs-no-x11" in the "foomatic-rip" script, but it didn't work. Here's what I did:
a) Searched "foomatic-rip" for "gs". Only found one instance where it was called.
b) Changed that instance of "gs to "gs-no-x11".
c) Printed with no problems.
d) Used "pkgtool" to remove all the X packages.
e) Tried to print & got the "foomatic-rip failed" message.
f) Threw my coffee mug across the room in disgust, re-installed the X packages & can print OK now.
I was really hoping it would work, but the size on disk only increased by about 200M & I have plenty of room on my partition.
At least I have it working.
Thanks again, everybody.
Regards,
Bill

Alien_Hominid 12-12-2007 08:28 AM

Quote:

Originally Posted by TSquaredF (Post 2983386)
GushpinBob, thanks for the post. I tried using "gs-no-x11" in the "foomatic-rip" script, but it didn't work. Here's what I did:
a) Searched "foomatic-rip" for "gs". Only found one instance where it was called.
b) Changed that instance of "gs to "gs-no-x11".
c) Printed with no problems.
d) Used "pkgtool" to remove all the X packages.
e) Tried to print & got the "foomatic-rip failed" message.
f) Threw my coffee mug across the room in disgust, re-installed the X packages & can print OK now.
I was really hoping it would work, but the size on disk only increased by about 200M & I have plenty of room on my partition.
At least I have it working.
Thanks again, everybody.
Regards,
Bill

Which lib was required by cups?

TSquaredF 12-12-2007 01:06 PM

Libs required by 'gs'
 
This was a missing requirement for ghostscript as called from 'foomatic-rip', not CUPS. Even changing the program from 'gs' to 'gs-no-X11' in 'foomatic-rip' did no good.
Here is a listing of all the libs required by 'gs'. The marked ones are from the X series.
Code:

bill@dataserver:~
$ ldd /usr/bin/gs
linux-gate.so.1 =>  (0xffffe000)
libXt.so.6 => /usr/lib/libXt.so.6 (0xb7e93000)      <---
libXext.so.6 => /usr/lib/libXext.so.6 (0xb7e85000)  <---
libX11.so.6 => /usr/lib/libX11.so.6 (0xb7d9d000)    <---
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb7d7d000)
libpng.so.3 => /usr/lib/libpng.so.3 (0xb7d42000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7d2e000)
libcupsimage.so.2 => /usr/lib/libcupsimage.so.2 (0xb7d1b000)
libcups.so.2 => /usr/lib/libcups.so.2 (0xb7cf3000)
libtiff.so.3 => /usr/lib/libtiff.so.3 (0xb7c9f000)
libgnutls.so.13 => /usr/lib/libgnutls.so.13 (0xb7c27000)
libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb7bd6000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb7bd2000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7bba000)
libm.so.6 => /lib/libm.so.6 (0xb7b93000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7b65000)
libdl.so.2 => /lib/libdl.so.2 (0xb7b61000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7a7d000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7a52000)    <---
libc.so.6 => /lib/libc.so.6 (0xb790f000)
libSM.so.6 => /usr/lib/libSM.so.6 (0xb7907000)    <---
libICE.so.6 => /usr/lib/libICE.so.6 (0xb78ef000)  <---
libXau.so.6 => /usr/lib/libXau.so.6 (0xb78ec000)  <---
libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb78ea000)  <---
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb78d3000)  <---
libssl.so.0 => /usr/lib/libssl.so.0 (0xb7892000)
libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0xb7754000)
libnsl.so.1 => /lib/libnsl.so.1 (0xb773d000)
/lib/ld-linux.so.2 (0xb7eee000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb7732000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb76c5000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb76a4000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb769f000) <---

Since my last post, I have removed the rest of the X series from my server & it is doing just what I want it to do.
Regards,
Bill

Alien_Hominid 12-12-2007 03:06 PM

I have two foomatic-rips:
Code:

slocate foomatic-rip

/usr/bin/foomatic-rip
/usr/lib/cups/filter/foomatic-rip


Btw, that script is so huge. I'm not sure how to find all gs occurrences. My suggestion, rename gs to gs-x11 and create a symlink from gs to gs-no-x11.

TSquaredF 12-12-2007 04:12 PM

Quote:

Originally Posted by Alien_Hominid (Post 2988644)
I have two foomatic-rips:
Code:

slocate foomatic-rip

/usr/bin/foomatic-rip
/usr/lib/cups/filter/foomatic-rip


Btw, that script is so huge. I'm not sure how to find all gs occurrences. My suggestion, rename gs to gs-x11 and create a symlink from gs to gs-no-x11.

On my machine, the /usr/lib/cups/... is a link to /usr/bin/foomatic-rip. I searched for "gs -" in foomatic-rip, so maybe I didn't find all instances, but I think it is just called once.
Regards,
Bill

TSquaredF 12-12-2007 05:38 PM

Quote:

Originally Posted by Alien_Hominid
My suggestion, rename gs to gs-x11 and create a symlink from gs to gs-no-x11.
Thanks, Alien_Hominid, that worked. I needed the fontconfig package from the X series, but was able to remove the rest.
Regards,
Bill


All times are GMT -5. The time now is 12:06 PM.