From bug-octave-request at che dot utexas dot edu Fri Oct 14 09:50:05 1994 Subject: Can't compile octave with gcc 2.6.0 under Solaris 2 From: drtr at mail dot ast dot cam dot ac dot uk (David Robinson) To: bug-octave at che dot utexas dot edu Cc: drtr at mail dot ast dot cam dot ac dot uk Date: Fri, 14 Oct 94 15:48 BST System: Solaris 2.3, with gcc 2.6.0, libg++ 2.6.0, Gnu make 3.71, SUNpro compiler fortran 3.0.1 Problems: 1. The build script could not work out the Fortran libraries correctly from the output of f77 -v. The SUNpro compilers set the link path using the ld option -Y P,/opt/SUNWspro/lib:/opt/SUNWspro/SC3.0.1/lib:/usr/ccs/lib:/usr/lib instead of a -L option. Using -Y P,... _overrides_ the default search path. 2. After hardwiring the libraries, the build failed when compiling ColVector.cc making all in liboctave make[1]: Entering directory `/data/ukhst2/local/src/octave-1.0/liboctave' g++ -c -I. -I.. -I../liboctave -I. -I./liboctave -DHAVE_CONFIG_H -fexternal-templates -O2 ColVector.cc Matrix.h: In function `class ComplexColumnVector operator +(const class ColumnVector &, const class Complex &)': Matrix.h:1032: constructor `ComplexColumnVector::ComplexColumnVector(class Complex *, int)' is private ColVector.cc:253: within this context Matrix.h: In function `class ComplexColumnVector operator -(const class ColumnVector &, const class Complex &)': Matrix.h:1032: constructor `ComplexColumnVector::ComplexColumnVector(class Complex *, int)' is private ColVector.cc:260: within this context Matrix.h: In function `class ComplexColumnVector operator (unary *)(const class ColumnVector &, const class Complex &)': Matrix.h:1032: constructor `ComplexColumnVector::ComplexColumnVector(class Complex *, int)' is private ColVector.cc:267: within this context Matrix.h: In function `class ComplexColumnVector operator /(const class ColumnVector &, const class Complex &)': Matrix.h:1032: constructor `ComplexColumnVector::ComplexColumnVector(class Complex *, int)' is private ColVector.cc:274: within this context Matrix.h: In function `class ComplexColumnVector operator +(const class Complex &, const class ColumnVector &)': Matrix.h:1032: constructor `ComplexColumnVector::ComplexColumnVector(class Complex *, int)' is private ColVector.cc:283: within this context Matrix.h: In function `class ComplexColumnVector operator -(const class Complex &, const class ColumnVector &)': Matrix.h:1032: constructor `ComplexColumnVector::ComplexColumnVector(class Complex *, int)' is private ColVector.cc:290: within this context Matrix.h: In function `class ComplexColumnVector operator (unary *)(const class Complex &, const class ColumnVector &)': Matrix.h:1032: constructor `ComplexColumnVector::ComplexColumnVector(class Complex *, int)' is private ColVector.cc:297: within this context Matrix.h: In function `class ComplexColumnVector operator /(const class Complex &, const class ColumnVector &)': Matrix.h:1032: constructor `ComplexColumnVector::ComplexColumnVector(class Complex *, int)' is private ColVector.cc:304: within this context Matrix.h: In function `class Matrix operator (unary *)(const class ColumnVector &, const class RowVector &)': Matrix.h:294: constructor `Matrix::Matrix(double *, int, int)' is private ColVector.cc:336: within this context Matrix.h: In function `class ComplexColumnVector operator +(const class ColumnVector &, const class ComplexColumnVector &)': Matrix.h:1032: constructor `ComplexColumnVector::ComplexColumnVector(class Complex *, int)' is private ColVector.cc:360: within this context Matrix.h: In function `class ComplexColumnVector operator -(const class ColumnVector &, const class ComplexColumnVector &)': Matrix.h:1032: constructor `ComplexColumnVector::ComplexColumnVector(class Complex *, int)' is private ColVector.cc:377: within this context Matrix.h: In function `class ComplexColumnVector product(const class ColumnVector &, const class ComplexColumnVector &)': Matrix.h:1032: constructor `ComplexColumnVector::ComplexColumnVector(class Complex *, int)' is private ColVector.cc:394: within this context Matrix.h: In function `class ComplexColumnVector quotient(const class ColumnVector &, const class ComplexColumnVector &)': Matrix.h:1032: constructor `ComplexColumnVector::ComplexColumnVector(class Complex *, int)' is private ColVector.cc:411: within this context Matrix.h: In function `class ColumnVector real(const class ComplexColumnVector &)': Matrix.h:410: constructor `ColumnVector::ColumnVector(double *, int)' is private ColVector.cc:681: within this context Matrix.h: In function `class ColumnVector imag(const class ComplexColumnVector &)': Matrix.h:410: constructor `ColumnVector::ColumnVector(double *, int)' is private ColVector.cc:691: within this context Matrix.h: In function `class ComplexMatrix operator (unary *)(const class ComplexColumnVector &, const class ComplexRowVector &)': Matrix.h:904: constructor `ComplexMatrix::ComplexMatrix(class Complex *, int, int)' is private ColVector.cc:894: within this context make[1]: *** [ColVector.o] Error 1 make[1]: Leaving directory `/data/ukhst2/local/src/octave-1.0/liboctave' 3. The make doesn't abort after this error. David Robinson. (drtr at mail dot ast dot cam dot ac dot uk)