From: David B. <Dav...@mo...> - 2004-01-26 13:16:08
|
Here are the list of build problems I have with octave-forge CVS at the moment. extra/mex/mex.cc ---------------- mex.cc: In member function `mxArray* mxArray::field(const std::string&, int) const': mex.cc:377: error: no match for 'operator[]' in '*this->mxArray::pmap[key]' mex.cc: In member function `void mxArray::field(const std::string&, int, mxArray*)': mex.cc:383: error: no match for 'operator[]' in '*this->mxArray::pmap[key]' mex.cc: In member function `mxArray* mex::make_value(int, int, const string_vector&)': mex.cc:551: error: call of overloaded `assign(std::string, octave_value_list&)' is ambiguous /opt/octave-2.1.53/include/octave-2.1.53/octave/oct-map.h:123: error: candidates are: Octave_map& Octave_map::assign(const std::string&, const octave_value&) /opt/octave-2.1.53/include/octave-2.1.53/octave/oct-map.h:125: error: Octave_map& Octave_map::assign(const std::string&, const Cell&) make: *** [mex.o] Error 1 This appears is not that clear to me how to fix this, especially the last error, the first two will need a change like #if HAVE_MAP_IDX_OP return __mex->make_value((*pmap)[key](index)); #else return __mex->make_value((*pmap).contents(key)(index)); #endif with the appropriate logic to select the right version in configure.add. This is ugly as it introduces cruft for backwards compatiability. However, the last error is a pain as this function appears to have been deleted and replaced with different versions. Its not clear to me how to fix this for 2.1.53. main/miscellaneous/listen.cc ---------------------------- listen.cc: In function `void process_commands(int)': listen.cc:331: error: `bind_global_error_variable' undeclared (first use this function) listen.cc:331: error: (Each undeclared identifier is reported only once for each function it appears in.) listen.cc:347: error: `clear_global_error_variable' undeclared (first use this function) listen.cc: In function `octave_value_list Flisten(const octave_value_list&, int)': listen.cc:564: error: no matching function for call to `unwind_protect::save_bool(int*, int&)' /opt/octave-2.1.53/include/octave-2.1.53/octave/unwind-prot.h:103: error: candidates are: static void unwind_protect::save_bool(bool*, bool) make: *** [listen.o] Error 1 The functions bind_global_error_variable and clear_global_error_variable have been deleted, and __error_text__ must be manipulated directly. The last error is due to the fact that buffer_error_messages is now type int, and so the incorrect unwind_protect function was called. This seems that it will also require a configuration variabkle to select between versions. Again, I'm not quite sure of the fix as I don't use this code. However, as these two functions don't build with 2.1.53, they should be fixed prior to an octave-forge release.... Cheers David -- David Bateman Dav...@mo... Motorola CRM +33 1 69 35 48 04 (Ph) Parc Les Algorithmes, Commune de St Aubin +33 1 69 35 77 01 (Fax) 91193 Gif-Sur-Yvette FRANCE The information contained in this communication has been classified as: [x] General Business Information [ ] Motorola Internal Use Only [ ] Motorola Confidential Proprietary |