[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Octave-3.3.55 and Octave-3.3.90 on OSX
From: |
Ben Abbott |
Subject: |
Re: Octave-3.3.55 and Octave-3.3.90 on OSX |
Date: |
Mon, 31 Jan 2011 08:10:57 -0500 |
On Jan 31, 2011, at 2:02 AM, Richard Campbell wrote:
> On Jan 30, 2011, at 3:14 PM, Richard Campbell wrote:
>
>> On Jan 30, 2011, at 3:11 PM, Ben Abbott wrote:
>>
>>> On Jan 30, 2011, at 3:01 PM, Richard Campbell wrote:
>>>
>>>> On Jan 30, 2011, at 2:48 PM, Ben Abbott wrote:
>>>>
>>>>> On Jan 30, 2011, at 1:10 PM, Richard Campbell wrote:
>>>>>
>>>>>> On Jan 30, 2011, at 1:04 PM, John W. Eaton wrote:
>>>>>>
>>>>>>> On 30-Jan-2011, Richard Campbell wrote:
>>>>>>>
>>>>>>> | It's just a line plot. I pasted it in an earlier message in this
>>>>>>> thread. I get
>>>>>>> | the same error when trying to print if I had typed surf(peaks) as
>>>>>>> well. It
>>>>>>> | plots fine on the screen, I just can't print it to a file.
>>>>>>> |
>>>>>>> | octave:1> plot(randn(10,1))
>>>>>>> | octave:2> print('-dpng','test.png')
>>>>>>> | warning: print.m: fig2dev binary is not available
>>>>>>> | error: invalid assignment to cs-list outside multiple assignment
>>>>>>> | error: matrix cannot be indexed with {
>>>>>>> | error: evaluating argument list element number 3
>>>>>>> | error: called from:
>>>>>>> | error: /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m
>>>>>>> at line
>>>>>>> | 390, column 11
>>>>>>> | octave:2> print('-depsc','test.eps')
>>>>>>> | error: invalid assignment to cs-list outside multiple assignment
>>>>>>> | error: matrix cannot be indexed with {
>>>>>>> | error: evaluating argument list element number 3
>>>>>>> | error: called from:
>>>>>>> | error: /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m
>>>>>>> at line
>>>>>>> | 390, column 11
>>>>>>> | octave:2> print('-dtiff','test.tiff')
>>>>>>> | error: invalid assignment to cs-list outside multiple assignment
>>>>>>> | error: matrix cannot be indexed with {
>>>>>>> | error: evaluating argument list element number 3
>>>>>>> | error: called from:
>>>>>>> | error: /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m
>>>>>>> at line
>>>>>>> | 390, column 11
>>>>>>> |
>>>>>>>
>>>>>>> In 3.3.90, line 390 of print.m is
>>>>>>>
>>>>>>> ## restore modified properties
>>>>>>> if (isstruct (props))
>>>>>>> for n = 1:numel(props)
>>>>>>> if (ishandle (props(n).h))
>>>>>>> set (props(n).h, props(n).name, props(n).value{1}); <<< line 390
>>>>>>> endif
>>>>>>> endfor
>>>>>>> endif
>>>>>>>
>>>>>>> Try this in Octave:
>>>>>>>
>>>>>>> dbstop print 390
>>>>>>> peaks
>>>>>>> print ('-depsc', 'test.eps')
>>>>>>>
>>>>>>> then when you get the "debug>" prompt, try looking at the following
>>>>>>> items:
>>>>>>>
>>>>>>> numel (props)
>>>>>>> props
>>>>>>> props(1)
>>>>>>> props(2)
>>>>>>>
>>>>>>> Here is what I see:
>>>>>>>
>>>>>>> debug> numel (props)
>>>>>>> ans = 2
>>>>>>> debug> props
>>>>>>> props =
>>>>>>>
>>>>>>> 1x2 struct array containing the fields:
>>>>>>>
>>>>>>> h
>>>>>>> name
>>>>>>> value
>>>>>>>
>>>>>>> debug> props(1)
>>>>>>> ans =
>>>>>>>
>>>>>>> scalar structure containing the fields:
>>>>>>>
>>>>>>> h = 1
>>>>>>> name = position
>>>>>>> value =
>>>>>>> {
>>>>>>> [1,1] =
>>>>>>>
>>>>>>> 300 200 560 420
>>>>>>>
>>>>>>> }
>>>>>>>
>>>>>>> debug> props(2)
>>>>>>> ans =
>>>>>>>
>>>>>>> scalar structure containing the fields:
>>>>>>>
>>>>>>> h = 1
>>>>>>> name = color
>>>>>>> value =
>>>>>>> {
>>>>>>> [1,1] =
>>>>>>>
>>>>>>> 1 1 1
>>>>>>>
>>>>>>> }
>>>>>>>
>>>>>>> I guess you don't have the same props(?).value. If not, then why is
>>>>>>> it not set correctly? You can do
>>>>>>>
>>>>>>> dbstop print
>>>>>>> peaks
>>>>>>> print ('-depsc', 'test.eps')
>>>>>>>
>>>>>>> and then step through print.m with dbstep to see where props(?).value
>>>>>>> is set. Note that after you type a command at the debug prompt,
>>>>>>> pressing the Enter by itself will repeat the previous command, so
>>>>>>> stepping is easy.
>>>>>>>
>>>>>>> jwe
>>>>>>
>>>>>>
>>>>>> octave:1> dbstop print 390
>>>>>> ans = 390
>>>>>> octave:2> peaks
>>>>>> octave:3> print('-depsc', 'test.eps');
>>>>>> warning: print.m: fig2dev binary is not available
>>>>>> error: invalid assignment to cs-list outside multiple assignment
>>>>>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m
>>>>>> at line 390
>>>>>> 390: set (props(n).h, props(n).name, props(n).value{1});
>>>>>> debug> numel(props)
>>>>>> ans = 2
>>>>>> debug> props
>>>>>> props =
>>>>>>
>>>>>> 1x2 struct array containing the fields:
>>>>>>
>>>>>> h
>>>>>> name
>>>>>> value
>>>>>>
>>>>>> debug> props(1)
>>>>>> ans =
>>>>>>
>>>>>> scalar structure containing the fields:
>>>>>>
>>>>>> h = 1
>>>>>> name = position
>>>>>> value =
>>>>>> {
>>>>>> [1,1] =
>>>>>>
>>>>>> 300 200 560 420
>>>>>>
>>>>>> }
>>>>>>
>>>>>> debug> props(2)
>>>>>> ans =
>>>>>>
>>>>>> scalar structure containing the fields:
>>>>>>
>>>>>> h = 1
>>>>>> name = [](0x0)
>>>>>> value = [](0x0)
>>>>>>
>>>>>>
>>>>>> and then while dbstepping through print.m:
>>>>>>
>>>>>> debug> dbstep
>>>>>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m
>>>>>> at line 297
>>>>>> 297: props(2).h = opts.figure;
>>>>>> debug> dbstep
>>>>>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m
>>>>>> at line 298
>>>>>> 298: props(2).name = "color";
>>>>>> debug> dbstep
>>>>>> error: invalid assignment to cs-list outside multiple assignment
>>>>>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m
>>>>>> at line 387
>>>>>> 387: if (isstruct (props))
>>>>>
>>>>> props(2) is the problem. Lines 297-300 set the name and value.
>>>>>
>>>>> 297 props(2).h = opts.figure;
>>>>> 298 props(2).name = "color";
>>>>> 299 props(2).value{1} = get (props(2).h, props(2).name);
>>>>> 300 set (props(2).h, props(2).name, "none");
>>>>>
>>>>> I don't see how these fields end up empty.
>>>>>
>>>>> Please add another breakpoint at line 300, and check that the fields of
>>>>> props(2). Also check the fields of "opt". You can see the result I get
>>>>> below.
>>>>>
>>>>> dbstop print 300
>>>>> ans = 300
>>>>> peaks
>>>>> print ('-depsc', 'test.eps');
>>>>> stopped in /Users/bpabbott/Development/Octave_Toolbox/print/print.m at
>>>>> line 300
>>>>> 300: set (props(2).h, props(2).name, "none");
>>>>> debug> props(2)
>>>>> ans =
>>>>>
>>>>> scalar structure containing the fields:
>>>>>
>>>>> h = 1
>>>>> name = color
>>>>> value =
>>>>> {
>>>>> [1,1] =
>>>>>
>>>>> 1 1 1
>>>>>
>>>>> }
>>>>>
>>>>> debug> opts
>>>>> opts =
>>>>>
>>>>> scalar structure containing the fields:
>>>>>
>>>>> append_to_file = 0
>>>>> canvas_size =
>>>>>
>>>>> 576 432
>>>>>
>>>>> debug = 0
>>>>> debug_file = octave-print-commands.log
>>>>> devopt = epsc
>>>>> epstool_binary = /sw/bin/epstool
>>>>> figure = 1
>>>>> fig2dev_binary = /sw/bin/fig2dev
>>>>> fontsize =
>>>>> font =
>>>>> force_solid = 0
>>>>> formatted_for_printing = 0
>>>>> ghostscript =
>>>>>
>>>>> scalar structure containing the fields:
>>>>>
>>>>> binary = /sw/bin/gs
>>>>> debug = 0
>>>>> device =
>>>>> epscrop = 1
>>>>> level = [](0x0)
>>>>> output =
>>>>> papersize =
>>>>> pageoffset =
>>>>>
>>>>> 0 0
>>>>>
>>>>> resolution = 150
>>>>> antialiasing = 0
>>>>>
>>>>> loose = 0
>>>>> lpr_binary = /usr/bin/lpr
>>>>> name = test.eps
>>>>> orientation = portrait
>>>>> pstoedit_binary = /sw/bin/pstoedit
>>>>> preview =
>>>>> printer =
>>>>> send_to_printer = 0
>>>>> special_flag = textnormal
>>>>> tight_flag = 0
>>>>> use_color = 1
>>>>> lpr_options = -l
>>>>> unlink = {}(0x0)
>>>>> pstoedit_cmd = @pstoedit
>>>>> fig2dev_cmd = @fig2dev
>>>>> latex_standalone = @latex_standalone
>>>>> lpr_cmd = @lpr
>>>>> epstool_cmd = @epstool
>>>>>
>>>>> Ben
>>>>
>>>> dbstop print 300 has no effect, which tells me that the line is never
>>>> being executed.
>>>>
>>>> dbstop print 297 stops as expected, though. If I step forward from there:
>>>>
>>>> octave:1> peaks
>>>> octave:2> dbstop print 297
>>>> ans = 297
>>>> octave:3> print('-depsc','test.eps')
>>>> warning: print.m: fig2dev binary is not available
>>>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m at
>>>> line 297
>>>> 297: props(2).h = opts.figure;
>>>> debug> dbstep
>>>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m at
>>>> line 298
>>>> 298: props(2).name = "color";
>>>> debug> dbstep
>>>> error: invalid assignment to cs-list outside multiple assignment
>>>> stopped in /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m at
>>>> line 387
>>>> 387: if (isstruct (props))
>>>
>>>
>>> Hopefully, John has some insight here (I don't). It looks to me like lines
>>> 298-377 never run, or the debugger is lost.
>>>
>>> Can you confirm that test.eps wasn't created?
>>>
>>> Ben
>>
>> Correct, it was not created.
>>
>> Campbell
>
> Here's an interesting twist: I don't get the error when I build Octave as
> 64-bit using Jarno's blaswrap.c wrapper. I still get a different error
> though. I do have Ghostscript installed.
>
> octave:2> print('-depsc','test.eps')
> warning: print.m: fig2dev binary is not available
> error: gnuplot_drawnow: the gnuplot terminal, "postscript", is not available
> error: called from:
> error:
> /Users/campbell/Downloads/octave-3.3.90/scripts/plot/gnuplot_drawnow.m at
> line 54, column 9
> error:
> /Users/campbell/Downloads/octave-3.3.90/scripts/plot/__gnuplot_print__.m at
> line 186, column 5
> error:
> /Users/campbell/Downloads/octave-3.3.90/scripts/plot/__gnuplot_print__.m at
> line 170, column 5
> error:
> /Users/campbell/Downloads/octave-3.3.90/scripts/plot/__gnuplot_print__.m at
> line 68, column 7
> error: /Users/campbell/Downloads/octave-3.3.90/scripts/plot/print.m at line
> 380, column 12
>
> Campbell
I'd thought the postscript terminal was standard with gnuplot. To see the list
of terminals your gnuplot supports, type ...
octave:1> peaks
octave:2> __gnuplot_get_var__ (gcf, "GPVAL_TERMINALS")
ans = aqua canvas cgm corel dpu414 dumb dxf eepic emf emtex epslatex
epson_180dpi epson_60dpi epson_lx800 fig gif gnugraph gpic hp2623A hp2648
hp500c hpdj hpgl hpljii hppj imagen jpeg latex lua mf mif mp nec_cp6 okidata
pbm pcl5 pdf pdfcairo png pngcairo postscript pslatex pstex pstricks qms regis
rgip starc svg tandy_60dpi tek40xx tek410x texdraw tgif tikz tkcanvas tpic
uniplex unknown vttek wxt x11 xlib xterm
Ben
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, (continued)
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Ben Abbott, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, John W. Eaton, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Ben Abbott, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Ben Abbott, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/30
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/31
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX,
Ben Abbott <=
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/31
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, bpabbott, 2011/01/31
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/31
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, bpabbott, 2011/01/31
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/31
- Message not available
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Richard Campbell, 2011/01/31
Re: Octave-3.3.55 and Octave-3.3.90 on OSX, bpabbott, 2011/01/31
Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Rik, 2011/01/31