From owner-bug-octave at bevo dot che dot wisc dot edu Thu Oct 24 01:06:10 1996 Subject: Pause function not working in SUNOS4.1.3 under openwin3? From: Ken Higgs To: bug-octave at che dot utexas dot edu Date: Thu, 24 Oct 1996 16:05:00 +1000 (EST) Dear John?, Re: Pause command in "octave-1.1.1" I'm not sure if this is a bug or just a problem here, but:- I recently installed the binaries of octave-1.1.1 and they seem to be working except that the pause() function doesn't seem to work when running from a script. It is needed in order to hold a plot on the screen long enough to view it. It is not required in interactive mode since the graph will stay on the screen until you take some action to replace it. We of course have "gnuplot" and the pause in it works fine. I got the sunos4.1.2 binaries, (file "octave-1.1.1.tar.gz" from ftp.che.wisc.edu/pub/gnu/BINARIES/sparc-sun-sunos4.1.2) and installed them on a sun-os-4.1.3 system using the "doinstall.sh" script. The SUN uses openwin Ver 3. Here is a very simple script which demonstrates the problem. #! /usr/local/bin/octave -qf # example.oct set term x11 x=linspace(0,50,101); y=sin(x); # set term postscript # set output 'out.ps' plot(x,y) pause (5) This usually flashed the graphics screen on and off really fast, but other times didn't seem to do anything. When I uncommented the term and output commands it saved the postscript as expected. Could you advise me. Just as an add-on in case you are interested. I thought the problem might be due to a difference between sunos4.1.2 and sunos4.1.3 and decided to download the source, and recompile it on the same SUN. However, I had problems there as well. The configure went OK but the make bombed out in "liboctave" with "conflicting types for struct complex". I suspect this is the problem you refer to in the README-GCC-2.7.0,1 files, but it is not clear to me how to use the patches you supply so I temporarily gave up on that one. It is also a bit confusing using the same file name for the source distribution and the binaries distribution ie octave-1.1.1-tar.gz The output of a rerun of make is included below, just in case it is relevant We have GNU make-3.75, gcc-2.7.2.1 and libg++2.7.2 Ken Higgs +-----------------------------------------+---------------------------------+ | Ken Higgs, UNSW, Sydney, Australia | Nobody notices when | | School of Civil Engineering | things go right. | | University of NSW, Kensington, NSW 2052 |---------------------------------| | Tel: 02 9385 5048 Fax: 02 ????????? | If we knew what we were doing | | Internet: k dot higgs at unsw dot EDU dot AU| | it wouldn't be called research dot | it wouldn't be called research. | +-----------------------------------------+---------------------------------+ Here is the make output. ********************************************************** * * * To compile Octave, you will need a recent version of * * GNU Make. * * * * You will also need g++ version 2.6.3 or later, and * * libg++ version 2.6.1 or later. * * * * Now would be a good time to read INSTALL.OCTAVE if * * you have not done so already. * * * ********************************************************** make -f octMakefile all make[1]: Entering directory `/usr/local/src/octave/octave-1.1.1' echo making all in libcruft making all in libcruft cd libcruft ; make all make[2]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft' echo making all in balgen making all in balgen cd balgen; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/balgen' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/balgen' echo making all in blas making all in blas cd blas; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/blas' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/blas' echo making all in dassl making all in dassl cd dassl; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/dassl' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/dassl' echo making all in eispack making all in eispack cd eispack; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/eispack' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/eispack' echo making all in fftpack making all in fftpack cd fftpack; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/fftpack' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/fftpack' echo making all in fsqp making all in fsqp cd fsqp; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/fsqp' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/fsqp' echo making all in lapack making all in lapack cd lapack; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/lapack' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/lapack' echo making all in linpack making all in linpack cd linpack; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/linpack' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/linpack' echo making all in minpack making all in minpack cd minpack; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/minpack' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/minpack' echo making all in misc making all in misc cd misc; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/misc' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/misc' echo making all in npsol making all in npsol cd npsol; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/npsol' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/npsol' echo making all in odepack making all in odepack cd odepack; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/odepack' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/odepack' echo making all in qpsol making all in qpsol cd qpsol; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/qpsol' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/qpsol' echo making all in quadpack making all in quadpack cd quadpack; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/quadpack' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/quadpack' echo making all in ranlib making all in ranlib cd ranlib; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/ranlib' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/ranlib' echo making all in slatec-fn making all in slatec-fn cd slatec-fn; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/slatec-fn' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/slatec-fn' echo making all in villad making all in villad cd villad; make all make[3]: Entering directory `/usr/local/src/octave/octave-1.1.1/libcruft/villad' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft/villad' make[2]: Leaving directory `/usr/local/src/octave/octave-1.1.1/libcruft' echo making all in liboctave making all in liboctave cd liboctave ; make all make[2]: Entering directory `/usr/local/src/octave/octave-1.1.1/liboctave' c++ -c -I. -I../src -I.. -I../liboctave -I../src -DHAVE_CONFIG_H -fno-implicit-templates -g -O CColVector.cc In file included from dMatrix.h:32, from mx-base.h:31, from CColVector.cc:32: mx-defs.h:59: conflicting types for `struct Complex' /usr/local/lib/g++-include/Complex.h:8: previous declaration as `class complex' mx-defs.h:59: conflicting types for `struct Complex' /usr/local/lib/g++-include/Complex.h:82: previous declaration as `class complex' Array.h: In method `class Complex DiagArray::get(int)': In file included from mx-base.h:32, from CColVector.cc:32: Array.h:233: return-type `Complex' is an incomplete type Array.h:233: cannot lookup method in incomplete type `Complex' Array.h:233: in base initialization for class `Complex' Array.h: In method `void DiagArray::set(const class Complex &, int)': Array.h:234: invalid use of undefined type `struct Complex' Array.h:234: `Complex' does not define operator= mx-inlines.cc: At top level: In file included from CColVector.cc:33: mx-inlines.cc:227: parameter `s' has incomplete type mx-inlines.cc: In function `class Complex * add(const class Complex *, int, class Complex)': mx-inlines.cc:227: confused by earlier errors, bailing out make[2]: *** [CColVector.o] Error 1 make[2]: Leaving directory `/usr/local/src/octave/octave-1.1.1/liboctave' make[1]: *** [liboctave] Error 2 make[1]: Leaving directory `/usr/local/src/octave/octave-1.1.1' make: *** [all] Error 2