[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Redhat 7.0 and octave
From: |
John W. Eaton |
Subject: |
Re: Redhat 7.0 and octave |
Date: |
Tue, 28 Nov 2000 22:33:07 -0600 |
On 28-Nov-2000, Trond Eivind =?iso-8859-1?Q?Glomsr=D8d?= <address@hidden> wrote:
| When I last tried to build octave 2.0 with the new compilers, the
| problems were illegal use of keywords as enums and macro magic.
2.0 is dead as far as any future development goes, so it doesn't
really matter much, but I am interested in fixing any real problems in
the 2.1.x sources.
| ../liboctave/MArray-defs.h:199:30: warning: "MARRAY_BINOP_FWD_DEFS"
| redefined
| ../liboctave/MArray-defs.h:199:1: warning: this is the location of the
| previous definition
| ../liboctave/MArray-defs.h:205:33: warning: "MARRAY_AA_BINOP_FWD_DEFS"
| redefined
| ../liboctave/MArray-defs.h:205:1: warning: this is the location of the
| previous definition
| ../liboctave/MArray-defs.h:277:28: warning: "MARRAY_FORWARD_DEFS"
| redefined
| ../liboctave/MArray-defs.h:277:1: warning: this is the location of the
| previous definition
Perhaps a fix for the multiple definition warnings is the following patch:
Index: MArray-defs.h
===================================================================
RCS file: /usr/local/cvsroot/octave/liboctave/MArray-defs.h,v
retrieving revision 1.8
diff -u -r1.8 MArray-defs.h
--- MArray-defs.h 2000/03/31 06:02:44 1.8
+++ MArray-defs.h 2000/11/29 04:25:58
@@ -1,3 +1,6 @@
+#if !defined (octave_MArray_defs_h)
+#define octave_MArray_defs_h 1
+
// Nothing like a little CPP abuse to brighten everyone's day.
#define DO_VS_OP(r, l, v, OP, s) Ü
@@ -313,3 +316,4 @@
// Now we have all the definitions we need.
+#endif
| In file included from defun.h:30,
| from builtins.cc:7:
| defun-int.h:163:3: warning: nothing can be pasted after this token
Here are lines 162 and 163 of defun-int.h from 2.1.31:
#define UNDERSCORIFY(name) Ü
"__" ## name ## "__"
I don't see anything wrong with this macro definition. Can you
explain what the problem is?
| input.cc:1095:1: #line may not be used inside a macro argument
| input.cc:1094:46: unterminated argument list for macro "XDEFUN_INTERNAL"
These lines are at the very end of the source file. Can you explain
what is going on here?
| load-save.cc:3121:1: #line may not be used inside a macro argument
| load-save.cc:3120:38: unterminated argument list for macro "XDEFUN_INTERNAL"
These lines are in the middle of the doc string for the load function,
but I don't see anything wrong with it. Can you explain what the
trouble is?
The Octave sources do not include any #line directives (the ones in
parse.cc and lex.cc are inserted by bison and flex, respctively), so
my guess is that the compiler must be adding them incorrectly.
| make[2]: *** [builtins.o] Error 1
| make[2]: Leaving directory `/usr/src/teg/octave-2.1.31/src'
| make[1]: *** [src] Error 2
| make[1]: Leaving directory `/usr/src/teg/octave-2.1.31'
| make: *** [all] Error 2
| ************************************************************************
Are you sure these aren't compiler bugs?
At the very least, the line numbers don't appear to be helpful to me
when I am looking at the 2.1.31 sources.
If you can explain how these problems are due to bugs in the Octave
sources, then perhaps they can be fixed.
Thanks,
jwe
-------------------------------------------------------------
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
-------------------------------------------------------------