bugGNU Octave - Bugs: bug #55723, print -deps doesn't work with...


bug #55723: print -deps doesn't work with option -tight on Windows

Submitted by:  Markus Mützel <mmuetzel>
Submitted on:  Sat 16 Feb 2019 08:18:12 PM UTC
Category:  Plotting with OpenGL Severity:  2 - Minor
Priority:  3 - Low Item Group:  Unexpected Error or Warning
Status:  Need Info Assigned to:  None
Originator Name:  Open/Closed:  * Open
Release:  * 5.1.0 Operating System:  * Microsoft Windows
* Mandatory Fields

Add a New Comment (Rich Markup)

Comment Type & Canned Response:


( Jump to the original submission )

Fri 14 Aug 2020 11:29:44 PM UTC, comment #6: 

Is printing with option -tight still an issue on Windows?  Does this need to be updated for the 6.1 release?

Rik <rik5>
Project Administrator
Tue 26 Feb 2019 11:24:23 PM UTC, comment #5: 

There is a lot of logic in print.m for constructing command pipelines on either Unixy systems or Windows systems. Part of that logic uses the " & " separator between subsequent commands on Windows systems (and the " ; " separator on Unixy systems). That shows in the debug output you pasted in comment #0.

Is that still correct on current systems? Or is the command pipeline being sent to bash even on Windows these days, and the " & " is being interpreted as a background job delimiter?

Mike Miller <mtmiller>
Project Administrator
Tue 19 Feb 2019 08:59:28 PM UTC, comment #4: 

It didn't work in 4.4.1 either.
So given that the default is changed to '-loose' in Octave 5, this is no longer a regression.

Markus Mützel <mmuetzel>
Project Member
Tue 19 Feb 2019 06:41:51 PM UTC, comment #3: 

I don't get any errors on Debian with 'print -deps -tight', with either 4.4.1 or 5.0.91, and ghostscript 9.26. So is this error specific to Windows? Did 'print -deps -tight' work on Windows in 4.4.1?

Mike Miller <mtmiller>
Project Administrator
Sun 17 Feb 2019 11:21:31 AM UTC, comment #2: 

Printing with the loose option does indeed work. Re-titling accordingly.

This might be related to [1] where the error is suspected to be in recent versions of Ghostscript. But it already occurs for us with a quite old Ghostscript 9.16 that we bundle in the Windows installer.

Updating to a more recent version of Ghostscript (bug #55724) doesn't help either. But it avoids the part with the binary data in the error message.

Something in the interaction between Ghostscript and epstool doesn't seem to be right. Or it might be that gl2ps produces odd output.

[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=917277

Markus Mützel <mmuetzel>
Project Member
Sun 17 Feb 2019 01:09:56 AM UTC, comment #1: 

This may be related to the loose/tight bounding box.

Could you try

plot ([0 1]);
print -deps -loose test.epas

and see if that works?

Incidentally, I changed the default back to "-loose" for eps printing with 5.1 in this changeset (https://hg.savannah.gnu.org/hgweb/octave/rev/3a10bdbe6839).

Rik <rik5>
Project Administrator
Sat 16 Feb 2019 08:18:12 PM UTC, original submission:  

The following code doesn't produce any file with Octave 5.0.91:

plot ([0 1]);
print -deps test.eps

With Octave 4.4.1 this was working.

Stripping the "quiet" commands from the pipeline produced in print, I see the following:

>> plot([0 1]);
>> tmpfile = [tempname() ".eps"];
>> pipeline2 = [OCTAVE_HOME '\bin\gs.exe -dNOPAUSE -dBATCH -dSAFER -dAutoRotatePages=/None -sDEVICE=eps2write -sOutputFile="' tmpfile '" - ' tmpfile ' & '
 OCTAVE_HOME '\bin\epstool.exe --copy --bbox ' tmpfile ' ''test.eps'''];
>> drawnow ('eps', ['|' pipeline2]);
GPL Ghostscript 9.16 (2015-03-30)
Copyright (C) 2015 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Loading NimbusSan-Reg font from %rom%Resource/Font/NimbusSan-Reg... 4261748 2704464 2196304 875951 2 done.

DSC Information
At line 1281:
   h6m5 W;l4?rz/cpݿS3x[V߅j_~Vâj:mN@[A͒@z<.<0?[(!k1[EL FsQZ    b !

Lines in DSC documents must be shorter than 255 characters.

"gswin32c.exe"  -dNOPAUSE -dBATCH -sDEVICE=bbox   -c "<</PageSize [9400 9400] /PageOffset [3000 3000]>> setpagedevice" -f "c:\users\markus\appdata\local\te
Ghostscript failed to obtain bounding box

In Octave 4.4.1 the pipeline sent to drawnow was different:

C:\Octave\OCTAVE~1.1\bin\gs.exe -dQUIET -dNOPAUSE -dBATCH -dSAFER -dAutoRotatePages=/None -sDEVIC
E=eps2write -sOutputFile=""test.eps"" -

Maybe related to bug #48689.

Markus Mützel <mmuetzel>
Project Member


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by mmuetzel (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only project members can vote.





    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-02-26 mtmiller Severity3 - Normal => 2 - Minor
        Priority5 - Normal => 3 - Low
        Release5.0.91 => 5.1.0
        SummaryPrinting to .eps doesn't work with option -tight => print -deps doesn't work with option -tight on Windows
    2019-02-19 mmuetzel Item GroupRegression => Unexpected Error or Warning
    2019-02-17 mmuetzel SummaryPrinting to .eps doesn't work => Printing to .eps doesn't work with option -tight
    2019-02-17 rik5 StatusNone => Need Info

    Back to the top

    Powered by Savane 3.9