From owner-bug-octave at bevo dot che dot wisc dot edu Tue Sep 17 13:56:44 1996 From: hallman at smds54 dot crd dot ge dot com (Darren Hallman) Date: Tue, 17 Sep 96 14:54:34 -0400 Hello, My name is Darren Hallman and I work for GE corporate research and development in Schenectady, NY. I am having some difficulty in compiling octave version 1.1.1 on an HP workstation. First let me give you the standard info: The machine is an HP745i running HPUX-9.07 unix. The output from -name -s -r is: HP-UX A.09.07 I am compiling with GCC version 2.7.2 which was downloaded 9/14/96 and I believe is very new. The output from gcc -v is: Reading specs from /usr/local/lib/gcc/gcc-lib/hppa1.1-hp-hpux9.07/2.7.2/specs gcc version 2.7.2 As far as I know the compiler is working ok, I have compiled several other things on it in the last couple of days. When I compile octave, libcruft (the fortran stuff) compiles fine, but I have some trouble in liboctave. I receive the following output from gmake when compiling CColvector.cc: c++ -c -I. -I../src -I.. -I../liboctave -I../src -I/usr/local/lib/g++-include -DHAVE_CONFIG_H -fno-implicit-templates -O2 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: 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 gmake[2]: *** [CColVector.o] Error 1 gmake[2]: Leaving directory `/homedisk/rayleigh/u0/hallman/octave-1.1.1/liboctave' gmake[1]: *** [liboctave] Error 2 gmake[1]: Leaving directory `/homedisk/rayleigh/u0/hallman/octave-1.1.1' gmake: *** [all] Error 2 I really don't know anything about templates, I only have a limited working knowledge of C++ classes and stuff. Am I doing something wrong here, or is the new version of gcc just more strict about types? The only change I have made to the configuration is to optimize with -O2 instead of -O, but I also tried goig back to -O and that did not xcure the problem. Can you give me any help here?? I would appreciate it. I am looking forward to using octave, I have it at home on Linux and like it. Thanks, Darren Hallman hallman at crd dot ge dot com (518) 387-5772