* installing *source* package ‘recometrics’ ...
** this is package ‘recometrics’ version ‘0.1.6-3’
** package ‘recometrics’ successfully unpacked and MD5 sums checked
** using staged installation
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 the compiler supports GNU C++... yes
checking whether g++ -std=gnu++17 accepts -g... yes
checking for g++ -std=gnu++17 option to enable C++11 features... none needed
configure: creating ./config.status
config.status: creating src/Makevars
** libs
using C++ compiler: ‘g++ (GCC) 15.1.1 20250521 (Red Hat 15.1.1-2)’
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/recometrics/src'
g++ -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -D_FOR_R -DSUPPORTS_RESTRICT=1 -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/float/include' -I/usr/local/include -fopenmp -fno-math-errno -fno-trapping-math -fvisibility=hidden -fpic -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection -c RcppExports.cpp -o RcppExports.o
g++ -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -D_FOR_R -DSUPPORTS_RESTRICT=1 -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/float/include' -I/usr/local/include -fopenmp -fno-math-errno -fno-trapping-math -fvisibility=hidden -fpic -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection -c Rwrapper.cpp -o Rwrapper.o
In file included from /data/gannet/ripley/R/R-devel/include/R.h:73,
from recometrics.hpp:78,
from Rwrapper.cpp:28:
/data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/exceptions.h: In function ‘void Rcpp::Rf_warning(const char*, Args&& ...) [with Args = {const char*}]’:
/data/gannet/ripley/R/R-devel/include/R_ext/Error.h:85:17: warning: infinite recursion detected [-Winfinite-recursion]
85 | #define warning Rf_warning
| ^~~~~~~~~~
/data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/exceptions.h:190:17: note: in expansion of macro ‘warning’
190 | inline void warning(const char* fmt, Args&&... args ) {
| ^~~~~~~
In file included from /data/gannet/ripley/R/test-dev/Rcpp/include/RcppCommon.h:133,
from /data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp.h:27,
from Rwrapper.cpp:30:
/data/gannet/ripley/R/test-dev/Rcpp/include/Rcpp/exceptions.h:191:19: note: recursive call
191 | Rf_warning("%s", tfm::format(fmt, std::forward<Args>(args)... ).c_str());
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp: In function ‘_Z12calc_metricsIdEvPKT_mS2_miiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiim._omp_fn.0’:
recometrics.hpp:661:56: warning: ‘test_bool_thread’ may be used uninitialized [-Wmaybe-uninitialized]
661 | if (test_bool_thread[ind_thread[ix]])
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
recometrics.hpp:401:20: note: ‘test_bool_thread’ was declared here
401 | bool *restrict test_bool_thread = nullptr;
| ^~~~~~~~~~~~~~~~
recometrics.hpp:742:34: warning: ‘ndcg_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
742 | std::fill(ndcg_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
743 | ndcg_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
744 | ndcg_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:413:22: note: ‘ndcg_at_k_user’ was declared here
413 | real_t *restrict ndcg_at_k_user = nullptr;
| ^~~~~~~~~~~~~~
recometrics.hpp:735:34: warning: ‘rr_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
735 | std::fill(rr_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
736 | rr_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~
737 | rr_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:415:22: note: ‘rr_at_k_user’ was declared here
415 | real_t *restrict rr_at_k_user = nullptr;
| ^~~~~~~~~~~~
In file included from /usr/include/c++/15/algorithm:62,
from recometrics.hpp:27:
In function ‘_OutputIterator std::__fill_n_a(_OutputIterator, _Size, const _Tp&, random_access_iterator_tag) [with _OutputIterator = double*; _Size = int; _Tp = double]’,
inlined from ‘_OI std::fill_n(_OI, _Size, const _Tp&) [with _OI = double*; _Size = int; _Tp = double]’ at /usr/include/c++/15/bits/stl_algobase.h:1178:29,
inlined from ‘_Z12calc_metricsIdEvPKT_mS2_miiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiim._omp_fn.0’ at recometrics.hpp:763:42:
/usr/include/c++/15/bits/stl_algobase.h:1148:20: warning: ‘hit_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
1148 | std::__fill_a(__first, __first + __n, __value);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp: In function ‘_Z12calc_metricsIdEvPKT_mS2_miiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiim._omp_fn.0’:
recometrics.hpp:414:22: note: ‘hit_at_k_user’ was declared here
414 | real_t *restrict hit_at_k_user = nullptr;
| ^~~~~~~~~~~~~
recometrics.hpp:728:34: warning: ‘tap_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
728 | std::fill(tap_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
729 | tap_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
730 | tap_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:412:22: note: ‘tap_at_k_user’ was declared here
412 | real_t *restrict tap_at_k_user = nullptr;
| ^~~~~~~~~~~~~
recometrics.hpp:721:34: warning: ‘ap_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
721 | std::fill(ap_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
722 | ap_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~
723 | ap_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:411:22: note: ‘ap_at_k_user’ was declared here
411 | real_t *restrict ap_at_k_user = nullptr;
| ^~~~~~~~~~~~
In function ‘_OutputIterator std::__fill_n_a(_OutputIterator, _Size, const _Tp&, random_access_iterator_tag) [with _OutputIterator = double*; _Size = int; _Tp = double]’,
inlined from ‘_OI std::fill_n(_OI, _Size, const _Tp&) [with _OI = double*; _Size = int; _Tp = double]’ at /usr/include/c++/15/bits/stl_algobase.h:1178:29,
inlined from ‘_Z12calc_metricsIdEvPKT_mS2_miiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiim._omp_fn.0’ at recometrics.hpp:762:40:
/usr/include/c++/15/bits/stl_algobase.h:1148:20: warning: ‘r_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
1148 | std::__fill_a(__first, __first + __n, __value);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp: In function ‘_Z12calc_metricsIdEvPKT_mS2_miiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiim._omp_fn.0’:
recometrics.hpp:410:22: note: ‘r_at_k_user’ was declared here
410 | real_t *restrict r_at_k_user = nullptr;
| ^~~~~~~~~~~
recometrics.hpp:715:43: warning: ‘tp_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
715 | if (tp_at_k) std::fill(tp_at_k_user + move_to, tp_at_k_user + k_metrics, NAN_);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:409:22: note: ‘tp_at_k_user’ was declared here
409 | real_t *restrict tp_at_k_user = nullptr;
| ^~~~~~~~~~~~
recometrics.hpp:714:42: warning: ‘p_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
714 | if (p_at_k) std::fill(p_at_k_user + move_to, p_at_k_user + k_metrics, NAN_);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:408:22: note: ‘p_at_k_user’ was declared here
408 | real_t *restrict p_at_k_user = nullptr;
| ^~~~~~~~~~~
recometrics.hpp: In function ‘_Z12calc_metricsIfEvPKT_mS2_miiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiim._omp_fn.0’:
recometrics.hpp:661:56: warning: ‘test_bool_thread’ may be used uninitialized [-Wmaybe-uninitialized]
661 | if (test_bool_thread[ind_thread[ix]])
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
recometrics.hpp:401:20: note: ‘test_bool_thread’ was declared here
401 | bool *restrict test_bool_thread = nullptr;
| ^~~~~~~~~~~~~~~~
recometrics.hpp:742:34: warning: ‘ndcg_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
742 | std::fill(ndcg_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
743 | ndcg_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
744 | ndcg_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:413:22: note: ‘ndcg_at_k_user’ was declared here
413 | real_t *restrict ndcg_at_k_user = nullptr;
| ^~~~~~~~~~~~~~
recometrics.hpp:735:34: warning: ‘rr_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
735 | std::fill(rr_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
736 | rr_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~
737 | rr_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:415:22: note: ‘rr_at_k_user’ was declared here
415 | real_t *restrict rr_at_k_user = nullptr;
| ^~~~~~~~~~~~
In function ‘_OutputIterator std::__fill_n_a(_OutputIterator, _Size, const _Tp&, random_access_iterator_tag) [with _OutputIterator = float*; _Size = int; _Tp = double]’,
inlined from ‘_OI std::fill_n(_OI, _Size, const _Tp&) [with _OI = float*; _Size = int; _Tp = double]’ at /usr/include/c++/15/bits/stl_algobase.h:1178:29,
inlined from ‘_Z12calc_metricsIfEvPKT_mS2_miiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiim._omp_fn.0’ at recometrics.hpp:763:42:
/usr/include/c++/15/bits/stl_algobase.h:1148:20: warning: ‘hit_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
1148 | std::__fill_a(__first, __first + __n, __value);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp: In function ‘_Z12calc_metricsIfEvPKT_mS2_miiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiim._omp_fn.0’:
recometrics.hpp:414:22: note: ‘hit_at_k_user’ was declared here
414 | real_t *restrict hit_at_k_user = nullptr;
| ^~~~~~~~~~~~~
recometrics.hpp:728:34: warning: ‘tap_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
728 | std::fill(tap_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
729 | tap_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
730 | tap_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:412:22: note: ‘tap_at_k_user’ was declared here
412 | real_t *restrict tap_at_k_user = nullptr;
| ^~~~~~~~~~~~~
recometrics.hpp:721:34: warning: ‘ap_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
721 | std::fill(ap_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
722 | ap_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~
723 | ap_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:411:22: note: ‘ap_at_k_user’ was declared here
411 | real_t *restrict ap_at_k_user = nullptr;
| ^~~~~~~~~~~~
In function ‘_OutputIterator std::__fill_n_a(_OutputIterator, _Size, const _Tp&, random_access_iterator_tag) [with _OutputIterator = float*; _Size = int; _Tp = double]’,
inlined from ‘_OI std::fill_n(_OI, _Size, const _Tp&) [with _OI = float*; _Size = int; _Tp = double]’ at /usr/include/c++/15/bits/stl_algobase.h:1178:29,
inlined from ‘_Z12calc_metricsIfEvPKT_mS2_miiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiim._omp_fn.0’ at recometrics.hpp:762:40:
/usr/include/c++/15/bits/stl_algobase.h:1148:20: warning: ‘r_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
1148 | std::__fill_a(__first, __first + __n, __value);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp: In function ‘_Z12calc_metricsIfEvPKT_mS2_miiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiim._omp_fn.0’:
recometrics.hpp:410:22: note: ‘r_at_k_user’ was declared here
410 | real_t *restrict r_at_k_user = nullptr;
| ^~~~~~~~~~~
recometrics.hpp:715:43: warning: ‘tp_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
715 | if (tp_at_k) std::fill(tp_at_k_user + move_to, tp_at_k_user + k_metrics, NAN_);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:409:22: note: ‘tp_at_k_user’ was declared here
409 | real_t *restrict tp_at_k_user = nullptr;
| ^~~~~~~~~~~~
recometrics.hpp:714:42: warning: ‘p_at_k_user’ may be used uninitialized [-Wmaybe-uninitialized]
714 | if (p_at_k) std::fill(p_at_k_user + move_to, p_at_k_user + k_metrics, NAN_);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:408:22: note: ‘p_at_k_user’ was declared here
408 | real_t *restrict p_at_k_user = nullptr;
| ^~~~~~~~~~~
g++ -std=gnu++17 -shared -L/usr/local/lib64 -o recometrics.so RcppExports.o Rwrapper.o -fopenmp -L/data/gannet/ripley/R/R-devel/lib -lRblas -lgfortran -lm -lquadmath -L/data/gannet/ripley/R/test-dev/float/libs -l:float.so -Wl,-rpath=/data/gannet/ripley/R/test-dev/float/libs -llapack -lblas
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/recometrics/src'
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/recometrics/src'
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/recometrics/src'
installing to /data/gannet/ripley/R/packages/tests-devel/recometrics.Rcheck/00LOCK-recometrics/00new/recometrics/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (recometrics)