Here are my experiences getting started with gnulpr, hope it helps others
and/or serves as a testcase for developers.
I am for the first time able to print with Linux by simply clicking
to select printer and options on our corporate network printers!
All of them are postscript but you are supposed to print using windows
printservers and these are even giving windows users sometimes a headache.
Now I'm happily printing on the "Xerox Document Centre 440st" as well
as on a "Xerox Color Series 50" specifying all kind of options including
automatic stapling, duplex printing etc. etc.
I had serious problems with the PPD file for the Xerox_440st which was
downloaded from the http://www.xerox.com website (also included as attachement).
1) The ppd file wasn't recognized as correct ppdfile by gpr which i was
able to trace to a failure of the libppd library to correctly parse
the PPD file, after deleting a section called
*OpenSubGroup: MediaSelection/Media Attributes
*CloseSubGroup: MediaSelection/Media Attributes
(lines 823 to 906)
So this appears to be a BUG in the library.
2) Then gpr kept crashing all the time after trying to select the
PPD file, this turned out to be caused by missing ppdfile entry in
printcap or spooldir.
After selecting it manually, gpr wants to compare the selected to the
'default' version which doesn't work. Workaround is obvious
but gpr should handle this.
A patch which fixed it for me:
--- gpr-0.7/src/callbacks.c.ORIG Thu Jul 12 23:13:12 2001
+++ gpr-0.7/src/callbacks.c Sat Nov 3 19:15:58 2001
@@ -615,7 +615,8 @@
g_strconcat(local_ppd->config_dir, "/.lastused.sett", NULL),
- if (g_strcasecmp(local_ppd->ppd_file, local_ppd->default_ppd_file)
+ if (local_ppd->default_ppd_file != NULL &&
+ g_strcasecmp(local_ppd->ppd_file, local_ppd->default_ppd_file)
is_sys_def_ppd = 1;
3) Now gpr was failing somewhere apparently in the Glib libs as I got
a nice popup window telling me:
Application "gpr" (process 23905) has crashed due to a fatal error
Please visit the GNOME ...
Didn't feel like debugging the GUI so tried deleting sections from
the (already stripped) PPD file, once I deleted a section "custom paper
sizes" (lines 798-822 possibly related to the subgroup issue?)
and it finally WORKED !!!
As a real slackware user I compiled everything from source but had some
issues there as well:
- lpr Makefile doesn't define neither DESTDIR nor MANDIR so the manpages
end up as /man3 en /man5 or something in the root directory
- for several packages the ./configure script failed to make a Makefile,
took quite some time to trace back to the following line in configure
TESTSCRIPTS=`cd src/tests && echo *.m4 | sed "s/m4/sh/g"`
I had the enviroment variable CDPATH set and the result of this is:
(note the current directory which is printed)
[..../gpr-0.7] # cd src/tests && echo *.m4 | sed "s/m4/sh/g"
[..../gpr-0.7] # CDPATH="" cd src/tests && echo *.m4 | sed "s/m4/sh/g"
the former corrupting the generated script config.status which
in turn failed to make Makefiles.