[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: |
Richard Campbell |
Subject: |
Re: Octave-3.3.55 and Octave-3.3.90 on OSX |
Date: |
Mon, 31 Jan 2011 02:02:38 -0500 |
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
- 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, 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, 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 <=
- Re: Octave-3.3.55 and Octave-3.3.90 on OSX, Ben Abbott, 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
- 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