octave troubles

Joe Buck jbuck@synopsys.com
Thu Sep 25 16:24: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:

[ conflict between STL negate function object and "negate" in Octave ]

> 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?

Well, once g++ has namespaces the STL negate would be in the std
namespace.  So, technically you could argue that the names shouldn't be
reserved.  But then I suspect that Octave would put "using namespace std;"
everywhere (or use the old C++ headers, those with .h suffixes, which
would do this) and so would have the same problem.  In any case, for the
time being Octave's habit of putting very generic names at file scope is
going to cause collisions.

Since we can't yank STL out, it might be a good idea to fix Octave to
eliminate the problem.



> 	paul
> 




More information about the Gcc mailing list