renozao / RcppOctave

Seamless Interface to Octave -- and Matlab code
18 stars 9 forks source link

Does not build for Octave4.2.0 #14

Open beew opened 8 years ago

beew commented 8 years ago

As the title said. here is part of the log. R version 3.3.2, OS Ubuntu 16.04 64 bits.

In file included from rcpp_octave.cpp:60:0:
/usr/local/include/octave-4.2.0/octave/../octave/sighandlers.h:95:14: note: declared here
 static auto& can_interrupt = octave::can_interrupt;
              ^
rcpp_octave.cpp:231:31: error: ‘octave_restore_signal_mask’ was not declared in this scope
   octave_restore_signal_mask ();
                               ^
rcpp_octave.cpp:232:3: warning: ‘octave_catch_interrupts’ is deprecated: use 'octave::interrupt_handler' instead [-Wdeprecated-declarations]
   octave_catch_interrupts ();
   ^
In file included from rcpp_octave.cpp:60:0:
/usr/local/include/octave-4.2.0/octave/../octave/sighandlers.h:120:12: note: declared here
 const auto octave_catch_interrupts = octave::catch_interrupts;
            ^
rcpp_octave.cpp:232:3: warning: ‘octave_catch_interrupts’ is deprecated: use 'octave::interrupt_handler' instead [-Wdeprecated-declarations]
   octave_catch_interrupts ();
   ^
In file included from rcpp_octave.cpp:60:0:
/usr/local/include/octave-4.2.0/octave/../octave/sighandlers.h:120:12: note: declared here
 const auto octave_catch_interrupts = octave::catch_interrupts;
            ^
rcpp_octave.cpp: In function ‘octave_value octave_feval(const string&, const octave_value_list&, int, const std::vector<std::__cxx11::basic_string<char> >*, int)’:
rcpp_octave.cpp:371:26: error: ‘octave_save_signal_mask’ was not declared in this scope
  octave_save_signal_mask();
                          ^
rcpp_octave.cpp:384:30: error: ‘octave_restore_signal_mask’ was not declared in this scope
   octave_restore_signal_mask();
                              ^
rcpp_octave.cpp:388:2: warning: ‘can_interrupt’ is deprecated: use 'octave::can_interrupt' instead [-Wdeprecated-declarations]
  can_interrupt = true;
  ^
In file included from rcpp_octave.cpp:60:0:
/usr/local/include/octave-4.2.0/octave/../octave/sighandlers.h:95:14: note: declared here
 static auto& can_interrupt = octave::can_interrupt;
              ^
rcpp_octave.cpp:388:2: warning: ‘can_interrupt’ is deprecated: use 'octave::can_interrupt' instead [-Wdeprecated-declarations]
  can_interrupt = true;
  ^
In file included from rcpp_octave.cpp:60:0:
/usr/local/include/octave-4.2.0/octave/../octave/sighandlers.h:95:14: note: declared here
 static auto& can_interrupt = octave::can_interrupt;
              ^
rcpp_octave.cpp:389:2: warning: ‘octave_catch_interrupts’ is deprecated: use 'octave::interrupt_handler' instead [-Wdeprecated-declarations]
  octave_catch_interrupts();
  ^
In file included from rcpp_octave.cpp:60:0:
/usr/local/include/octave-4.2.0/octave/../octave/sighandlers.h:120:12: note: declared here
 const auto octave_catch_interrupts = octave::catch_interrupts;
            ^
rcpp_octave.cpp:389:2: warning: ‘octave_catch_interrupts’ is deprecated: use 'octave::interrupt_handler' instead [-Wdeprecated-declarations]
  octave_catch_interrupts();
  ^
In file included from rcpp_octave.cpp:60:0:
/usr/local/include/octave-4.2.0/octave/../octave/sighandlers.h:120:12: note: declared here
 const auto octave_catch_interrupts = octave::catch_interrupts;
            ^
rcpp_octave.cpp:469:11: warning: ‘octave_interrupt_exception’ is deprecated: use 'octave::interrupt_exception' instead [-Wdeprecated-declarations]
  } catch (octave_interrupt_exception){
           ^
In file included from /usr/local/include/octave-4.2.0/octave/../octave/lo-utils.h:33:0,
                 from /usr/local/include/octave-4.2.0/octave/../octave/Array.h:41,
                 from /usr/local/include/octave-4.2.0/octave/../octave/str-vec.h:32,
                 from /usr/local/include/octave-4.2.0/octave/../octave/ovl.h:33,
                 from /usr/local/include/octave-4.2.0/octave/../octave/oct-obj.h:35,
                 from rcpp_octave.h:26,
                 from rcpp_octave.cpp:35:
/usr/local/include/octave-4.2.0/octave/../octave/quit.h:155:37: note: declared here
 typedef octave::interrupt_exception octave_interrupt_exception;
                                     ^
rcpp_octave.cpp:483:29: error: ‘octave_restore_signal_mask’ was not declared in this scope
  octave_restore_signal_mask();
                             ^
/usr/lib/R/etc/Makeconf:141: recipe for target 'rcpp_octave.o' failed
make: *** [rcpp_octave.o] Error 1
ERROR: compilation failed for package ‘RcppOctave’
* removing ‘/usr/lib/R/library/RcppOctave’
renozao commented 8 years ago

I have made some changes to get rid of the warning for deprecated functions but could not fix this error. I opened an issue for this at Octave: http://savannah.gnu.org/bugs/index.php?49686

git-steb commented 7 years ago

@beew, have a look at PR #17.