Package: octave2.1 Version: 2.1.69-1 Severity: normal Tags: patch When building 'octave2.1' on amd64/unstable with gcc-4.0, I get the following error:
lex.l:208: error: 'bracket_brace_paren_nesting_level::<anonymous enum>' is/uses anonymous type lex.l:208: error: trying to instantiate 'template<class T> template<class U> octave_int::octave_int(U)' make[3]: *** [pic/lex.o] Error 1 make[3]: Leaving directory `/octave2.1-2.1.69/src' With the attached patch 'octave2.1' can be compiled on amd64 using gcc-4.0. Regards Andreas Jochens diff -urN ../tmp-orig/octave2.1-2.1.69/src/lex.cc ./src/lex.cc --- ../tmp-orig/octave2.1-2.1.69/src/lex.cc 2005-03-29 05:39:22.000000000 +0200 +++ ./src/lex.cc 2005-06-17 21:53:17.000000000 +0200 @@ -861,7 +861,7 @@ std::stack<int> context; - enum { BRACKET = 1, BRACE = 2, PAREN = 3 }; + enum bracket_type { BRACKET = 1, BRACE = 2, PAREN = 3 }; bracket_brace_paren_nesting_level (const bracket_brace_paren_nesting_level&); diff -urN ../tmp-orig/octave2.1-2.1.69/src/lex.l ./src/lex.l --- ../tmp-orig/octave2.1-2.1.69/src/lex.l 2005-03-29 05:36:52.000000000 +0200 +++ ./src/lex.l 2005-06-17 21:53:14.000000000 +0200 @@ -217,7 +217,7 @@ std::stack<int> context; - enum { BRACKET = 1, BRACE = 2, PAREN = 3 }; + enum bracket_type { BRACKET = 1, BRACE = 2, PAREN = 3 }; bracket_brace_paren_nesting_level (const bracket_brace_paren_nesting_level&); diff -urN ../tmp-orig/octave2.1-2.1.69/src/toplev.cc ./src/toplev.cc --- ../tmp-orig/octave2.1-2.1.69/src/toplev.cc 2005-03-27 14:13:32.000000000 +0200 +++ ./src/toplev.cc 2005-06-17 22:03:41.000000000 +0200 @@ -440,6 +440,9 @@ variable @code{status} to the integer @samp{2}.\n\ @end deftypefn") { +#define sync 1 +#define async 2 + octave_value_list retval; unwind_protect::begin_frame ("Fsystem"); @@ -452,9 +455,7 @@ std::string cmd_str = args(0).string_value (); - enum exec_type { sync, async }; - - exec_type type = sync; + int etype = sync; if (! error_state) { @@ -465,9 +466,9 @@ if (! error_state) { if (type_str == "sync") - type = sync; + etype = sync; else if (type_str == "async") - type = async; + etype = async; else error ("system: third arg must be \"sync\" or \"async\""); } @@ -480,7 +481,7 @@ if (! error_state) { - if (type == async) + if (etype == async) { #ifdef HAVE_FORK pid_t pid = fork (); -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]