renozao / RcppOctave

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

Installation issue: R 3.6.0 on Ubuntu 16.04 #19

Open biodan25 opened 5 years ago

biodan25 commented 5 years ago

I just tried to install RcppOctave from R 3.6.0 (via RStudio)

install.packages("RcppOctave", repos="http://R-Forge.R-project.org")

And got the error: "RcppOctave" is not available (for R version 3.6.0)

Is there any ETA for when it might become available? On a machine with R 3.5.1, it downloaded but i ran into other issues (which might resolved if i create a VM or make a docker image).

biodan25 commented 5 years ago

On my older Ubuntu 16.04 box with R-3.5.1, i just installed Octave 5.1 from source and tried to install RcppOctave on it. If this was successful, i was going to use the same process for a docker image with 3.5.1 on the 1st Ubuntu16.04 box (which is running R-3.6 on bare metal). But i just ran into a problem on the older 16.04 box: (BTW, the 4 packages are already installed but the installation gives "not available")

devtools::install_github("renozao/RcppOctave",ref="develop",quick=TRUE) Downloading GitHub repo renozao/RcppOctave@develop Skipping 4 packages not available: digest, pkgmaker, Rcpp, stringr ✔ checking for file ‘/tmp/RtmpoFrL48/remotes3bb6f48e43/renozao-RcppOctave-fcf4d02/DESCRIPTION’ ... ─ preparing ‘RcppOctave’: ✔ checking DESCRIPTION meta-information ... ─ cleaning src ─ running ‘cleanup’ ─ installing the package to process help pages

─ installing source package ‘RcppOctave’ ... checking R architecture... none checking for R... /usr/lib/R/bin/R checking for Rscript... /usr/lib/R/bin/Rscript checking whether loading Rprofile writes to stdout... no checking R version... R version 3.5.1 (2018-07-02) checking R platform... x86_64-pc-linux-gnu checking R CC... gcc -std=gnu99 checking R CFLAGS... -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g checking R CPPFLAGS... checking R CXXFLAGS... -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g checking for gcc... /usr/bin/gcc checking for gcc... gcc -std=gnu99 checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc -std=gnu99 accepts -g... yes checking for gcc -std=gnu99 option to accept ISO C89... none needed checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking for g++... /usr/bin/g++ configure: Original R_LDFLAGS: -Wl,--export-dynamic -fopenmp -Wl,-Bsymbolic-functions -Wl,-z,relro -L/usr/lib/R/lib -lR -lpcre -llzma -lbz2 -lz -lrt -ldl -lm configure: Original R_CPPFLAGS: -I/usr/share/R/include checking whether R is a shared library... yes checking type of Operating System... Linux checking whether OS is Mac OS (Darwin)... no configure: Using mkoctfile with R_LDFLAGS: -Wl,--export-dynamic -Wl,-Bsymbolic-functions -Wl,-z,relro -L/usr/lib/R/lib -lR -lpcre -llzma -lbz2 -lz -lrt -ldl -lm configure: Using mkoctfile with R_CPPFLAGS: -I/usr/share/R/include checking Octave custom binary path specification... none configure: using Octave binary path from $PATH checking for octave-config... /usr/local/bin/octave-config checking for mkoctfile... /usr/local/bin/mkoctfile checking Octave Octave bin directory... /usr/local/bin checking Octave Octave libraries directory... /usr/local/lib/octave/5.1.0 checking for octave... /usr/local/bin/octave checking PATH changes... none checking Octave module make target... all checking mkoctfile command... /usr/local/bin/mkoctfile checking Octave cpp flags... checking Octave include flags... -I/usr/local/include/octave-5.1.0/octave/.. -I/usr/local/include/octave-5.1.0/octave -I/usr/local/include checking Octave -L flags... warning: LFLAGS is deprecated and will be removed in a future version of Octave, use LDFLAGS instead -L/usr/local/lib checking Octave libraries... -loctinterp -loctave checking Octave C compiler... gcc checking Octave Fortran compiler... gfortran checking Octave platform... x86_64-pc-linux-gnu checking Octave API version... api-v53 checking Octave version... 5.1.0 checking whether to infer output names for Octave function (>= 3.4.3)... yes configure: Using Octave LDFLAGS: -L/usr/local/lib -loctinterp -loctave configure: Using Octave CPPFLAGS: -I/usr/local/include/octave-5.1.0/octave/.. -I/usr/local/include/octave-5.1.0/octave -I/usr/local/include -DOCT_POST_3_4_0=1 checking RcppOctave Octave module directory... /tmp/RtmpGFexmb/Rinst61567e75864/RcppOctave/modules configure: creating ./config.status config.status: creating R/config-vars.R configure: creating ./config.status config.status: creating R/config-vars.R config.status: creating src/Makevars configure: creating ./config.status config.status: creating R/config-vars.R config.status: creating src/Makevars config.status: creating src/modules/Makefile ** libs

