Dviout: viewing of files with eps graphics causes an error

Akira Kakuto kakuto at jcom.zaq.ne.jp
Fri Dec 1 00:52:14 CET 2023


On 2023/11/30 21:06, vgivanov--- via tex-live wrote:
> Hi, All!
> 
> I have a problem with dviout (ver.3.19.0) from the TeXlive 2023 distribution.
> 
> My OS is Windows 10.
> 
> An attempt to view a dvi file with dviout causes an error, if the source
> file contains any eps graphics.
> 
> E.g., I create the following sample source file 'test.tex':
> --- begin ---
> \documentclass{article}
> \usepackage{graphicx}
> \begin{document}
> \includegraphics{fig.eps}
> \end{document}
> --- end ---
> and compile it by latex to 'test.dvi'.
> 
> Running '<texlivedir>\bin\windows\dviout.exe test.dvi' I see a pop-up message:
> --- begin ---
> Failed to make fig.pbm by the command
> <texlivedir>\tlpkg\tlgs\bin\gswin64c.exe @tmp$.@@@
> The file @tmp$.@@@ is a parametric file
> --- end ---
> 
> The content of @tmp$.@@@ (which is generated by dviout) is:
> --- begin ---
> -q
> -dNOPAUSE
> -sDEVICE=pbmraw
> -sOUTPUTFILE=fig.pbm
> -r600
> -g2200x1808
> tmp$.ps
> quit.ps
> --- end ---
> 
> The content of tmp$.ps (which is generated by dviout too) is:
> --- begin ---
> /NumbDict countdictstack def
> 1 dict begin
> /showpage {} def
> userdict begin
> 0.000000 0.000000 translate
> 1.000000 1.000000 scale
> -0.000000 -0.000000 translate
> (fig.eps) run
> countdictstack NumbDict sub {end} repeat
> showpage
> --- end ---
> 
> The output of the command '<texlivedir>\tlpkg\tlgs\bin\gswin64c.exe @tmp$.@@@' is:
> --- begin ---
> Error: /invalidfileaccess in --run--
> Operand stack:   (fig.eps)   (r)
> Execution stack:   %interp_exit   .runexec2   --nostringval--   run --nostringval--   2   %stopped_push   --nostringval--   
> run   run false   1   %stopped_push   1976   1   3   %oparray_pop   1975   1   3 %oparray_pop   1960   1   3   %oparray_pop   
> 1833   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   run  --nostringval--   2   
> %stopped_push   --nostringval--   1976   1   5 %oparray_pop   run
> Dictionary stack:   --dict:758/1123(ro)(G)--   --dict:0/20(G)-- --dict:88/200(L)--   --dict:1/1(L)--   --dict:88/200(L)--
> Current allocation mode is local
> Last OS error: Permission deniedCurrent file position is 178
> GPL Ghostscript 10.02.0: Unrecoverable error, exit code 1
> --- end ---
> 
> If I manually create the file 'fig.pbm' by the command
> '<texlivedir>\tlpkg\tlgs\bin\gswin64c.exe -q -dNOSAFER -dNOPAUSE -sDEVICE=pbmraw -sOUTPUTFILE=fig.pbm -r600 -g2200x1808 tmp$.ps'
> the command '<texlivedir>\bin\windows\dviout.exe test.dvi' works without problems.
> 
> The idea seems to be that the command "gswin64c.exe @tmp$.@@@" runs Ghostscript with a list of parameters from the file 
> @tmp$.@@@, but it does not work that way, at least for version 10.02.0.
> 
> How can I fix the problem?
> 
> WBR,
>    Vladimir.

The feature is disabled because of a security problem that any program
can be executed. In order to enable the feature, you have to change
the 'gsx:' part each time in the following way:

Option
Setup Parameters...
Graphic
   Check that Ghostscript is On(default)
   Add an option -dNOSAFER in gsx:
gsx:.../tlgs/bin/gswin64c.exe -dNOSAFER
click Save
click OK

Best,
Akira



More information about the tex-live mailing list.