* installing *source* package ‘armadillo4r’ ... ** this is package ‘armadillo4r’ version ‘0.6.0’ ** package ‘armadillo4r’ successfully unpacked and MD5 sums checked ** using staged installation ================================== Compiler Configuration Variables cpp4r_INCLUDE_PATH: /Users/ripley/R/Library/cpp4r/include INST_INCLUDE_PATH: ./inst/include/armadillo4r PKG_CPPFLAGS: -I./inst/include/armadillo4r -I/Users/ripley/R/Library/cpp4r/include =================================== Testing minimal Armadillo example using C++ compiler: ‘Apple clang version 17.0.0 (clang-1700.6.3.2)’ using SDK: ‘MacOSX26.2.sdk’ clang++ -mmacos-version-min=26 -std=gnu++20 -I"/Users/ripley/R/R-devel/include" -DNDEBUG -I./inst/include/armadillo4r -I/Users/ripley/R/Library/cpp4r/include -isystem /opt/R/arm64/include -fPIC -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -c conftest.cpp -o conftest.o In file included from conftest.cpp:1: In file included from ./inst/include/armadillo4r/armadillo.hpp:28: In file included from ./inst/include/armadillo4r/r_messages.hpp:3: In file included from /Users/ripley/R/Library/cpp4r/include/cpp4r.hpp:6: /Users/ripley/R/Library/cpp4r/include/cpp4r/complexes.hpp:210:81: error: invalid operands to binary expression ('const proxy' and 'const r_complex') 210 | friend bool operator!=(const proxy& lhs, const r_complex& rhs) { return !(lhs == rhs); } | ~~~ ^ ~~~ /Users/ripley/R/Library/cpp4r/include/cpp4r/sexp.hpp:141:13: note: candidate function not viable: no known conversion from 'const proxy' to 'SEXP' (aka 'SEXPREC *') for 1st argument 141 | inline bool operator==(SEXP lhs, const sexp& rhs) noexcept { return lhs == rhs.data(); } | ^ ~~~~~~~~ /Users/ripley/R/Library/cpp4r/include/cpp4r/named_arg.hpp:81:13: note: candidate function not viable: no known conversion from 'const proxy' to 'const char *' for 1st argument 81 | inline bool operator==(const char* lhs, const named_arg& rhs) noexcept { | ^ ~~~~~~~~~~~~~~~ /Users/ripley/R/Library/cpp4r/include/cpp4r/r_vector.hpp:1519:6: note: candidate template ignored: could not match 'const r_vector' against 'const proxy' 1519 | bool operator==(const r_vector& lhs, const r_vector& rhs) { | ^ In file included from conftest.cpp:1: In file included from ./inst/include/armadillo4r/armadillo.hpp:28: In file included from ./inst/include/armadillo4r/r_messages.hpp:3: In file included from /Users/ripley/R/Library/cpp4r/include/cpp4r.hpp:16: /Users/ripley/R/Library/cpp4r/include/cpp4r/matrix.hpp:120:72: warning: implicit conversion loses integer precision: 'R_xlen_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 120 | iterator(const slice& slice, R_xlen_t pos) : slice_(slice), pos_(pos) {} | ~^~~ /Users/ripley/R/Library/cpp4r/include/cpp4r/matrix.hpp:153:80: warning: implicit conversion loses integer precision: 'R_xlen_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 153 | slice_iterator(const matrix& parent, R_xlen_t pos) : parent_(parent), pos_(pos) {} | ~^~~ In file included from conftest.cpp:1: In file included from ./inst/include/armadillo4r/armadillo.hpp:28: In file included from ./inst/include/armadillo4r/r_messages.hpp:3: In file included from /Users/ripley/R/Library/cpp4r/include/cpp4r.hpp:24: /Users/ripley/R/Library/cpp4r/include/cpp4r/strings.hpp:81:47: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 81 | Rf_mkCharLenCE(value.c_str(), value.size(), CE_UTF8)); | ~~~~~~~~~~~~~~ ~~~~~~^~~~~~ /Users/ripley/R/Library/cpp4r/include/cpp4r/strings.hpp:171:43: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 171 | Rf_mkCharLenCE(name_str, strlen(name_str), CE_UTF8)); | ~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~ /Users/ripley/R/Library/cpp4r/include/cpp4r/strings.hpp:214:66: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 214 | Rf_mkCharLenCE(str_val.c_str(), str_val.size(), CE_UTF8)); | ~~~~~~~~~~~~~~ ~~~~~~~~^~~~~~ /Users/ripley/R/Library/cpp4r/include/cpp4r/strings.hpp:227:66: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 227 | Rf_mkCharLenCE(str_val.c_str(), str_val.size(), CE_UTF8)); | ~~~~~~~~~~~~~~ ~~~~~~~~^~~~~~ /Users/ripley/R/Library/cpp4r/include/cpp4r/strings.hpp:247:66: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 247 | Rf_mkCharLenCE(str_val.c_str(), str_val.size(), CE_UTF8)); | ~~~~~~~~~~~~~~ ~~~~~~~~^~~~~~ /Users/ripley/R/Library/cpp4r/include/cpp4r/strings.hpp:260:66: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 260 | Rf_mkCharLenCE(str_val.c_str(), str_val.size(), CE_UTF8)); | ~~~~~~~~~~~~~~ ~~~~~~~~^~~~~~ /Users/ripley/R/Library/cpp4r/include/cpp4r/strings.hpp:384:64: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 384 | Rf_mkCharLenCE(combined.c_str(), combined.size(), CE_UTF8)); | ~~~~~~~~~~~~~~ ~~~~~~~~~^~~~~~ In file included from conftest.cpp:1: In file included from ./inst/include/armadillo4r/armadillo.hpp:28: ./inst/include/armadillo4r/r_messages.hpp:14:15: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 14 | char ch = c; | ~~ ^ In file included from conftest.cpp:1: In file included from ./inst/include/armadillo4r/armadillo.hpp:28: In file included from ./inst/include/armadillo4r/r_messages.hpp:3: In file included from /Users/ripley/R/Library/cpp4r/include/cpp4r.hpp:4: In file included from /Users/ripley/R/Library/cpp4r/include/cpp4r/as.hpp:15: /Users/ripley/R/Library/cpp4r/include/cpp4r/protect.hpp:119:29: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 119 | return std::forward(f)(std::get(std::move(a))...); | ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~ /Users/ripley/R/Library/cpp4r/include/cpp4r/protect.hpp:125:10: note: in instantiation of function template specialization 'cpp4r::detail::apply' requested here 125 | return apply(std::forward(f), std::move(a), make_index_sequence{}); | ^ /Users/ripley/R/Library/cpp4r/include/cpp4r/protect.hpp:138:12: note: in instantiation of function template specialization 'cpp4r::detail::apply' requested here 138 | return apply(ptr_, std::move(arefs_)); | ^ /Users/ripley/R/Library/cpp4r/include/cpp4r/protect.hpp:54:16: note: in instantiation of member function 'cpp4r::detail::closure::operator()' requested here 54 | return static_cast(*callback)(); | ^ /Users/ripley/R/Library/cpp4r/include/cpp4r/protect.hpp:152:14: note: in instantiation of function template specialization 'cpp4r::unwind_protect, void>' requested here 152 | return unwind_protect( | ^ /Users/ripley/R/Library/cpp4r/include/cpp4r/r_string.hpp:22:35: note: in instantiation of function template specialization 'cpp4r::protect::function::operator()' requested here 22 | : data_(safe[Rf_mkCharLenCE](data.c_str(), data.size(), CE_UTF8)) {} | ^ In file included from conftest.cpp:1: In file included from ./inst/include/armadillo4r/armadillo.hpp:28: In file included from ./inst/include/armadillo4r/r_messages.hpp:3: In file included from /Users/ripley/R/Library/cpp4r/include/cpp4r.hpp:6: /Users/ripley/R/Library/cpp4r/include/cpp4r/complexes.hpp:94:28: error: multiple overloads of 'proxy' instantiate to the same signature 'void (const proxy &)' 94 | class r_vector::proxy { | ^ /Users/ripley/R/Library/cpp4r/include/cpp4r/complexes.hpp:94:28: note: while declaring the implicit copy constructor for 'proxy' /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/transform.h:24:5: note: in instantiation of member function 'cpp4r::writable::r_vector::iterator::operator*' requested here 24 | *__result = __op(*__first); | ^ /Users/ripley/R/Library/cpp4r/include/cpp4r/r_vector.hpp:277:9: note: previous definition is here 277 | class proxy { | ^ In file included from conftest.cpp:1: In file included from ./inst/include/armadillo4r/armadillo.hpp:28: In file included from ./inst/include/armadillo4r/r_messages.hpp:3: In file included from /Users/ripley/R/Library/cpp4r/include/cpp4r.hpp:6: /Users/ripley/R/Library/cpp4r/include/cpp4r/complexes.hpp:94:28: error: multiple overloads of 'proxy' instantiate to the same signature 'void (const proxy &)' 94 | class r_vector::proxy { | ^ /Users/ripley/R/Library/cpp4r/include/cpp4r/complexes.hpp:94:28: note: while declaring the implicit copy constructor for 'proxy' /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/transform.h:24:5: note: in instantiation of member function 'cpp4r::writable::r_vector::iterator::operator*' requested here 24 | *__result = __op(*__first); | ^ /Users/ripley/R/Library/cpp4r/include/cpp4r/r_vector.hpp:277:9: note: previous definition is here 277 | class proxy { | ^ 11 warnings and 3 errors generated. make[1]: *** [conftest.o] Error 1 make[1]: Target `all' not remade because of errors. Armadillo is not compatible with the C++ compiler used by R. ERROR: configuration failed for package ‘armadillo4r’ * removing ‘/Users/ripley/R/packages/tests-devel/armadillo4r.Rcheck/armadillo4r’