From bug-octave-request at bevo dot che dot wisc dot edu Thu Nov 20 12:59:22 2003 Subject: Build failure with gcc-3.4 prerelease From: "Billinghurst, David (CALCRTS)" To: Date: Wed, 19 Nov 2003 23:59:54 -0600 I am having problems building octave on an SGI Origin 300. I have done it numerous times before, but upgrades to hardware, operating systems, gcc and octave have combined against me. Anyway, one of the things I tried was to build octave-2.1.51 with gcc-3.4 from CVS. This failed. Not sure if it is a compiler bug or if gcc is just getting fussier. make[2]: Entering directory `/disk4/billingd/obj/octave/octave-2.1.51-3.4/liboctave' mkdir pic touch stmp-pic g++ -c -I. -I/disk4/billingd/src/octave-2.1.51/liboctave -I.. -I../liboctave -I../src -I../libcruft/misc -I/disk4/billingd/src/octave-2.1.51 -I/disk4/billingd/src/octave-2.1.51/liboctave -I/disk4/billingd/src/octave-2.1.51/src -I/disk4/billingd/src/octave-2.1.51/libcruft/misc -I/disk4/billingd/src/octave-2.1.51/glob -I../glob -DHAVE_CONFIG_H -Wall -Wshadow -g -O2 /disk4/billingd/src/octave-2.1.51/liboctave/Bounds.cc -o Bounds.o g++ -c -I. -I/disk4/billingd/src/octave-2.1.51/liboctave -I.. -I../liboctave -I../src -I../libcruft/misc -I/disk4/billingd/src/octave-2.1.51 -I/disk4/billingd/src/octave-2.1.51/liboctave -I/disk4/billingd/src/octave-2.1.51/src -I/disk4/billingd/src/octave-2.1.51/libcruft/misc -I/disk4/billingd/src/octave-2.1.51/glob -I../glob -DHAVE_CONFIG_H -Wall -Wshadow -g -O2 /disk4/billingd/src/octave-2.1.51/liboctave/CollocWt.cc -o CollocWt.o In file included from /disk4/billingd/src/octave-2.1.51/liboctave/MArray2.h:31, from /disk4/billingd/src/octave-2.1.51/liboctave/dMatrix.h:30, from /disk4/billingd/src/octave-2.1.51/liboctave/CollocWt.h:32, from /disk4/billingd/src/octave-2.1.51/liboctave/CollocWt.cc:33: /disk4/billingd/src/octave-2.1.51/liboctave/Array2.h: In member function `Array2& Array2::operator=(const Array2&)': /disk4/billingd/src/octave-2.1.51/liboctave/Array2.h:75: error: `dimensions' undeclared (first use this function) /disk4/billingd/src/octave-2.1.51/liboctave/Array2.h:75: error: (Each undeclared identifier is reported only once for each function it appears in.) /disk4/billingd/src/octave-2.1.51/liboctave/Array2.h: In member function `void Array2::resize(int, int)': /disk4/billingd/src/octave-2.1.51/liboctave/Array2.h:81: error: there are no arguments to `resize_no_fill' that depend on a template parameter, so a declaration of `resize_no_fill' must be available /disk4/billingd/src/octave-2.1.51/liboctave/Array2.h:81: error: (if you use `-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) In file included from /disk4/billingd/src/octave-2.1.51/liboctave/MDiagArray2.h:31, from /disk4/billingd/src/octave-2.1.51/liboctave/dMatrix.h:31, from /disk4/billingd/src/octave-2.1.51/liboctave/CollocWt.h:32, from /disk4/billingd/src/octave-2.1.51/liboctave/CollocWt.cc:33: /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h: In constructor `DiagArray2::DiagArray2(T*, int, int)': /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h:114: error: `dimensions' undeclared (first use this function) /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h: In constructor `DiagArray2::DiagArray2(int, int)': /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h:121: error: `dimensions' undeclared (first use this function) /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h: In constructor `DiagArray2::DiagArray2(int, int, const T&)': /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h:125: error: `dimensions' undeclared (first use this function) /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h: In constructor `DiagArray2::DiagArray2(const Array&)': /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h:131: error: `dimensions' undeclared (first use this function) /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h: In copy constructor `DiagArray2::DiagArray2(const DiagArray2&)': /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h:134: error: `dimensions' undeclared (first use this function) /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h: In member function `DiagArray2& DiagArray2::operator=(const DiagArray2&)': /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h:143: error: `dimensions' undeclared (first use this function) /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h: In member function `DiagArray2::Proxy DiagArray2::checkelem(int, int)': /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h:174: error: there are no arguments to `dim1' that depend on a template parameter, so a declaration of `dim1' must be available /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h:174: error: there are no arguments to `dim2' that depend on a template parameter, so a declaration of `dim2' must be available /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h: In member function `DiagArray2::Proxy DiagArray2::operator()(int, int)': /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h:185: error: there are no arguments to `dim1' that depend on a template parameter, so a declaration of `dim1' must be available /disk4/billingd/src/octave-2.1.51/liboctave/DiagArray2.h:185: error: there are no arguments to `dim2' that depend on a template parameter, so a declaration of `dim2' must be available In file included from /disk4/billingd/src/octave-2.1.51/liboctave/dMatrix.h:31, from /disk4/billingd/src/octave-2.1.51/liboctave/CollocWt.h:32, from /disk4/billingd/src/octave-2.1.51/liboctave/CollocWt.cc:33: /disk4/billingd/src/octave-2.1.51/liboctave/MDiagArray2.h: In member function `MDiagArray2::operator MArray2() const': /disk4/billingd/src/octave-2.1.51/liboctave/MDiagArray2.h:82: error: there are no arguments to `xelem' that depend on a template parameter, so a declaration of `xelem' must be available make[2]: *** [CollocWt.o] Error 1 make[2]: Leaving directory `/disk4/billingd/obj/octave/octave-2.1.51-3.4/liboctave' make[1]: *** [liboctave] Error 2 make[1]: Leaving directory `/disk4/billingd/obj/octave/octave-2.1.51-3.4' make: *** [all] Error 2 ------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. Octave's home on the web: http://www.octave.org How to fund new projects: http://www.octave.org/funding.html Subscription information: http://www.octave.org/archive.html -------------------------------------------------------------