octave troubles
Paul Koning
pkoning@xedia.com
Thu Sep 25 15:22:00 GMT 1997
I found that I can't build octave with egcs though I can with gcc
2.7.2.1. After some searching, it turns out that the key difference
is in include/g++/std/bastring.h -- the old version has
#include <iterator.h> commented out, the new one has it in, and that
brings in a pile of other stuff. The resulting error messages:
gcc -c -I. -I../../octave-2.0.9/liboctave -I.. -I../liboctave -I../src -I../glob -I../libcruft/misc -I../../octave-2.0.9 -I../../octave-2.0.9/liboctave -I../../octave-2.0.9/src -I../../octave-2.0.9/glob -I../../octave-2.0.9/libcruft/misc -DHAVE_CONFIG_H -g -O2 ../../octave-2.0.9/liboctave/CColVector.cc
/usr/local/egcs/include/g++/function.h: In function `double * negate(const double *, int)':
/usr/local/egcs/include/g++/function.h:96: previous non-function declaration `template <class T> struct negate<T>'
In file included from ../../octave-2.0.9/liboctave/CColVector.cc:37:
../../octave-2.0.9/liboctave/mx-inlines.cc:188: conflicts with function declaration `double * negate(const double *, int)'
/usr/local/egcs/include/g++/function.h: In function `class complex<double> * negate(const class complex<double> *, int)':
/usr/local/egcs/include/g++/function.h:96: previous non-function declaration `template <class T> struct negate<T>'
../../octave-2.0.9/liboctave/mx-inlines.cc:411: conflicts with function declaration `class complex<double> * negate(const class complex<double> *, int)'
I don't know who this sort of thing belongs to -- is it octave for
making a bad assumption about what names are reserved, or is it egcs
for taking away a name that used to be available?
paul
More information about the Gcc
mailing list