[changeset] __gnuplot_get_var__.m seems to fail while building documentation

Ben Abbott bpabbott at mac.com
Sun Apr 12 08:22:47 CDT 2009


On Apr 12, 2009, at 3:00 AM, Thomas Treichl wrote:

> Ben Abbott schrieb:
>> On Apr 11, 2009, at 4:36 PM, Thomas Treichl wrote:
>>> Hi,
>>>
>>> I currently have the problem on MacOSX that I can't make the  
>>> documentation right
>>> after compilation. The version that I tried to build is:
>>>
>>>  $ hg tip
>>>  changeset:   9110:22ae6b3411a7
>>>  tag:         tip
>>>  user:        David Bateman <dbateman at free.fr>
>>>  date:        Sat Apr 11 16:26:01 2009 +0200
>>>
>>> The error output is:
>>>
>>>  makeinfo -I.. -I. -I./.. ./octave.texi
>>>  ../../run-octave -f -q -H -p . --eval "sparseimages ('gplot',  
>>> 'eps');"
>>>  ans = [](0x0)
>>>  error: __gnuplot_get_var__: stream to gnuplot not open
>>>  error: called from:
>>>  error:   /Users/Thomas/Development/octave/scripts/plot/ 
>>> __gnuplot_get_var__.m
>>>  at line 47, column 5
>>>  error:   /Users/Thomas/Development/octave/doc/interpreter/ 
>>> sparseimages.m at
>>>  line 54, column 3
>>>  error:   /Users/Thomas/Development/octave/doc/interpreter/ 
>>> sparseimages.m at
>>>  line 30, column 2
>>>  make[3]: *** [gplot.eps] Error 1
>>>  make[2]: *** [interpreter] Error 2
>>>  make[1]: *** [doc] Error 2
>>>  make: *** [all] Error 2
>>>
>>> I then had a look at __gnuplot_get_var__.m line 40 and removed the  
>>> semicolon of
>>> this line: ostream always seems to be an empty matrix. Nect I put  
>>> a "get (h)"
>>> right before line 40 and found out that there is no  
>>> __plot_stream__ option
>>> available in the return value of "get (h)". Any ideas?
>>>
>>> Thanks,
>>>
>>>  Thomas
>> I assume this happens with the "visible" property is "off" ?
>> I'm guessing that the error actually should trace back to print.m ?
>> $ fgrep -in __gnuplot_get_var__ *.m
>> __gnuplot_get_var__.m:20:## @deftypefn {Function File} {@var{value}  
>> =} __gnuplot_get_var__ (@var{h}, @var{name}, @var{fmt})
>> __gnuplot_get_var__.m:27:function gp_var_value =  
>> __gnuplot_get_var__ (h, gp_var_name, fmt)
>> __gnuplot_get_var__.m:45:    error ("__gnuplot_get_var__: stream to  
>> gnuplot not open");
>> __gnuplot_get_var__.m:48:      error ("__gnuplot_get_var__: Need  
>> mkfifo that is not implemented under Windows");
>> __gnuplot_get_var__.m:65:      error ("__gnuplot_get_var__: Can not  
>> make fifo (%s)", msg);
>> __gnuplot_get_var__.m:89:        error ("__gnuplot_get_var__: Can  
>> not open fifo.");
>> gnuplot_drawnow.m:46:        available_terminals =  
>> __gnuplot_get_var__ (plot_stream, "GPVAL_TERMINALS");
>> print.m:407:        available_terminals = __gnuplot_get_var__ (gcf,  
>> "GPVAL_TERMINALS");
>> A simple example ...
>> octave:1> figure(1);set(gcf,'visible','off');plot(1:10);print(gcf,'- 
>> dpdf','test.pdf')
>> error: __gnuplot_get_var__: stream to gnuplot not open
>> error: called from:
>> error:   /Users/bpabbott/Development/mercurial/local_clone/scripts/ 
>> plot/__gnuplot_get_var__.m at line 45, column 5
>> Thomas, what version of gnuplot are you running ... If not the  
>> developers sources then I'm confused.
>> A simple fix would be to check that the "visible" property is "on"  
>> before relying on __gnuplot_get_var__. If there are no objections,  
>> I'll create a changeset.
>> On another point, any chance the error can be made to trace back  
>> correctly? Meaning that the error Thomas found does not mention  
>> "print.m", but a call to print.m results in this error?
>> 48 function gplotimages (nm, typ)
>> 49   bury_output ();
>> 50   A = sparse ([2,6,1,3,2,4,3,5,4,6,1,5],
>> 51               [1,1,2,2,3,3,4,4,5,5,6,6], 1, 6, 6);
>> 52   xy = [0,4,8,6,4,2;5,0,5,7,5,7]';
>> 53   gplot (A, xy)
>> 54   print (cstrcat (nm, ".", typ), cstrcat ("-d", typ))
>> 55   bury_output ();
>> 56 endfunction
>
> Hi Ben,
>
> thanks for your help. You're right, I am 'was' using 4.3 patchlevel  
> 0. I switched back to 4.2.5 and now the creation of the doc works  
> very well. Is it currently better to use a Gnuplot of the 4.2.x  
> series?
>
> If I once again check with Gnuplot 4.3.0 then there is the  
> "visibility" property set "off", yes right.
>
> Don't know why we don't see the trace back of print.m, you're right,  
> if I put a keyboard statement to line 40 of __gnuplot_get_var__.m  
> and then use the dbstack function I see
>
>  debug> vdbs = dbstack ();
>  debug> vdbs(:).name
>  ans = __gnuplot_get_var__
>  ans = print
>  ans = sparseimages>gplotimages
>  ans = sparseimages
>  debug>
>
> Best regards,
>
>  Thoams

The problem with 4.3 is not intended. In general the backend should  
work better with 4.3.

I assume the trace back may be having trouble with the unwind_protect  
blocks ... but I'm just guessing.

In any event, I've attached a changeset intended to fix the original  
problem.

I'll do some testing, and hope to push it later today.

Ben


-------------- next part --------------
A non-text attachment was scrubbed...
Name: changeset-visible.patch
Type: application/octet-stream
Size: 3298 bytes
Desc: not available
Url : https://www-old.cae.wisc.edu/pipermail/bug-octave/attachments/20090412/48b8b173/attachment.obj 
-------------- next part --------------






More information about the Bug-octave mailing list