Making Octave module [r_arch: all]

make[1]: Entering directory '/tmp/RtmpGFexmb/Rbuild61566452bc14/RcppOctave/src/modules' Building octave module: utils.oct /usr/local/bin/mkoctfile -v utils.cc g++ -std=gnu++11 -c -fPIC -I/usr/local/include/octave-5.1.0/octave/.. -I/usr/local/include/octave-5.1.0/octave -I/usr/local/include -pthread -fopenmp -g -O2 utils.cc -o /tmp/oct-JnYru3.o g++ -std=gnu++11 -I/usr/local/include/octave-5.1.0/octave/.. -I/usr/local/include/octave-5.1.0/octave -I/usr/local/include -pthread -fopenmp -g -O2 -shared -Wl,-Bsymbolic -o utils.oct /tmp/oct-JnYru3.o -L/usr/local/lib
Building octave module: Rrng.oct /usr/local/bin/mkoctfile -v -I/usr/share/R/include -Wl,--export-dynamic -Wl,-Bsymbolic-functions -Wl,-z,relro -L/usr/lib/R/lib -lR -lpcre -llzma -lbz2 -lz -lrt -ldl -lm Rrng.cc g++ -std=gnu++11 -c -fPIC -I/usr/local/include/octave-5.1.0/octave/.. -I/usr/local/include/octave-5.1.0/octave -I/usr/local/include -pthread -fopenmp -g -O2 -I/usr/share/R/include Rrng.cc -o /tmp/oct-xhA2tJ.o Rrng.cc: In function ‘octave_value_list Frand(const octave_value_list&, int)’: Rrng.cc:163:54: warning: ‘bool octave_value::is_empty() const’ is deprecated: [4.4]: use 'isempty' instead [-Wdeprecated-declarations] k = ( nargs > iarg_col && !args(iarg_col).is_empty() ? long(args(iarg_col).double_value()) : n);\ ^ Rrng.cc:181:1: note: in expansion of macro ‘RAND_ARGS’ RAND_ARGS(octave_fun, 0, 2, 0, 1) \ ^ Rrng.cc:196:3: note: in expansion of macro ‘RAND_FUNCTION’ RAND_FUNCTION(unif_rand, "rand") ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from /usr/local/include/octave-5.1.0/octave/../octave/ov-fcn.h:33, from /usr/local/include/octave-5.1.0/octave/../octave/ov-builtin.h:32, from /usr/local/include/octave-5.1.0/octave/../octave/defun-int.h:30, from /usr/local/include/octave-5.1.0/octave/../octave/defun-dld.h:32, from /usr/local/include/octave-5.1.0/octave/../octave/oct.h:32, from Rrng.cc:33: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:534:8: note: declared here bool is_empty (void) const ^ Rrng.cc: In function ‘octave_value_list Frandn(const octave_value_list&, int)’: Rrng.cc:163:54: warning: ‘bool octave_value::is_empty() const’ is deprecated: [4.4]: use 'isempty' instead [-Wdeprecated-declarations] k = ( nargs > iarg_col && !args(iarg_col).is_empty() ? long(args(iarg_col).double_value()) : n);\ ^ Rrng.cc:181:1: note: in expansion of macro ‘RAND_ARGS’ RAND_ARGS(octave_fun, 0, 2, 0, 1) \ ^ Rrng.cc:207:2: note: in expansion of macro ‘RAND_FUNCTION’ RAND_FUNCTION(norm_rand, "randn") ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from /usr/local/include/octave-5.1.0/octave/../octave/ov-fcn.h:33, from /usr/local/include/octave-5.1.0/octave/../octave/ov-builtin.h:32, from /usr/local/include/octave-5.1.0/octave/../octave/defun-int.h:30, from /usr/local/include/octave-5.1.0/octave/../octave/defun-dld.h:32, from /usr/local/include/octave-5.1.0/octave/../octave/oct.h:32, from Rrng.cc:33: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:534:8: note: declared here bool is_empty (void) const ^ Rrng.cc: In function ‘octave_value_list Frande(const octave_value_list&, int)’: Rrng.cc:163:54: warning: ‘bool octave_value::is_empty() const’ is deprecated: [4.4]: use 'isempty' instead [-Wdeprecated-declarations] k = ( nargs > iarg_col && !args(iarg_col).is_empty() ? long(args(iarg_col).double_value()) : n);\ ^ Rrng.cc:181:1: note: in expansion of macro ‘RAND_ARGS’ RAND_ARGS(octave_fun, 0, 2, 0, 1) \ ^ Rrng.cc:218:2: note: in expansion of macro ‘RAND_FUNCTION’ RAND_FUNCTION(exp_rand, "rande") ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from /usr/local/include/octave-5.1.0/octave/../octave/ov-fcn.h:33, from /usr/local/include/octave-5.1.0/octave/../octave/ov-builtin.h:32, from /usr/local/include/octave-5.1.0/octave/../octave/defun-int.h:30, from /usr/local/include/octave-5.1.0/octave/../octave/defun-dld.h:32, from /usr/local/include/octave-5.1.0/octave/../octave/oct.h:32, from Rrng.cc:33: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:534:8: note: declared here bool is_empty (void) const ^ Rrng.cc: In function ‘octave_value_list Frandg(const octave_value_list&, int)’: Rrng.cc:163:54: warning: ‘bool octave_value::is_empty() const’ is deprecated: [4.4]: use 'isempty' instead [-Wdeprecated-declarations] k = ( nargs > iarg_col && !args(iarg_col).is_empty() ? long(args(iarg_col).double_value()) : n);\ ^ Rrng.cc:232:3: note: in expansion of macro ‘RAND_ARGS’ RAND_ARGS("randg", 1, 4, 1, 2) ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from /usr/local/include/octave-5.1.0/octave/../octave/ov-fcn.h:33, from /usr/local/include/octave-5.1.0/octave/../octave/ov-builtin.h:32, from /usr/local/include/octave-5.1.0/octave/../octave/defun-int.h:30, from /usr/local/include/octave-5.1.0/octave/../octave/defun-dld.h:32, from /usr/local/include/octave-5.1.0/octave/../octave/oct.h:32, from Rrng.cc:33: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:534:8: note: declared here bool is_empty (void) const ^ Rrng.cc:238:48: warning: ‘bool octave_value::is_empty() const’ is deprecated: [4.4]: use 'isempty' instead [-Wdeprecated-declarations] double scale(nArgs >= 4 && !args(3).is_empty() ? args(3).double_value() : 1); ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from /usr/local/include/octave-5.1.0/octave/../octave/ov-fcn.h:33, from /usr/local/include/octave-5.1.0/octave/../octave/ov-builtin.h:32, from /usr/local/include/octave-5.1.0/octave/../octave/defun-int.h:30, from /usr/local/include/octave-5.1.0/octave/../octave/defun-dld.h:32, from /usr/local/include/octave-5.1.0/octave/../octave/oct.h:32, from Rrng.cc:33: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:534:8: note: declared here bool is_empty (void) const ^ Rrng.cc: In function ‘octave_value_list Frandp(const octave_value_list&, int)’: Rrng.cc:163:54: warning: ‘bool octave_value::is_empty() const’ is deprecated: [4.4]: use 'isempty' instead [-Wdeprecated-declarations] k = ( nargs > iarg_col && !args(iarg_col).is_empty() ? long(args(iarg_col).double_value()) : n);\ ^ Rrng.cc:256:3: note: in expansion of macro ‘RAND_ARGS’ RAND_ARGS("randp", 2, 3, 1, 2) ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from /usr/local/include/octave-5.1.0/octave/../octave/ov-fcn.h:33, from /usr/local/include/octave-5.1.0/octave/../octave/ov-builtin.h:32, from /usr/local/include/octave-5.1.0/octave/../octave/defun-int.h:30, from /usr/local/include/octave-5.1.0/octave/../octave/defun-dld.h:32, from /usr/local/include/octave-5.1.0/octave/../octave/oct.h:32, from Rrng.cc:33: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:534:8: note: declared here bool is_empty (void) const ^ g++ -std=gnu++11 -I/usr/local/include/octave-5.1.0/octave/.. -I/usr/local/include/octave-5.1.0/octave -I/usr/local/include -pthread -fopenmp -g -O2 -shared -Wl,-Bsymbolic -o Rrng.oct /tmp/oct-xhA2tJ.o -Wl,--export-dynamic -Wl,-Bsymbolic-functions -Wl,-z,relro -L/usr/lib/R/lib -lR -lpcre -llzma -lbz2 -lz -lrt -ldl -lm -L/usr/local/lib
make[1]: Leaving directory '/tmp/RtmpGFexmb/Rbuild61566452bc14/RcppOctave/src/modules'

