From: Etienne G. <et...@is...> - 2002-10-23 21:39:56
|
Hello, I have just installed 2.1.37, but compilation of octave-forge ends with : ====================================================================== mkoctfile -DHAVE_OCTAVE_21 -v fsolve.cc g++ -c -fPIC -I/usr/local/include/octave-2.1.37 -I/usr/local/include/octave-2.1.37/octave -I/usr/local/include -mieee-fp -fno-implicit-templates -g -O2 -Wall -DHAVE_OCTAVE_21 fsolve.cc -o fsolve.o fsolve.cc: In function `class octave_value_list Ffsolve(const octave_value_list &, int)': fsolve.cc:211: no matching function for call to `NLEqn::set_options (NLEqn_options &)' make[1]: *** [fsolve.oct] Error 1 make[1]: Leaving directory `/home/cdisk/etienne/prog/octave/octave-forge/octave-forge/FIXES' make: *** [FIXES/] Error 2 ====================================================================== I would like to check whether the backward compatibility problem with is_XXX() still exists, and if it does, transform all relevant sourceforge files. Since this is a big step, I guess the procedure is transform, test and send a patch for people to check, and then commit? Cheers, Etienne On Wed, Oct 23, 2002 at 02:30:50PM -0500, John W. Eaton wrote: # Octave 2.1.37 is now available for ftp from ftp.octave.org in the # directory /pub/octave/bleeding-edge: # # -rw-r--r-- 1 ftpadm ftp 4858297 Oct 23 13:29 octave-2.1.37.tar.gz # -rw-r--r-- 1 ftpadm ftp 3802708 Oct 23 13:29 octave-2.1.37.tar.bz2 # # There are no diffs this time because they are quite large. # # If your favorite bug is still not fixed, please let me know about it. # # Thanks, # # jwe # # # -- Etienne Grossmann ------ http://www.isr.ist.utl.pt/~etienne |
From: Dirk E. <ed...@de...> - 2002-10-24 03:44:38
|
Thanks -- I am currently uploading 2.1.37, incl the small mkopt.pl patch, to Debian. But even with the patch, building octave-forge fails: /usr/bin/g++ -c -fPIC -I/usr/include/octave-2.1.37 -I/usr/include/octave-2.1.37/octave -I/usr/include -mieee-fp -fno-implicit-templates -O2 -DHAVE_OCTAVE_21 getfield.cc -o getfield.o getfield.cc: In function class octave_value_list Fgetfield(const octave_value_list &, int)': getfield.cc:40: no matching function for call to octave_value::do_struct_elt_index_op (string &, bool)' make[3]: *** [getfield.oct] Error 1 make[3]: Leaving directory /home/edd/src/debian/octave-forge-2002.05.09/main/struct' make[2]: *** [struct/] Error 2 make[2]: Leaving directory /home/edd/src/debian/octave-forge-2002.05.09/main' make[1]: *** [main/] Error 2 make[1]: Leaving directory /home/edd/src/debian/octave-forge-2002.05.09' make: *** [build-stamp] Error 2 This is using the 2002.05.09 release of octave-forge. Is there something I need from CVS to deal with this? Thanks, Dirk -- Good judgement comes from experience; experience comes from bad judgement. -- Fred Brooks |
From: John W. E. <jw...@be...> - 2002-10-24 15:06:54
|
On 23-Oct-2002, Dirk Eddelbuettel <ed...@de...> wrote: | Thanks -- I am currently uploading 2.1.37, incl the small mkopt.pl patch, to | Debian. | | But even with the patch, building octave-forge fails: | | /usr/bin/g++ -c -fPIC -I/usr/include/octave-2.1.37 | -I/usr/include/octave-2.1.37/octave -I/usr/include -mieee-fp | -fno-implicit-templates -O2 -DHAVE_OCTAVE_21 getfield.cc -o getfield.o | getfield.cc: In function class octave_value_list Fgetfield(const | octave_value_list &, int)': | getfield.cc:40: no matching function for call to | octave_value::do_struct_elt_index_op (string &, bool)' | make[3]: *** [getfield.oct] Error 1 | make[3]: Leaving directory | /home/edd/src/debian/octave-forge-2002.05.09/main/struct' | make[2]: *** [struct/] Error 2 | make[2]: Leaving directory /home/edd/src/debian/octave-forge-2002.05.09/main' | make[1]: *** [main/] Error 2 | make[1]: Leaving directory /home/edd/src/debian/octave-forge-2002.05.09' | make: *** [build-stamp] Error 2 | | This is using the 2002.05.09 release of octave-forge. Is there something I | need from CVS to deal with this? There have been a lot of changes to the parts of Octave that handle indexing and indexed assignment. I'd like to include this functionality in Octave, but it should probably wait until structure arrays can be multidimensional. For now, I think the following patch should make getfield.cc compile and prevent setfield from creating invalid structures. jwe --- getfield.cc~ 2002-10-24 09:48:30.000000000 -0500 +++ getfield.cc 2002-10-24 09:53:29.000000000 -0500 @@ -36,12 +36,14 @@ for (int i = 1; i<nargin; i++) { if (args(i).is_string ()) { - std::string s = args(i).string_value (); - octave_value tmp = args(0).do_struct_elt_index_op (s, true); + octave_value tmp = args(0).subsref (".", args(i)); if (tmp.is_defined ()) retval(i-1) = tmp; - else error ("structure has no member `%s'", s.c_str ()); + else { + std::string s = args(i).string_value (); + error ("structure has no member `%s'", s.c_str ()); + } } else error ("argument number %i is not a string",i+1); --- setfield.cc~ 2002-10-24 09:51:26.000000000 -0500 +++ setfield.cc 2002-10-24 10:02:29.000000000 -0500 @@ -57,7 +57,7 @@ if (args(i).is_string ()) { std::string s = args(i).string_value (); - tmp [s] = args(i+1); + tmp.assign (s, args(i+1)); } else error ("argument number %i is not a string",i+1); } |
From: Etienne G. <et...@is...> - 2002-10-24 15:51:50
|
Hello, 1) The va_arg() change causes tons of messages (any way to turn them off?). On the contrary, the now obsolete is_XXX() cause no fuss at first sight. 2) There seem to be a fair amount of broken things 3) I am preparing slides for my PhD next week, so I won't be very available for octave-forge until then. Still, I am doing cvs update and will see if I can fix the main/struct directory. Etienne On Thu, Oct 24, 2002 at 11:00:12AM -0400, Paul Kienzle wrote: # On Wed, Oct 23, 2002 at 10:49:04PM +0100, Etienne Grossmann wrote: # > # > Hello, # > [snip] # I say commit directly. If anything really serious goes wrong we can # always back out. # # Are we abandoning support for 2.1.36? Let's get support to 2.137! # - Paul # -- Etienne Grossmann ------ http://www.isr.ist.utl.pt/~etienne |
From: John W. E. <jw...@be...> - 2002-10-24 16:07:33
|
On 24-Oct-2002, Etienne Grossmann <et...@is...> wrote: | | Hello, | | | 1) The va_arg() change causes tons of messages (any way to turn them | off?). On the contrary, the now obsolete is_XXX() cause no fuss at | first sight. You could try warning ("off") but that's a big hammer. Or you could find the place in Octave where the warning is issued and remove it. But I'd rather fix as many of the va_arg usages as we can now, so that we can delete va_arg completely from Octave before too long. | 2) There seem to be a fair amount of broken things What? | 3) I am preparing slides for my PhD next week, so I won't be very | available for octave-forge until then. OK. | Still, I am doing cvs update and will see if I can fix the main/struct | directory. I already posted a patch for getfield and setfield. jwe |
From: Etienne G. <et...@is...> - 2002-10-26 10:25:12
|
On Fri, Oct 25, 2002 at 04:41:30PM -0400, Paul Kienzle wrote: # I'm getting core dumps when reloading an m-file after editting # in 2.1.37. Before I start debugging this, is anyone else # getting this behaviour? Hello, I have switched back to 2.1.36 until wednesday : I am presenting my PhD on tuesday, so until then I would rather have a working setup. Starting wednesday, I will look more closely at octave-2.1.37 and octave-forge. Etienne -- Etienne Grossmann ------ http://www.isr.ist.utl.pt/~etienne |
From: John W. E. <jw...@be...> - 2002-10-23 22:04:05
|
On 23-Oct-2002, Etienne Grossmann <et...@is...> wrote: | I have just installed 2.1.37, but compilation of octave-forge ends | with : | | ====================================================================== | mkoctfile -DHAVE_OCTAVE_21 -v fsolve.cc | g++ -c -fPIC -I/usr/local/include/octave-2.1.37 -I/usr/local/include/octave-2.1.37/octave -I/usr/local/include -mieee-fp -fno-implicit-templates -g -O2 -Wall -DHAVE_OCTAVE_21 fsolve.cc -o fsolve.o | fsolve.cc: In function `class octave_value_list Ffsolve(const octave_value_list &, int)': | fsolve.cc:211: no matching function for call to `NLEqn::set_options (NLEqn_options &)' | make[1]: *** [fsolve.oct] Error 1 | make[1]: Leaving directory `/home/cdisk/etienne/prog/octave/octave-forge/octave-forge/FIXES' | make: *** [FIXES/] Error 2 | ====================================================================== Change "set_options" to "copy" or try the follwoing patch for Octave. Thanks, jwe 2002-10-23 John W. Eaton <jw...@be...> * mk-opts.pl (emit_opt_class_header): Make set_options another name for copy. Index: mk-opts.pl =================================================================== RCS file: /usr/local/cvsroot/octave/mk-opts.pl,v retrieving revision 1.8 diff -u -r1.8 mk-opts.pl --- mk-opts.pl 17 Aug 2002 02:18:18 -0000 1.8 +++ mk-opts.pl 23 Oct 2002 22:01:57 -0000 @@ -406,6 +406,11 @@ print " reset = opt.reset; }\n"; + ## For backward compatibility and because set_options is probably + ## a better name in some contexts: + + print "\n void set_options (const ${class_name}& opt) { copy (opt); }\n"; + print "\n void set_default_options (void) { init (); }\n"; for ($i = 0; $i < $opt_num; $i++) |
From: Paul K. <pki...@rr...> - 2002-10-24 15:00:19
|
On Wed, Oct 23, 2002 at 10:49:04PM +0100, Etienne Grossmann wrote: > > Hello, > > I have just installed 2.1.37, but compilation of octave-forge ends > with : > > ====================================================================== > mkoctfile -DHAVE_OCTAVE_21 -v fsolve.cc > g++ -c -fPIC -I/usr/local/include/octave-2.1.37 -I/usr/local/include/octave-2.1.37/octave -I/usr/local/include -mieee-fp -fno-implicit-templates -g -O2 -Wall -DHAVE_OCTAVE_21 fsolve.cc -o fsolve.o > fsolve.cc: In function `class octave_value_list Ffsolve(const octave_value_list &, int)': > fsolve.cc:211: no matching function for call to `NLEqn::set_options (NLEqn_options &)' > make[1]: *** [fsolve.oct] Error 1 > make[1]: Leaving directory `/home/cdisk/etienne/prog/octave/octave-forge/octave-forge/FIXES' > make: *** [FIXES/] Error 2 > ====================================================================== > > I would like to check whether the backward compatibility problem > with is_XXX() still exists, and if it does, transform all relevant > sourceforge files. > > Since this is a big step, I guess the procedure is transform, test > and send a patch for people to check, and then commit? I say commit directly. If anything really serious goes wrong we can always back out. Are we abandoning support for 2.1.36? - Paul |
From: Dirk E. <ed...@de...> - 2002-10-26 13:49:35
|
For the record, octave-forge built just fine Debian once I applied JWE's patch to main/struct/{get,set}field.cc. So as far as Debian is concerned, we have octave-2.1.37 as well as updated versions of octave-forge and octave-sp in the unstable distribution. Dirk -- Good judgement comes from experience; experience comes from bad judgement. -- Fred Brooks |