octave-maintainers
[Top][All Lists]
Advanced

[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: Sun, 30 Jan 2011 12:46:32 -0500

On Jan 30, 2011, at 12:31 PM, Richard Campbell wrote:

> On Jan 30, 2011, at 12:28 PM, Ben Abbott wrote:
> 
>> On Jan 30, 2011, at 12:17 PM, Richard Campbell wrote:
>> 
>>> On Jan 30, 2011, at 12:02 PM, John W. Eaton wrote:
>>> 
>>>> On 30-Jan-2011, Richard Campbell wrote:
>>>> 
>>>> | The front page should be updated to indicate that Octave-3.3.54 is not 
>>>> the newest developer snapshot. Having just found out about 3.3.55 and 
>>>> 3.3.90, I attempted to build both of them.
>>>> | 
>>>> | Octave 3.3.55 builds fine, but fails 'make check':
>>>> | 
>>>> | Making check in test
>>>> | ./build_sparse_tests.sh
>>>> | ./build_bc_overload_tests.sh ./bc_overloads_expected
>>>> | ../run-octave --norc --silent --no-history ./fntests.m .
>>>> | 
>>>> | Integrated test scripts:
>>>> | 
>>>> | make[2]: *** [check] Abort trap
>>>> | make[1]: *** [check-recursive] Error 1
>>>> | make: *** [check] Error 2
>>>> | 
>>>> | When I run it, I get the same cs-list error when trying to print that 
>>>> I've been getting in 3.3.54.
>>>> | 
>>>> | Octave 3.3.90  fails to build:
>>>> | 
>>>> | libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -m32 -D_REENTRANT 
>>>> -I../libgnu -I../libgnu -I../libcruft/misc -I../liboctave -I../liboctave 
>>>> -I. -I. -m32 -D_REENTRANT -g -O2 -DHAVE_CONFIG_H 
>>>> -I/usr/X11/include/freetype2 -I/usr/X11/include -Wall -W -Wshadow 
>>>> -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align 
>>>> -Wcast-qual -g -O2 -D_THREAD_SAFE -pthread -g -O2 -MT 
>>>> liboctinterp_la-txt-eng-ft.lo -MD -MP -MF 
>>>> .deps/liboctinterp_la-txt-eng-ft.Tpo -c txt-eng-ft.cc  -fno-common -DPIC 
>>>> -o .libs/liboctinterp_la-txt-eng-ft.o
>>>> | txt-eng-ft.cc: In constructor ‘ft_manager::ft_manager()’:
>>>> | txt-eng-ft.cc:78: error: class ‘ft_manager’ does not have any field 
>>>> named ‘fc_init_done’
>>>> | txt-eng-ft.cc: At global scope:
>>>> | txt-eng-ft.cc:107: warning: unused parameter ‘name’
>>>> | txt-eng-ft.cc:107: warning: unused parameter ‘weight’
>>>> | txt-eng-ft.cc:107: warning: unused parameter ‘angle’
>>>> | txt-eng-ft.cc:107: warning: unused parameter ‘size’
>>>> | make[3]: *** [liboctinterp_la-txt-eng-ft.lo] Error 1
>>>> | make[2]: *** [all] Error 2
>>>> | make[1]: *** [all-recursive] Error 1
>>>> | make: *** [all] Error 2
>>>> 
>>>> I checked in the following changeset.
>>>> 
>>>> http://hg.savannah.gnu.org/hgweb/octave/rev/cb4ac5e4d987
>>>> 
>>>> Does this change fix the problem for you?
>>>> 
>>>> jwe
>>> 
>>> Yes, that fix allows me to build Octave 3.3.90, but it doesn't fix the 
>>> cs-list error, pasted below.
>>> 
>>> 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
>>> 
>>> Make check also reports a cs-list error but does not crash like it does in 
>>> 3.3.55.
>> 
>> Please also give us the details for the cs-list error which occurs when you 
>> run "make check".
>> 
>> Regarding the cs-list error you encounter when printing, I'd like to see the 
>> line where the error occurs. What does the following return.
>> 
>>      system (sprintf ("grep -n \"^\" %s | head -n 415 | tail -n 50", which 
>> ("print")))
>> 
>> Ben
>> 
> 
> Making check in test
> ../run-octave --norc --silent --no-history ./fntests.m .
> 
> Integrated test scripts:
> 
> invalid assignment to cs-list outside multiple assignment
> 
> make -C doc ../INSTALL.OCTAVE
> make -C interpreter ../../INSTALL.OCTAVE
> make[4]: `../../INSTALL.OCTAVE' is up to date.
> make -C doc ../BUGS
> make -C interpreter ../../BUGS
> make[4]: `../../BUGS' is up to date.
> 
> Octave successfully built.  Now choose from the following:
> 
>   ./run-octave    - to run in place to test before installing
>   make check      - to run the tests
>   make install    - to install (PREFIX=/usr/local)

Ok. It looks like the error is being caught in a try/catch or unwind_protect 
block. I haven't looked at this part of the code, but I'd start by trying to 
isolate where the problem is.

Please try

        octave:1> cd test
        octave:2> fntests

You'll likely get the same error. What happens for ...

        octave:1> cd src/DLD-FUNCTIONS
        octave:2> test besselj.cc

Ben

> octave:1> system (sprintf ("grep -n \"^\" %s | head -n 415 | tail -n 50", 
> which ("print")))
> 366:      endif
> 367:      if (! isempty (opts.fontsize))
> 368:        if (ischar (opts.fontsize))
> 369:          fontsize = str2double (opts.fontsize);
> 370:        else
> 371:          fontsize = opts.fontsize;
> 372:        endif
> 373:        set (h(ishandle(h)), "fontsize", fontsize);
> 374:      endif
> 375:    endif
> 376:
> 377:    ## call the graphcis toolkit print script
> 378:    switch (get (opts.figure, "__graphics_toolkit__"))
> 379:    case "gnuplot"
> 380:      opts = __gnuplot_print__ (opts);
> 381:    otherwise
> 382:      opts = __fltk_print__ (opts);
> 383:    endswitch
> 384:
> 385:  unwind_protect_cleanup
> 386:    ## restore modified properties
> 387:    if (isstruct (props))
> 388:      for n = 1:numel(props)
> 389:        if (ishandle (props(n).h))
> 390:          set (props(n).h, props(n).name, props(n).value{1});
> 391:        endif
> 392:      endfor
> 393:    endif
> 394:
> 395:    ## Unlink temporary files
> 396:    for n = 1:numel(opts.unlink)
> 397:      [status, output] = unlink (opts.unlink{n});
> 398:      if (status != 0)
> 399:        warning ("print.m: %s, '%s'", output, opts.unlink{n});
> 400:      endif
> 401:    endfor
> 402:  end_unwind_protect
> 403:
> 404:  if (isfigure (orig_figure))
> 405:    figure (orig_figure);
> 406:  endif
> 407:
> 408:endfunction
> 409:
> 410:function cmd = epstool (opts, filein, fileout)
> 411:  ## As epstool does not work with pipes, a subshell is used to
> 412:  ## permit piping. Since this solution does not work with the DOS
> 413:  ## command shell, the -tight and -preview options are disabled if
> 414:  ## output must be piped.
> 415:

I see that the error occurs when you type ...

        octave:2> print('-dpng','test.png')

When I type ...

        octave:1> surf (peaks)
        octave:2> print('-dpng','test.png')

I don't get the error. What command did you use to produce the plot?

Ben




reply via email to

[Prev in Thread] Current Thread [Next in Thread]