Copying Octave modules to directory '/tmp/RtmpGFexmb/Rinst61567e75864/RcppOctave/modules'

g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG "/usr/lib/R/bin/Rscript" -e "Rcpp:::CxxFlags()" -I/usr/local/include/octave-5.1.0/octave/.. -I/usr/local/include/octave-5.1.0/octave -I/usr/local/include -DOCT_POST_3_4_0=1 -I"/home/dchin/R/x86_64-pc-linux-gnu-library/3.5/Rcpp/include" -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c conversion.cpp -o conversion.o conversion.cpp: In function ‘SEXPREC wrap(const Cell&, bool)’: conversion.cpp:134:9: error: ‘const class Cell’ has no member named ‘is_cellstr’ if( x.is_cellstr() ){ ^ conversion.cpp: In function ‘SEXPREC Rcpp::wrap(const T&) [with T = octave_value; SEXP = SEXPREC]’: conversion.cpp:180:24: warning: ‘bool octave_value::is_null_value() const’ is deprecated: [4.4]: use 'isnull' instead [-Wdeprecated-declarations] if( val.is_null_value() ){ ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from rcpp_octave.h:32, from conversion.cpp:5: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:633:8: note: declared here bool is_null_value (void) const ^ conversion.cpp:214:30: warning: ‘bool octave_value::is_bool_type() const’ is deprecated: [4.4]: use 'islogical' instead [-Wdeprecated-declarations] else if ( val.is_bool_type() ){ ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from rcpp_octave.h:32, from conversion.cpp:5: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:701:8: note: declared here bool is_bool_type (void) const ^ conversion.cpp:219:102: warning: ‘bool octave_value::is_integer_type() const’ is deprecated: [4.4]: use 'isinteger' instead [-Wdeprecated-declarations] }else if( val.is_int32_type() || val.is_int64_type() || val.is_int16_type() || val.is_integer_type() ){ ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from rcpp_octave.h:32, from conversion.cpp:5: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:692:8: note: declared here bool is_integer_type (void) const ^ conversion.cpp:223:30: warning: ‘bool octave_value::is_real_type() const’ is deprecated: [4.4]: use 'isreal' instead [-Wdeprecated-declarations] }else if( val.is_real_type() ){ ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from rcpp_octave.h:32, from conversion.cpp:5: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:708:8: note: declared here bool is_real_type (void) const ^ conversion.cpp:250:33: warning: ‘bool octave_value::is_integer_type() const’ is deprecated: [4.4]: use 'isinteger' instead [-Wdeprecated-declarations] else if ( val.is_integer_type() ){ ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from rcpp_octave.h:32, from conversion.cpp:5: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:692:8: note: declared here bool is_integer_type (void) const ^ conversion.cpp:255:30: warning: ‘bool octave_value::is_real_type() const’ is deprecated: [4.4]: use 'isreal' instead [-Wdeprecated-declarations] }else if( val.is_real_type() ){ ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from rcpp_octave.h:32, from conversion.cpp:5: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:708:8: note: declared here bool is_real_type (void) const ^ conversion.cpp:270:24: warning: ‘bool octave_value::is_map() const’ is deprecated: [4.4]: use 'isstruct' instead [-Wdeprecated-declarations] } else if( val.is_map() ){ // Maps are converted into lists ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from rcpp_octave.h:32, from conversion.cpp:5: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:594:8: note: declared here bool is_map (void) const ^ conversion.cpp:307:25: warning: ‘bool octave_value::is_cell() const’ is deprecated: [4.4]: use 'iscell' instead [-Wdeprecated-declarations] } else if( val.is_cell() ){// Cell objects are used for character vectors ^ In file included from /usr/local/include/octave-5.1.0/octave/../octave/ovl.h:36:0, from rcpp_octave.h:32, from conversion.cpp:5: /usr/local/include/octave-5.1.0/octave/../octave/ov.h:541:8: note: declared here bool is_cell (void) const ^ conversion.cpp: In function ‘T Rcpp::as(SEXP) [with T = octave_value; SEXP = SEXPREC]’: conversion.cpp:471:50: error: invalid initialization of reference of type ‘const octave_value&’ from expression of type ‘octave_value_list’ const octave_value& ol = as(x); ^ /usr/lib/R/etc/Makeconf:168: recipe for target 'conversion.o' failed make: *** [conversion.o] Error 1 ERROR: compilation failed for package ‘RcppOctave’ ─ removing ‘/tmp/RtmpGFexmb/Rinst61567e75864/RcppOctave’

ERROR: package installation failed Error in processx::run(bin, args = real_cmdargs, stdout_line_callback = real_callback(stdout), : System command error