[Gutsy SRU Request] Ghostscript in Gutsy and Hardy is not able to print encrypted PDFs out of Adobe Reader 8.1.1

Bug #172264 reported by Neha Seth on 2007-11-27
36
Affects Status Importance Assigned to Milestone
GS-GPL
Fix Released
Critical
foo2zjs (Ubuntu)
High
Till Kamppeter
Gutsy
Undecided
Unassigned
foomatic-filters (Ubuntu)
High
Till Kamppeter
Gutsy
Undecided
Unassigned
ghostscript (Ubuntu)
High
Till Kamppeter
Gutsy
Undecided
Unassigned

Bug Description

Binary package hint: ghostscript

There is a problem with printing secured PDFs from Abode Reader 8.1.1 to non PostScript printers. This problem is observed with Ubuntu Gutsy Gibbon (7.10), more specifically where the version of GhostScript on the machine is "8.61 pre-release". The CUPS error logs show "GPL Ghostscript SVN PRE-RELEASE 8.61: Unrecoverable error, exit code 1". This issue is mentioned in bug# 145772 (https://bugs.launchpad.net/ubuntu/+source/acroread/+bug/145772) as well.

Since the issue is not observed with the official stable release of Ghostscript 8.61 (http://pages.cs.wisc.edu/~ghost/doc/GPL/gpl861.htm), that should be the one available at the Ubuntu Gutsy repository.

TEST CASE:

1. Take the PostScript file attached to this bug (first attachment) and let Ghostscript render it, passing the file in via standard input but without buffered reading:

cat encrpdf.ps | gs -sDEVICE=x11 -

2. Open the second attachment with Adobe Reader 8.1.1 (acroread) and try to print it on a non-PostScript printer and on a system where you did not manually apply the workarounds which I have shown in this bug report. Or print it into a file and then do the test case (1) with this file.

3. Do test case (2) with any encrypted/usage-restricted PDF file.

ubunovi (weber-klaus) wrote :

Hello Neha,
thank you for that tipp - but while compiling the source (with make, after ./configure) it throws hundreds of warnings and ends with an error. I'm not a programmer, I just have to work with my computer... Can anyone help on this?
Thanks
Klaus

Neha Seth (nehaseth) wrote :

Hello Klaus,
Could you tell me what kind of errors you are getting or if possible, attach the error log file? I could try to help you out with the GS 8.61 installation.

Sincerely,
Neha

Till Kamppeter (till-kamppeter) wrote :

Can you post some sample files? Thanks.

Changed in ghostscript:
importance: Undecided → Medium
status: New → Incomplete

Am Dienstag, den 27.11.2007, 13:03 +0000 schrieb Neha Seth:
> Hello Klaus,
> Could you tell me what kind of errors you are getting or if possible, attach the error log file? I could try to help you out with the GS 8.61 installation.
>
> Sincerely,
> Neha
>
Hello Neha, hello Till,
I did the configure and make with a "> file.out" and copied some of the
console-output in the files.
Hope that helps finding the error - or at least my fault.

Thanks in advance

Klaus

ubunovi (weber-klaus) wrote :

Am Dienstag, den 27.11.2007, 19:06 +0000 schrieb Till Kamppeter:
> Can you post some sample files? Thanks.
>
>
> ** Changed in: ghostscript (Ubuntu)
> Importance: Undecided => Medium
> Status: New => Incomplete
>

Hello Till,
you may try to print this:
http://www.berlin.de/imperia/md/content/sen-bildung/schulorganisation/lehrplaene/sek2_informatik.pdf
(only one page of course...).
My printer starts up - but no printing is possible.

/var/log/messages says:
Nov 27 21:30:51 localhost kernel: [ 3419.374007]
audit(1196195451.423:6): type=1503 operation="inode_permission"
requested_mask="rw" denied_mask="rw" name="/dev/tty" pid=20020
profile="/usr/sbin/cupsd"
Nov 27 21:30:51 localhost kernel: [ 3419.453955]
audit(1196195451.503:7): type=1503 operation="inode_permission"
requested_mask="rw" denied_mask="rw" name="/dev/tty" pid=20023
profile="/usr/sbin/cupsd"

/var/log/cups/error_log says:
D [27/Nov/2007:20:30:52 +0000] [Job 174]
D [27/Nov/2007:20:30:52 +0000] [Job 174] Error: /undefined in eartomark
D [27/Nov/2007:20:30:52 +0000] [Job 174] Operand stack:
D [27/Nov/2007:20:30:52 +0000] [Job 174] --nostringval--
D [27/Nov/2007:20:30:52 +0000] [Job 174] Execution stack:
D [27/Nov/2007:20:30:52 +0000] [Job 174] %interp_exit .runexec2
--nostringval-- --nostringval-- --nostringval-- 2 %stopped_push
--nostringval-- --nostringval-- --nostringval-- false 1 %
stopped_push 1889 1 3 %oparray_pop 1888 1 3 %oparray_pop
1872 1 3 %oparray_pop 1755 1 3 %oparray_pop
--nostringval-- %errorexec_pop .runexec2 --nostringval--
--nostringval-- --nostringval-- 2 %stopped_push --nostringval--
D [27/Nov/2007:20:30:52 +0000] [Job 174] Dictionary stack:
D [27/Nov/2007:20:30:52 +0000] [Job 174] --dict:1155/1684(ro)(G)--
--dict:1/20(G)-- --dict:109/200(L)--
D [27/Nov/2007:20:30:52 +0000] [Job 174] Current allocation mode is
local
D [27/Nov/2007:20:30:52 +0000] [Job 174] Last OS error: 2
D [27/Nov/2007:20:30:52 +0000] [Job 174] GPL Ghostscript SVN PRE-RELEASE
8.61: Unrecoverable error, exit code 1
D [27/Nov/2007:20:30:52 +0000] [Job 174] renderer return value: 1
D [27/Nov/2007:20:30:52 +0000] [Job 174] renderer received signal: 1
D [27/Nov/2007:20:30:52 +0000] [Job 174] Process dying with "Possible
error on renderer command line or PostScript error. Check options.",
exit stat: 3
D [27/Nov/2007:20:30:52 +0000] [Job 174] error: Illegal seek (29)
D [27/Nov/2007:20:30:52 +0000] [Job 174] Possible error on renderer
command line or PostScript error. Check options.
D [27/Nov/2007:20:30:52 +0000] [Job 174] tail process done writing data
to STDOUT
D [27/Nov/2007:20:30:52 +0000] [Job 174] KID4 finished

Hope that helps find the error.

Thanks
Klaus

The bug is not fixed by replacing Gutsy's Ghostscript with the official 8.61 release. The bug simply only appears if Ghostscript is built as a dynamic library, as it is done in Gutsy. The users who solved the problem with the official release compiled Ghostscript statically (the default behavior when simply doing "./configure; make; sudo make install") and therefore the problem disappeared for them.

See

http://bugs.ghostscript.com/show_bug.cgi?id=689577

The bug occurs only if all of these conditions are fulfilled:

1. The input file is a Postscript file generated by Acrobat from an encrypted PDF file.
2. Ghostscript is built as a library (i.e. "make so", as Gutsy's Ghostscript).
3. The input file is sent to Ghostcript via "- <filename" or "cat filename | gs -" (printing system call Ghostscript this way).

Under these conditions it also occurs with the released Ghostscript 8.61.

Changed in ghostscript:
importance: Medium → High
status: Incomplete → Confirmed
Changed in gs-gpl:
status: Unknown → Confirmed

So there are several workarounds possible.
One could link gs statically or write the data in a temp file in cups and the let gs work on the file,
there is an (ugly) workaround in the gs bugzilla.

The question is when will there be an update to fix printing in gutsy?
Thanks a lot in advance,
Stefan

Till Kamppeter (till-kamppeter) wrote :

In the discussion of the pronlem on the upstream developer mailing list for Ghostscript I got a suggestion for a simple workaround which seems to have no risk of regressions and no requirement of removing features. One simply needs Ghostscript to do buffered input. This is done by replacing the single '-' for the input file in the Ghostscript command line by a '-_'. This can be done by patching all relevant filters. A fix of Ghostscript upstream will need bigger changes in Ghostscript and will take longer time.

I have tested it with foomatic-gswrapper and pstoraster (both in /usr/lib/cups/filter) and I can print the encrypted PDFs now. These two filters I will modify upstream, as I have the appropriate access rights. Other filters to patch are all /usr/bin/foo2*wrapper files of the foo2zjs package.

Adding tasks for foomatic-filters (foomatic-gswrapper) and foo2zjs (/usr/bin/foo2*wrapper), pstoraster is part of the ghostscript package.

Changed in foomatic-filters:
assignee: nobody → till-kamppeter
importance: Undecided → High
status: New → In Progress
Changed in ghostscript:
assignee: nobody → till-kamppeter
status: Confirmed → In Progress
Changed in foo2zjs:
assignee: nobody → till-kamppeter
importance: Undecided → High
status: New → In Progress
Changed in foomatic-filters:
status: In Progress → Fix Committed
Changed in ghostscript:
status: In Progress → Fix Committed
Changed in foo2zjs:
status: In Progress → Fix Committed
Till Kamppeter (till-kamppeter) wrote :

foomatic-filters (3.0.2-20071204-0ubuntu1) hardy; urgency=low

  * New upstream release
    - foomatic-gswrapper.in: Let Ghostscript always use buffered
      input. This works around a Ghostscript bug which prevents
      printing encrypted PDF files with Adobe Reader 8.1.1 and
      Ghostscript built as shared library (Ghostscript bug #689577,
      Ubuntu bug LP: #172264)
    - Allow the parameters of the "*Foomatic..."
      lines which formerly had to be given without quotes also to be
      given with double quotes. This is to support generation and
      manipulation of Foomatic PPDs with the CUPS DDK. The PPD
      generator of the CUPS DDK ("ppdc") can create these lines only
      with quoted parameters (See http://www.cups.org/str.php?L2551).
    - Bug fixes:
       o If the CUPS-style duples option
         "-o sides={one|two}-sided[-{long|short}-edge]" was supplied,
         the "Duplex" option could be set to "0", "LongEdge", or
         "ShortEdge", which do not exist in the "Duplex" options in
         PPD files (Thanks to Ricoh Japan for reporting this bug).
       o Now all of "LongEdge", "DuplexNoTumble", or "ShortEdge",
         "DuplexTumble", are converted to each other if supplied as
         value to an enumerated choice option (usually "Duplex") and
         this value is not in the list of choices.
       o Reset the best score for finding the narrowest page range
         before treating each option, not only before the first
         option. Now jobs with page overrides on more than one
         option are executed correctly.
       o If an option had the default value "0" (enumerated choice,
         numerical, string) in the PPD file, the first choice from
         the list was set as default and not "0".
       o When assigning a non-integer number to an integer option,
         the "%%BeginFeature: ..." line of the option inserted into
         the PostScript data stream still contained the non-integer
         value. Only the value in the code piece was converted to
         integer.
       o If a non-integer "*FoomaticRIPDefault..." was given for an
         integer option it was not converted to integer.
       o Boolean options had "0" and "1" as values in the
         "%%BeginFeature: ..." lines and not "False" and "True".
       o PPD-supplied JCL/PJL options did not get merged with
         driver-generated JCL/PJL options when there were spaces
         between the JCL command and the "=" (ex: "@PJL SET TRAY = 1").
       o Now all of "0", "No", "Off", "False" or "1", "Yes", "On",
         "True" are converted to each other if supplied as value to
         an enumerated choice option and this value is not in the
         list of choices.

 -- Till Kamppeter <email address hidden> Wed, 05 Dec 2007 12:08:58 +0000

Changed in foomatic-filters:
status: Fix Committed → Fix Released

ghostscript (8.61.dfsg.1-0ubuntu2) hardy; urgency=low

  * Merge with Debian unstable. Remaining Ubuntu changes:
    - gs-esp and gs-common depend only on ghostscript, not on ghostscript-x,
      as gs-esp had already split of gs-esp-x in Ubuntu
    - Upstream version 8.61 final
  * debian/patches/40_cups_filters_with_buffered_input.dpatch: Modified
    cups/psto* filters to let Ghostscript always use buffered input. This
    works around a Ghostscript bug which prevents printing encrypted PDF
    files with Adobe Reader 8.1.1 and Ghostscript built as shared library
    (Ghostscript bug #689577, Ubuntu bug LP: #172264)

 -- Till Kamppeter <email address hidden> Wed, 5 Dec 2007 13:17:43 +0000

Changed in ghostscript:
status: Fix Committed → Fix Released

foo2zjs (20071205-0ubuntu1) hardy; urgency=low

  * New upstream release
    - Snapshot from Dec 5, 2007
    - Added support for HP LaserJet P1005, P1006, P1505
  * debian/patches/50-buffered-input-for-ghostscript.dpatch: Let Ghostscript
    always use buffered input. This works around a Ghostscript bug which
    prevents printing encrypted PDF files with Adobe Reader 8.1.1 and
    Ghostscript built as shared library (Ghostscript bug #689577, Ubuntu bug
    LP: #172264)
  * debian/patches/40-path-correction.dpatch: Regenerated to adapt to new
    foo2zjs version.
  * debian/rules: Added argument to "make install" so that usb_printerid
    goes into /usr/bin and added arguments for new install targets.
  * debian/README.Debian: Updated, as source for foo2oak is supplied now
    (LP: #173380).

 -- Till Kamppeter <email address hidden> Wed, 05 Dec 2007 15:19:37 +0000

Changed in foo2zjs:
status: Fix Committed → Fix Released
lunomad (damon-metapaso) wrote :
Download full text (5.4 KiB)

Hi.

I hate to be a noob cluttering up the bug space, but I'm hoping that someone can help--I'm at my wit's end...please please! I need to print these files to complete my immigration application!

A few weeks ago, the attached PDF and others like it printed fine in acroread. Today, I find that they don't. I don't know the reason for the change. I think this document is encrypted in some way because it doesn't allow me to save it.

I go through all the printing dialogues and the file shows up in the print queue, but then it stops. The printer never warms up.

I have tried (in order):
* xpdf - can print, can't fill forms
* evince - can print, filled forms print garbled
* updated acroread from 7.x to 8.1.1
* re-installied samsung unified driver
* downgraded cups from 7.1 to 7
* download/compile/install ghostscript 8.61
* upgraded cups from 7 to 7.1

In all cases, my system still works just fine. Printing works fine from:
gedit
openoffice
acroread (with other documents)

My cups error_log:

E [07/Dec/2007:22:38:22 +0000] [Job 195] Failed to load the PPM image
E [07/Dec/2007:22:38:22 +0000] PID 6456 (/usr/lib/cups/filter/rastertosamsungspl) stopped with status 3!
E [07/Dec/2007:22:38:22 +0000] [Job 195] Job stopped due to filter errors.
E [07/Dec/2007:22:51:36 +0000] [Job 197] Failed to load the PPM image
E [07/Dec/2007:22:51:36 +0000] PID 7286 (/usr/lib/cups/filter/rastertosamsungspl) stopped with status 3!
E [07/Dec/2007:22:51:38 +0000] [Job 197] Job stopped due to filter errors.
E [07/Dec/2007:23:27:22 +0000] [Job 198] Failed to load the PPM image
E [07/Dec/2007:23:27:22 +0000] PID 28659 (/usr/lib/cups/filter/rastertosamsungspl) stopped with status 3!
E [07/Dec/2007:23:27:22 +0000] [Job 198] Job stopped due to filter errors.

My printingbuginfo -u

ProblemType: printingbuginfo v2.0: printingbug+localusb (https://wiki.ubuntu.com/PrintingBugInfoScript)
CupsConfiguredDevices:
 device for MP160: cnij_usb:/dev/usblp0
 device for PDF: cups-pdf:/
 device for scx4200: mfp:/dev/mfp4
CupsConfiguredPPDs:
 MP160: Canon MP160 Ver.2.70
 PDF: Generic PDF file generator
 scx4200: Samsung SCX-4200 Series
Date: Fri Dec 7 18:53:25 2007
DesktopEnvironment: GNOME
DistroRelease: Ubuntu 7.10
EtcPapersize: letter
InstalledPrintingPackages:
 ii cupsys 1.3.2-1ubuntu7.1 Common UNIX Printing System(tm) - server
 ii cupsys-driver-gutenprint 5.0.1-0ubuntu8 printer drivers for CUPS
 ii foo2zjs 20070625-0ubuntu1.1 Support for printing to ZjStream-based printers
 ii foomatic-db 20070919-0ubuntu3 OpenPrinting printer support - database
 ii foomatic-db-engine 3.0.2-20070719-0ubuntu4 OpenPrinting printer support - programs
 ii foomatic-db-hpijs 20070813-0ubuntu1 OpenPrinting printer support - database for HPIJS driver
 ii foomatic-filters 3.0.2-20070719-0ubuntu1 OpenPrinting printer support - filters
 ii ghostscript 8.61.dfsg.1~svn8187-0ubu The GPL Ghostscript PostScript/PDF interpreter
 ii gnome-cups-manager 0.31-3ubuntu5 CUPS printer admin tool for GNOME
 ii gs-common 8.61.dfsg.1~svn8187-0ubu Transitional pack...

Read more...

Please edit /usr/lib/cups/filter/pstoraster replacing the "-" by "-_" as described in my last comments in

http://bugs.ghostscript.com/show_bug.cgi?id=689577

Then you should be able to print your document with the Samsung driver.

lunomad (damon-metapaso) wrote :
Download full text (18.1 KiB)

Till,

Thank you very much for the prompt reply. I have followed your instructions on modifying the pstoraster file but still no luck. I have attached my pstoraster file and two sections of my cups error log (with debug turned on). Incidentally, my lpr gui also has disappeared somewhere amid all my attempts to fix this problem.

pstoraster file:

# Installation directories...
prefix=/usr
exec_prefix=${prefix}
bindir=${exec_prefix}/bin

# Set the library/font path...
GS_LIB="${CUPS_FONTPATH:=/usr/share/cups/fonts}"
export GS_LIB

# Options we use with Ghostscript...
gsopts="-dQUIET -dDEBUG -dPARANOIDSAFER -dNOPAUSE -dBATCH"
gsopts="$gsopts -dNOMEDIAATTRS -sDEVICE=cups -sstdout=%stderr"

# See if we have a profile=n,n,n,n,n,n,n,n,n,n,n option...
profile=""
for option in $5; do
    case $option in
        profile=*)
     profile="<</cupsProfile(`echo $option | awk -F= '{print $2}'`)>>setpagedevice"
     ;;
    esac
done

# See if we have a filename on the command-line...
if test -z "$6"; then
 ifile="-_"
else
 ifile="$6"
fi

echo INFO: Starting GPL Ghostscript `$bindir/gs --version`... 1>&2
echo DEBUG: Running $bindir/gs $gsopts -sOUTPUTFILE="%stdout" -c"$profile" "$ifile" 1>&2

# Now run Ghostscript...
exec $bindir/gs $gsopts -sOUTPUTFILE="%stdout" -c"$profile" "$ifile"

#
# End of "$Id: pstoraster.in,v 1.3.2.4 2004/06/29 13:15:10 mike Exp $".
#

THIS CUPSYS ERROR LOG FILE is PRIOR to adjusting the pstoraster filter:

D [08/Dec/2007:01:53:14 +0000] Print-Job ipp://localhost/printers/scx4200
D [08/Dec/2007:01:53:14 +0000] print_job: auto-typing file...
D [08/Dec/2007:01:53:14 +0000] add_job: requesting-user-name="damon"
I [08/Dec/2007:01:53:14 +0000] [Job 204] Adding start banner page "none".
D [08/Dec/2007:01:53:14 +0000] Discarding unused job-created event...
I [08/Dec/2007:01:53:14 +0000] [Job 204] Adding job file of type application/postscript.
I [08/Dec/2007:01:53:14 +0000] [Job 204] Adding end banner page "none".
I [08/Dec/2007:01:53:14 +0000] [Job 204] Queued on "scx4200" by "damon".
D [08/Dec/2007:01:53:14 +0000] [Job 204] hold_until = 0
D [08/Dec/2007:01:53:14 +0000] Discarding unused printer-state-changed event...
D [08/Dec/2007:01:53:14 +0000] [Job 204] job-sheets=none,none
D [08/Dec/2007:01:53:14 +0000] [Job 204] banner_page = 0
D [08/Dec/2007:01:53:14 +0000] [Job 204] argv[0]="scx4200"
D [08/Dec/2007:01:53:14 +0000] [Job 204] argv[1]="204"
D [08/Dec/2007:01:53:14 +0000] [Job 204] argv[2]="damon"
D [08/Dec/2007:01:53:14 +0000] [Job 204] argv[3]="Acropyx5s3"
D [08/Dec/2007:01:53:14 +0000] [Job 204] argv[4]="1"
D [08/Dec/2007:01:53:14 +0000] [Job 204] argv[5]="media=Letter finishings=3 number-up=1 orientation-requested=3 scaling=100 PageSize=Letter InputSlot=Auto Resolution=600dpi job-uuid=urn:uuid:9d12ce9b-79c7-3074-567b-eed46ba81d8d"
D [08/Dec/2007:01:53:14 +0000] [Job 204] argv[6]="/var/spool/cups/d00204-001"
D [08/Dec/2007:01:53:14 +0000] [Job 204] envp[0]="CUPS_CACHEDIR=/var/cache/cups"
D [08/Dec/2007:01:53:14 +0000] [Job 204] envp[1]="CUPS_DATADIR=/usr/share/cups"
D [08/Dec/2007:01:53:14 +0000] [Job 204] envp[2]="CUPS_DOCROOT=/usr/share/cups/doc-root"
D [08/Dec/2007:01:53:14 +0000] [Job 204] envp[3]="CUPS_FONTPATH=/usr/sha...

Am Samstag, den 08.12.2007, 00:14 +0000 schrieb Till Kamppeter:
> Please edit /usr/lib/cups/filter/pstoraster replacing the "-" by "-_" as
> described in my last comments in
>
> http://bugs.ghostscript.com/show_bug.cgi?id=689577
>
> Then you should be able to print your document with the Samsung driver.
>

Hello Till and all the others,
I tried the bugfix too, but like lunomad, I didn't had success too. My
"pstoraster" looks the same like lunomads.
Can anyone help?

Thank you

Klaus

I have discovered two problems in your error_log:

1. Possible AppArmor problem, Samsung driver cannot write log file:

D [08/Dec/2007:02:06:10 +0000] [Job 207] /var/tmp/rastertosamsungspl.log file open error

Do

sudo aa-complain cupsys

to work around this.

2. This is probably the real problem. The Samsung driver is callin Ghostscript on its own:

D [08/Dec/2007:02:06:10 +0000] [Job 207] ExecProgramV: 'gs' '-dNOPAUSE' '-dBATCH' '-dSAFER' '-q' '-sOutputFile=-' '-sDEVICE=pbmraw' '-r600x600' '-dDEVICEWIDTHPOINTS=612' '-dDEVICEHEIGHTPOINTS=792' '-dFIXEDMEDIA' '-'

This you can only fix if you can find this Ghostscript call in a script file provided by Samsung (open the executables of the Samsung driver with an editor, some are probably scripts. Searching for "ExecProgramV" could help here). Edit the script to use -_ instead of - at the end of the command line. Tell here what you have edited. Unfortunately, I cannot help if the Ghostscript command line is generated by a closed-source parts of the Samsung driver. In this case we need really a fix of the upstream bug in Ghostscript.

Till, I want to thank you a lot for your hard work and wonderful support.
The released packages from hardy fix the problem.

Thank you so much!

lunomad (damon-metapaso) wrote :

Till,

Alas, the Samsung drivers are all closed with no scripts that I can edit. I opened several of the binaries in a hex editor, and I did find an "ExecProgramV" in an ascii section of the rastertosamsungspl binary, but could not find a "-" anywhere. I'm no good at reverse engineering anything, so I guess I'll just have to wait (perhaps a long time?) for the ghostscript fix.

three questions:

1. Do you have any idea where my lpr gui has gone? I used to get two successive print dialogue windows every time I tried to print, the first from the application, then a second LPR GUI window. The LPR gui has gone. I don't miss it, but it had some options on it that one day I might like to use...

2. Prior to posting here, I did try the compile and install of ghostcript, but that didn't seem to work for me. Do you think I might get somewhere by creating the statically linked ghostscript?

3. Where do I sign up/keep checking to see when/if a fix is released?

Lastly, I want to thank you for your help. Amid my frantic frustration in trying to get this PDF to print, I'm suddenly relieved to feel like a part of the community... really, thanks. I now know what the problem is instead of beating my head against an invisible wall.

Damon

You can try the LSB package of Ghostscript.

Download it from (açç packages with "ghostscript" in their names)

http://www.linuxprinting.org/download/printdriver/RPMS/i486/

or

http://www.linuxprinting.org/download/printdriver/RPMS/x86_64/

ependent on your system's architecture. Then install it as described on

http://www.linux-foundation.org/en/OpenPrinting/Database/DriverPackages

Note:

If there are conflicts, do

sudo dpkg -r --force-depends ghostscript ghostscript-x

and then install the ghostscript packages which you have converted with alien.

lunomad (damon-metapaso) wrote :

Till,

Thanks again for your help. I tried all your recommendations and I feel like I'm getting closer, but now ALL print jobs fail (stopped), BUT they fail for the same reason whether or not they acroread or gedit. Here is what I did:

I downloaded:
ghostscript-8.60-1lsb3.1.i486.rpm
ghostscript-cups-8.60-1lsb3.1.i486.rpm
ghostscript-fonts-8.60-1lsb3.1.i486.rpm
ghostscript-x-8.60-1lsb3.1.i486.rpm

and converted them to .deb with alien.

sudo alien --scripts *.rpm

then ran the install

sudo dpkg -i *.deb

My automatic updates immediately complained that the database was corrupt and needed to be fixed with: "sudo apt-get install -f" which I did:

The following extra packages will be installed:
  gs
The following NEW packages will be installed:
  gs
0 upgraded, 1 newly installed, 0 to remove and 3 not upgraded.
Need to get 18.0kB of archives.
After unpacking 49.2kB of additional disk space will be used.
Do you want to continue [Y/n]? y
WARNING: The following packages cannot be authenticated!
  gs
Install these packages without verification [y/N]? y
Get:1 http://ubuntu.mirror.rafal.ca gutsy-updates/main gs 8.61.dfsg.1~svn8187-0ubuntu3.2 [18.0kB]
Fetched 18.0kB in 0s (69.7kB/s)
Selecting previously deselected package gs.
(Reading database ... 172836 files and directories currently installed.)
Unpacking gs (from .../gs_8.61.dfsg.1~svn8187-0ubuntu3.2_all.deb) ...
Setting up gs (8.61.dfsg.1~svn8187-0ubuntu3.2) ...
damon@arclight-linux:~/Desktop/download/drivers/LSB$

OK. So. Now ALL print jobs are stopped (fail), with the following CUPS error:

D [08/Dec/2007:22:27:10 +0000] [Job 228] /var/tmp/rastertosamsungspl.log file open error
D [08/Dec/2007:22:27:10 +0000] [Job 228] ExecProgramV: 'gs' '-dNOPAUSE' '-dBATCH' '-dSAFER' '-q' '-sOutputFile=-' '-sDEVICE=pbmraw' '-r600x600' '-dDEVICEWIDTHPOINTS=612' '-dDEVICEHEIGHTPOINTS=792' '-dFIXEDMEDIA' '-'
D [08/Dec/2007:22:27:10 +0000] [Job 228] execv(gs): No such file or directory
E [08/Dec/2007:22:27:10 +0000] [Job 228] Unable to open input
D [08/Dec/2007:22:27:10 +0000] [Job 228] Child PID for gs is 13207
E [08/Dec/2007:22:27:10 +0000] [Job 228] Failed to load the PPM image
D [08/Dec/2007:22:27:10 +0000] Discarding unused printer-state-changed event...
D [08/Dec/2007:22:27:10 +0000] cupsdCloseClient: 13
E [08/Dec/2007:22:27:10 +0000] PID 13204 (/usr/lib/cups/filter/rastertosamsungspl) stopped with status 3!
D [08/Dec/2007:22:27:10 +0000] [Job 228] Wrote 1 pages...
D [08/Dec/2007:22:27:10 +0000] PID 13203 (/usr/lib/cups/filter/pstops) exited with no errors.

I saw the .log file open error, so I thought I would try again to issue:
sudo aa-complain cupsys
Can't find cupsys in the system path list. If the name of the application is correct, please run 'which cupsys' as a user with the correct PATH environment set up in order to find the fully-qualified path.

Now I'm really in a pickle, as nothing prints....any thoughts? I'm going to reboot and see if that makes any difference.

Damon

This Ghostscript is located in a special path (/opt/ghostscript/bin/gs). To get the addition of this path added to the $PATH environment variable of the whole system, reboot your system.

lunomad (damon-metapaso) wrote :
Download full text (6.8 KiB)

Till,

There seems to be a discrepancy between my PATH and the PATH that cups sees?

(from env run at the shell)
PATH=/opt/ghostscript/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

$ which gs
/opt/ghostscript/bin/gs

and yet the path in the following error log is
"PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"

D [08/Dec/2007:23:00:37 +0000] Print-Job ipp://localhost/printers/scx4200
D [08/Dec/2007:23:00:37 +0000] print_job: auto-typing file...
D [08/Dec/2007:23:00:37 +0000] add_job: requesting-user-name="damon"
D [08/Dec/2007:23:00:37 +0000] Adding default job-sheets values "none,none"...
I [08/Dec/2007:23:00:37 +0000] [Job 231] Adding start banner page "none".
D [08/Dec/2007:23:00:37 +0000] Discarding unused job-created event...
I [08/Dec/2007:23:00:37 +0000] [Job 231] Adding job file of type application/postscript.
I [08/Dec/2007:23:00:37 +0000] [Job 231] Adding end banner page "none".
I [08/Dec/2007:23:00:37 +0000] [Job 231] Queued on "scx4200" by "damon".
D [08/Dec/2007:23:00:37 +0000] [Job 231] hold_until = 0
D [08/Dec/2007:23:00:37 +0000] Discarding unused printer-state-changed event...
D [08/Dec/2007:23:00:37 +0000] [Job 231] job-sheets=none,none
D [08/Dec/2007:23:00:37 +0000] [Job 231] banner_page = 0
D [08/Dec/2007:23:00:37 +0000] [Job 231] argv[0]="scx4200"
D [08/Dec/2007:23:00:37 +0000] [Job 231] argv[1]="231"
D [08/Dec/2007:23:00:37 +0000] [Job 231] argv[2]="damon"
D [08/Dec/2007:23:00:37 +0000] [Job 231] argv[3]=""
D [08/Dec/2007:23:00:37 +0000] [Job 231] argv[4]="1"
D [08/Dec/2007:23:00:37 +0000] [Job 231] argv[5]="Resolution=600dpi MediaType=Off JCLEconomode=PRINTERDEFAULT PageRegion=Letter InputSlot=Auto PageSize=Letter Altitude=Low orientation-requested=3 sides=two-sided-long-edge job-uuid=urn:uuid:e3ced785-d974-3614-67ec-681f1c365d46"
D [08/Dec/2007:23:00:37 +0000] [Job 231] argv[6]="/var/spool/cups/d00231-001"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[0]="CUPS_CACHEDIR=/var/cache/cups"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[1]="CUPS_DATADIR=/usr/share/cups"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[2]="CUPS_DOCROOT=/usr/share/cups/doc-root"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[3]="CUPS_FONTPATH=/usr/share/cups/fonts"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[4]="CUPS_REQUESTROOT=/var/spool/cups"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[5]="CUPS_SERVERBIN=/usr/lib/cups"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[6]="CUPS_SERVERROOT=/etc/cups"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[7]="CUPS_STATEDIR=/var/run/cups"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[8]="PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[9]="SERVER_ADMIN=root@arclight-linux"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[10]="SOFTWARE=CUPS/1.3.2"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[11]="TMPDIR=/var/spool/cups/tmp"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[12]="TZ=User defined"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[13]="USER=root"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[14]="CUPS_SERVER=/var/run/cups/cups.sock"
D [08/Dec/2007:23:00:37 +0000] [Job 231] envp[15]="CUPS_ENCRYPTION=IfReq...

Read more...

Changed in gs-gpl:
status: Confirmed → Fix Released
lunomad (damon-metapaso) wrote :

Till,

Again appreciating your work and advocacy re GS-GPL bugzilla. Glad to hear you pushing for a fix--better than trying to support various workarounds.

I see today that a fix has been committed. I'm very clueless as to where I can obtain the fix. Is it downloadable or should I wait for a new release?

for now, all printing is broken...

Damon

The patch which fixes the upstream bug is simple (change in only one line of the source code), so I will create a fixed Hardy package soon and this bug is also a candidate for a Stable Release Upgrade (SRU) for Gutsy.

Changed in ghostscript:
status: Fix Released → In Progress

This is the patch which has to be applied to Ghostscript:

----------
Modified: trunk/gs/src/seexec.c
===================================================================
--- trunk/gs/src/seexec.c 2007-12-08 13:57:53 UTC (rev 8427)
+++ trunk/gs/src/seexec.c 2007-12-09 06:33:00 UTC (rev 8428)
@@ -215,8 +215,10 @@
  * so that it will stay under the limit even after adding min_in_size
  * for a subsequent filter in a pipeline. Note that we have to specify
  * a size of at least 128 so that filter_read won't round it up.
+ * The value of 132 is small enough for the sample file of the bug 689577 but
+ * still sufficient for comparefiles/fonttest.pdf .
  */
 const stream_template s_exD_template = {
- &st_exD_state, s_exD_init, s_exD_process, 8, 200,
+ &st_exD_state, s_exD_init, s_exD_process, 8, 132,
     NULL, s_exD_set_defaults
 };
----------

So I could, in theory, change my copy of the downloaded ghostscript 8.61
and recompile? I really don't know the best method to obtain the fix
for my gutsy system.

Changed in ghostscript:
status: In Progress → Fix Committed

ghostscript (8.61.dfsg.1-0ubuntu3) hardy; urgency=low

  * debian/patches/42_print_encrypted_PDFs_from_adobe_reader_8.dpatch:
    Fixed printing of encrypted PDF files from Adobe Reader 8.1.1. This is
    the real fix now and not only a workaround. (Ghostscript bug #689577,
    Ubuntu bug LP: #172264).

 -- Till Kamppeter <email address hidden> Mon, 12 Dec 2007 12:17:43 +0000

Changed in ghostscript:
status: Fix Committed → Fix Released
description: updated

Stable Release Update (SRU) Request -- for GUTSY

Impact of the bug

PDF files are very often opened with the Adobe Reader which Gutsy ships in version 8.1.1. Many of these files are restricted in how they can be used. To enforce these rules they are encrypted. If you try to print these files from Adobe Reader 8.11, the PostScript output of the Adobe Reader hits a bug in Ghostscript. Ghostscript errors out and nothing comes out of the printers. Users complain that they cannot print many PDFs.

Fix of the bug

Ghostscript's upstream developers have fixed this problem by a very small and simple patch. See one of my earlier comments in this bug report. The patch indeed works under Hardy.

Here is the debdiff for the Gutsy package of Ghostscript:

https://www.linux-foundation.org/~till/tmp/ubuntu/gutsy/ghostscript/ghostscript_8.61.dfsg.1~svn8187-0ubuntu3.2_8.61.dfsg.1~svn8187-0ubuntu3.3.debdiff

Source packages are here:

https://www.linux-foundation.org/~till/tmp/ubuntu/gutsy/ghostscript/

Everyone who is suffering this problem please test and report here. Thanks.

Note: Only Ghostscript needs to be updated for this SRU. The nomination function has marked all packages. The workarounds in foomatic-filters and foo2zjs are not needed in the SRU. The real bug fix in Ghostscript makes them unnecessary.

Launchpad needs a package selection function on the nomination screen.

Please note also that I will not undo the buffered input workarounds in Hardy or upstream, as buffered input is of advantage for the performance.

description: updated
Martin Pitt (pitti) wrote :

This makes me a little nervous, since it looks like "change the input buffer size to a random other number and hope for the best". Of course it has been chosen a little more specific, but reading the upstream bug reveals no rock solid justification. Wouldn't that potentially break other PDF files? Can anything break in theory if the input buffer is made smaller?

(BTW, I closed the gutsy tasks for the other packages than ghostscript).

Changed in foo2zjs:
status: New → Invalid
Changed in foomatic-filters:
status: New → Invalid
Changed in ghostscript:
status: New → Incomplete

For everyone who is not able to print with Gutsy or who wants to test the package proposed for the SRU, here are instructions to build and install the package:

Create a directory and put all files from

https://www.linux-foundation.org/~till/tmp/ubuntu/gutsy/ghostscript/

into it. Go to this directory and do

sudo apt-get install build-essential fakeroot
sudo apt-get build-dep ghostscript
dpkg-source -x *.dsc
cd ghostscript-8.61*
dpkg-buildpackage -rfakeroot
cd ..
sudo dpkg -i *.deb

This compiles and installs the package of the SRU proposal. Please tell all your experience with it after you have installed it, especially if you cannot print any other file any more.

The package fixes my previous printing problem. Very well done, Till.
Thanks.

I am down to the wire for leaving on vacation and not able to test many
additional files...but I did get my important forms printed out.

Thanks again,
Damon

Till Kamppeter wrote:
> For everyone who is not able to print with Gutsy or who wants to test
> the package proposed for the SRU, here are instructions to build and
> install the package:
>
> Create a directory and put all files from
>
> https://www.linux-foundation.org/~till/tmp/ubuntu/gutsy/ghostscript/
>
> into it. Go to this directory and do
>
> sudo apt-get install build-essential fakeroot
> sudo apt-get build-dep ghostscript
> dpkg-source -x *.dsc
> cd ghostscript-8.61*
> dpkg-buildpackage -rfakeroot
> cd ..
> sudo dpkg -i *.deb
>
> This compiles and installs the package of the SRU proposal. Please tell
> all your experience with it after you have installed it, especially if
> you cannot print any other file any more.
>
>

philipp beitz (philippbeitz) wrote :

Wasnt able to build the packages. Possible to add the debs ?

shaddin (shaddin) wrote :

Till, I wasnt able to build, getting the following error:

gpg: skipped "Till Kamppeter <email address hidden>": secret key not available
gpg: [stdin]: clearsign failed: secret key not available

 dpkg-genchanges
dpkg-genchanges: not including original source code in upload
dpkg-buildpackage: binary and diff upload (original source NOT included)
(WARNING: Failed to sign .dsc and .changes file)

Just warnings, no errors ('cause dpkg-buildpackage couldn't find Till's GPG private key). The packages should have been built.

philipp beitz (philippbeitz) wrote :

i compiled the new debs with prevu all is fine now...

HaraldK (pifpafpuf) wrote :

From the table at the top of this page, I read that this should be fixed and released, however it does not work for me and I guess I have an up-to-date gutsy system, because:

%sudo apt-get dist-upgrade
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

% dpkg -s ghostscript|grep Version
Version: 8.61.dfsg.1~svn8187-0ubuntu3.2

So the 3.3 does not seem to be out yet.

Nevertheless: after doing the compile magic described above, I now can print my bank statements.

Further remark: This does not help for neither kpdf or an acroread7 nor for evince. Acroread7->postscript shows an empty page in gv. Kpdf->postscript shows the page in gv but rendered seemingly with replacement fonts of the wrong spacing. Evince->postscript shows up even stranger in gv, as if a bitmap font was anti-aliased.

So for now the only way to print my bank statement is acroread8 (at least they provide an deb).

HaraldK

jmagsho (jmagsho) wrote :

I was unable to get the packages to properly build either so my testing
has been unsuccessful thus far...

HaraldK wrote:
> >From the table at the top of this page, I read that this should be fixed
> and released, however it does not work for me and I guess I have an up-
> to-date gutsy system, because:
>
> %sudo apt-get dist-upgrade
> 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
>
> % dpkg -s ghostscript|grep Version
> Version: 8.61.dfsg.1~svn8187-0ubuntu3.2
>
> So the 3.3 does not seem to be out yet.
>
> Nevertheless: after doing the compile magic described above, I now can
> print my bank statements.
>
> Further remark: This does not help for neither kpdf or an acroread7 nor
> for evince. Acroread7->postscript shows an empty page in gv.
> Kpdf->postscript shows the page in gv but rendered seemingly with
> replacement fonts of the wrong spacing. Evince->postscript shows up even
> stranger in gv, as if a bitmap font was anti-aliased.
>
> So for now the only way to print my bank statement is acroread8 (at
> least they provide an deb).
>
> HaraldK
>
>

lunomad, can you upload the .deb files which you have built to a web server, so that others can download and test them? Thanks.

shaddin, the GPG key stuff is no problem, when this message appears the .deb packages are already built. Simply ignore the message and install the .deb packages.

HaraldK, this is fixed and realeased for Hardy, the development line for the next edition of Ubuntu. This bug report is now about backporting the fix to Gutsy. Now we are in the state of asking users (especially the original reporters of this bug) to test whether the fix works in Gutsy and does not break anything. So please compile the new Ghostscript version as I told earlier and report your testing results here.

jmagsho, Please post the screen output of your failed build, especially error messages.

And to anyone else, please test the new Ghostscript by compiling it as I described and ignoring the GPG warnings. Report your results here.

philipp beitz (philippbeitz) wrote :

Tock tock. No need to compile just use prevu to backport the hardy version of ghostscript to gutsy...

It works :)

philipp beitz, thank you for the hint with prevu. This makes it easy and allows even building packages for distros other than the currently running one.

Anyone who wants to test simply do

sudo apt-get install prevu
sudo DIST=gutsy prevu-init
DIST=gutsy prevu https://www.linux-foundation.org/~till/tmp/ubuntu/gutsy/ghostscript/ghostscript_8.61.dfsg.1~svn8187-0ubuntu3.3.dsc

You can build for any Ubuntu version regardless of what is running on your build host, simply by replacing "gutsy" with the name of the target Ubuntu version.

If you encounter any problems with prevu, download the three files (.dsc, .diff.gz, .orig.tar.gz) into the same directory and from this directory do

DIST=gutsy prevu ghostscript_8.61.dfsg.1~svn8187-0ubuntu3.3.dsc

I did a prevu build for 32-bit and 64-bit PCs now. The resulting binary .deb packages are available here:

https://www.linux-foundation.org/~till/tmp/ubuntu/gutsy/ghostscript/binary/

Please download all packages for your architecture (*_i386.deb, *_amd64.deb) and the *_all.deb packages and install them with "sudo dpkg -i *.deb"). Then you can test ghostscript without compiling. Report your results here.

Am Dienstag 08 Januar 2008 17:13:14 schrieb Till Kamppeter:
> I did a prevu build for 32-bit and 64-bit PCs now. The resulting binary
> .deb packages are available here:
>
> https://www.linux-
> foundation.org/~till/tmp/ubuntu/gutsy/ghostscript/binary/
>
> Please download all packages for your architecture (*_i386.deb,
> *_amd64.deb) and the *_all.deb packages and install them with "sudo dpkg
> -i *.deb"). Then you can test ghostscript without compiling. Report your
> results here.

Thank you, Till!
I did as you mentioned above and printing of protected PDF with AdobeReader 8
works fine.
Good job!

Klaus

We have a +1 from lunomad, philipp beitz, and ubunovi (thanks to you all for testing). What about passing the fix through to Gutsy Updates?

Martin Pitt (pitti) wrote :

Till: ok, let's upload them to -proposed and give them another test (to check for misbuilds, etc.). I uploaded your package.

Martin Pitt (pitti) wrote :

Please test the packages in -proposed (should be available in a few hours) and give feedback here.

Changed in ghostscript:
status: Incomplete → Fix Committed
philipp beitz (philippbeitz) wrote :

will install them since they are available and report it here. Thanks for uploading.

another bug in gutsy done :D

HaraldK (pifpafpuf) wrote :

Till,

sorry for the confusing message. I did compile as you described above and it works for me, not breaking anything as far as I can see.

% dpkg -s ghostscript|grep -i version
Version: 8.61.dfsg.1~svn8187-0ubuntu3.3

The only thing I find a bit strange:

% gs
GPL Ghostscript SVN PRE-RELEASE 8.61 (2007-08-02)

It still says pre-release, but maybe I misinterpreted some comments noting that this indicates a wrong version.

HaraldK.

HaraldK, the fix is done by a small patch which does nothing more than fixing this problem, it is not a full update to Ghostscript 8.61 final.

Martin Pitt (pitti) wrote :

HaraldK, can you please test the actual binaries in gutsy-proposed and give feedback here? (not a locally compiled version, please, since there might always be differences in the toolchain, etc.). Thank you!

jmagsho (jmagsho) wrote :

Till, I tested the binaries in gutsy-proposed, and they're working as expected. Problem solved. Thanks for all your help with this one!

Martin Pitt (pitti) wrote :

Copied to -updates.

Changed in ghostscript:
status: Fix Committed → Fix Released
Holger Koch (atarax) wrote :

I'm not sure, if this is precisely the same bug that I experience:

I am using Adobe Reader 8.1.2 with ghostscript 8.61.dfsg.1-1ubuntu3 and CUPS 1.3.7. When I try to print the attached file with Adobe Reader I get a CUPS error:
/usr/lib/cups/filter/pstoraster failed

and the printing process does not start.

Many other PDFs are printed as expected.

Holger Koch (atarax) wrote :

My printer is EPSON Stylus C64 with Ubuntu 8.04

Changed in gs-gpl:
importance: Unknown → Critical
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.