* installing *source* package ‘POUMM’ ...
** this is package ‘POUMM’ version ‘2.1.8’
** package ‘POUMM’ successfully unpacked and MD5 sums checked
** using staged installation
** 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/POUMM/src'
g++ -std=gnu++20 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I/usr/local/include    -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 Rcpp.cpp -o Rcpp.o
In file included from AbcPOUMM.h:28,
                 from Rcpp.cpp:28:
./SPLITT.h:2015: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2015 |     _PRAGMA_OMP_SIMD
./SPLITT.h:2033: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2033 |     _PRAGMA_OMP_SIMD
./SPLITT.h:2046: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2046 |     _PRAGMA_OMP_SIMD
./SPLITT.h:2058: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2058 |     _PRAGMA_OMP_SIMD
./SPLITT.h:2068: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2068 |       _PRAGMA_OMP_SIMD
./SPLITT.h:2094: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2094 | #pragma omp parallel
./SPLITT.h:2096: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2096 |   _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2107: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
 2107 | #pragma omp barrier
./SPLITT.h:2110: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2110 |     _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2121: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
 2121 | #pragma omp barrier
./SPLITT.h:2124: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2124 |       _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2140: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2140 | #pragma omp parallel
./SPLITT.h:2149: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2149 |   _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2159: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2159 |     _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2185: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2185 | #pragma omp parallel
./SPLITT.h:2225: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2225 | #pragma omp parallel
./SPLITT.h:2227: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2227 |   _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2238: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2238 |     _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2252: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2252 | #pragma omp parallel
./SPLITT.h:2254: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2254 |   _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2262: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2262 |     _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2273: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2273 | #pragma omp parallel
./SPLITT.h:2282: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2282 |   _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2293: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
 2293 | #pragma omp barrier
./SPLITT.h:2296: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2296 |       _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2305: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2305 |       _PRAGMA_OMP_SIMD
./SPLITT.h:2319: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2319 |         _PRAGMA_OMP_SIMD
./SPLITT.h:2337: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2337 | #pragma omp parallel
./SPLITT.h:2346: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2346 |   _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2357: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
 2357 | #pragma omp barrier
./SPLITT.h:2360: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2360 |         _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2370: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2370 |         _PRAGMA_OMP_SIMD
./SPLITT.h:2385: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2385 | #pragma omp parallel
./SPLITT.h:2394: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2394 |   _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2404: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
 2404 | #pragma omp barrier
./SPLITT.h:2407: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2407 |       _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2425: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2425 |       _PRAGMA_OMP_SIMD
./SPLITT.h:2569: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2569 |     _PRAGMA_OMP_SIMD
./SPLITT.h:2583: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2583 |     _PRAGMA_OMP_SIMD
./SPLITT.h:2592: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
 2592 |       _PRAGMA_OMP_SIMD
./SPLITT.h:2600: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 2600 | #pragma omp parallel
./SPLITT.h:2609: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2609 |   _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2618: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
 2618 |       _PRAGMA_OMP_FOR_SIMD
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1887:50:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
 1887 |     case ModeType::SINGLE_THREAD_LOOP_POSTORDER: TraverseTreeSingleThreadLoopPostorder(); break;
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  585 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51:   required from here
  111 |   .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
      |                                                   ^~~~~~~~~~~~
./SPLITT.h:2017:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2017 |       exception_handler_.Run([=]{
      |                              ^~~~
 2018 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2019 |       });
      |       ~                       
./SPLITT.h:2017:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2024:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2024 |       exception_handler_.Run([=]{
      |                              ^~~~
 2025 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2026 |         ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2027 |       });
      |       ~                       
./SPLITT.h:2024:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1888:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
 1888 |     case ModeType::SINGLE_THREAD_LOOP_PRUNES: TraverseTreeSingleThreadLoopPrunes(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  585 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51:   required from here
  111 |   .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
      |                                                   ^~~~~~~~~~~~
./SPLITT.h:2035:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2035 |       exception_handler_.Run([=]{
      |                              ^~~~
 2036 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2037 |       });
      |       ~                       
./SPLITT.h:2035:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2048:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2048 |         exception_handler_.Run([=]{
      |                                ^~~~
 2049 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2050 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2051 |         });
      |         ~                       
./SPLITT.h:2048:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1889:47:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
 1889 |     case ModeType::SINGLE_THREAD_LOOP_VISITS: TraverseTreeSingleThreadLoopVisits(); break;
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  585 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51:   required from here
  111 |   .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
      |                                                   ^~~~~~~~~~~~
./SPLITT.h:2060:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2060 |       exception_handler_.Run([=]{
      |                              ^~~~
 2061 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2062 |       });
      |       ~                       
./SPLITT.h:2060:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2070:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2070 |         exception_handler_.Run([=]{
      |                                ^~~~
 2071 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2072 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2073 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2074 |           } else {
      |           ~~~~~~~~              
 2075 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2076 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2077 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2078 |             }
      |             ~                   
 2079 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2080 |           }
      |           ~                     
 2081 |         });
      |         ~                       
./SPLITT.h:2070:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1890:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
 1890 |     case ModeType::MULTI_THREAD_LOOP_PRUNES: TraverseTreeMultiThreadLoopPrunes(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  585 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51:   required from here
  111 |   .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
      |                                                   ^~~~~~~~~~~~
./SPLITT.h:2229:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2229 |     exception_handler_.Run([=]{
      |                            ^~~~
 2230 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2231 |     });
      |     ~                       
./SPLITT.h:2229:28: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2240:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2240 |         exception_handler_.Run([=]{
      |                                ^~~~
 2241 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2242 |           ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2243 |         });
      |         ~                       
./SPLITT.h:2240:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1891:63:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
 1891 |     case ModeType::MULTI_THREAD_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeMultiThreadLoopVisitsThenLoopPrunes(); break;
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  585 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51:   required from here
  111 |   .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
      |                                                   ^~~~~~~~~~~~
./SPLITT.h:2098:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2098 |     exception_handler_.Run([=]{
      |                            ^~~~
 2099 |       ParentType::ref_spec_.InitNode(i);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2100 |     });
      |     ~                       
./SPLITT.h:2098:28: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2112:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2112 |         exception_handler_.Run([=]{
      |                                ^~~~
 2113 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2114 |         });
      |         ~                       
./SPLITT.h:2112:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2126:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2126 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2127 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2128 |           });
      |           ~                       
./SPLITT.h:2126:34: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1892:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
 1892 |     case ModeType::MULTI_THREAD_LOOP_VISITS: TraverseTreeMultiThreadLoopVisits(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  585 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51:   required from here
  111 |   .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
      |                                                   ^~~~~~~~~~~~
./SPLITT.h:2151:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2151 |       exception_handler_.Run([=]{
      |                              ^~~~
 2152 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2153 |       });
      |       ~                       
./SPLITT.h:2151:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2161:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2161 |         exception_handler_.Run([=]{
      |                                ^~~~
 2162 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2163 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2164 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2165 |           } else {
      |           ~~~~~~~~              
 2166 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2167 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2168 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2169 |             }
      |             ~                   
 2170 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2171 |           }
      |           ~                     
 2172 |         });
      |         ~                       
./SPLITT.h:2161:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2142:8: warning: variable ‘tid’ set but not used [-Wunused-but-set-variable]
 2142 |   uint tid;
      |        ^~~
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1893:46:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
 1893 |     case ModeType::MULTI_THREAD_VISIT_QUEUE: TraverseTreeMultiThreadVisitQueue(); break;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  585 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51:   required from here
  111 |   .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
      |                                                   ^~~~~~~~~~~~
./SPLITT.h:2187:26: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2187 |   exception_handler_.Run([=]{
      |                          ^~~~
 2188 |     while(true) {
      |     ~~~~~~~~~~~~~         
 2189 |       uint i = ParentType::visit_queue_.NextInQueue();
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2190 |       if(i == G_NA_UINT) {
      |       ~~~~~~~~~~~~~~~~~~~~
 2191 |         continue;
      |         ~~~~~~~~~         
 2192 |       } else if(i == ParentType::ref_tree_.num_nodes()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2193 |         break;
      |         ~~~~~~            
 2194 |       } else if(i < ParentType::ref_tree_.num_tips()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2195 |         // i is a tip (only Visit)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2196 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2197 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2198 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2199 |       } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2200 |         // i is internal
      |         ~~~~~~~~~~~~~~~~  
 2201 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2202 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2203 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2204 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2205 |         }
      |         ~                 
 2206 |         ParentType::ref_spec_.VisitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2207 |         ParentType::visit_queue_.RemoveVisitedNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2208 |       } else {
      |       ~~~~~~~~            
 2209 |         // i is the root
      |         ~~~~~~~~~~~~~~~~  
 2210 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2211 |         uvec const& children = ParentType::ref_tree_.FindChildren(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2212 |         for(uint j: children) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2213 |           ParentType::ref_spec_.PruneNode(j, i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2214 |         }
      |         ~                 
 2215 |         // don't visit the root
      |         ~~~~~~~~~~~~~~~~~~~~~~~
 2216 |       }
      |       ~                   
 2217 |     }
      |     ~                     
 2218 |   });
      |   ~                       
./SPLITT.h:2187:26: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1895:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
 1895 |     case ModeType::HYBRID_LOOP_PRUNES: TraverseTreeHybridLoopPrunes(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  585 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51:   required from here
  111 |   .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
      |                                                   ^~~~~~~~~~~~
./SPLITT.h:2348:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2348 |       exception_handler_.Run([=]{
      |                              ^~~~
 2349 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2350 |       });
      |       ~                       
./SPLITT.h:2348:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2362:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2362 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2363 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2364 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2365 |           });
      |           ~                       
./SPLITT.h:2362:34: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2372:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2372 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2373 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2374 |             ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2375 |           });
      |           ~                       
./SPLITT.h:2372:34: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1896:57:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
 1896 |     case ModeType::HYBRID_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeHybridLoopVisitsThenLoopPrunes(); break;
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  585 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51:   required from here
  111 |   .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
      |                                                   ^~~~~~~~~~~~
./SPLITT.h:2284:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2284 |       exception_handler_.Run([=]{
      |                              ^~~~
 2285 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2286 |       });
      |       ~                       
./SPLITT.h:2284:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2298:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2298 |           exception_handler_.Run([=]{
      |                                  ^~~~
 2299 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2300 |           });
      |           ~                       
./SPLITT.h:2298:34: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2307:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2307 |         exception_handler_.Run([=]{
      |                                ^~~~
 2308 |           ParentType::ref_spec_.VisitNode(i);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2309 |         });
      |         ~                       
./SPLITT.h:2307:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2321:36: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2321 |             exception_handler_.Run([=]{
      |                                    ^~~~
 2322 |               ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2323 |             });
      |             ~                       
./SPLITT.h:2321:36: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisits() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1897:40:   required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
 1897 |     case ModeType::HYBRID_LOOP_VISITS: TraverseTreeHybridLoopVisits(); break;
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28:   required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
  585 |     algorithm_.TraverseTree(static_cast<ModeType>(mode));
      |     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51:   required from here
  111 |   .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
      |                                                   ^~~~~~~~~~~~
./SPLITT.h:2396:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2396 |       exception_handler_.Run([=]{
      |                              ^~~~
 2397 |         ParentType::ref_spec_.InitNode(i);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2398 |       });
      |       ~                       
./SPLITT.h:2396:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2409:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2409 |         exception_handler_.Run([=]{
      |                                ^~~~
 2410 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2411 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2412 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2413 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2414 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2415 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2416 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2417 |             }
      |             ~                   
 2418 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2419 |           }
      |           ~                     
 2420 |         });
      |         ~                       
./SPLITT.h:2409:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2427:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2427 |         exception_handler_.Run([=]{
      |                                ^~~~
 2428 |           if(i < ParentType::ref_tree_.num_tips()) {
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2429 |             // i is a tip (only Visit)
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
 2430 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2431 |           } else if(i < ParentType::ref_tree_.num_nodes() - 1){
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2432 |             // i is internal
      |             ~~~~~~~~~~~~~~~~    
 2433 |             for(uint j: ParentType::ref_tree_.FindChildren(i)) {
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2434 |               ParentType::ref_spec_.PruneNode(j, i);
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2435 |             }
      |             ~                   
 2436 |             ParentType::ref_spec_.VisitNode(i);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2437 |           }
      |           ~                     
 2438 |         });
      |         ~                       
./SPLITT.h:2427:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2446:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
 2446 |       exception_handler_.Run([=]{
      |                              ^~~~
 2447 |         ParentType::ref_spec_.PruneNode(j, ParentType::ref_tree_.num_nodes() - 1);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2448 |       });
      |       ~                       
./SPLITT.h:2446:30: note: add explicit ‘this’ or ‘*this’ capture
g++ -std=gnu++20 -shared -L/usr/local/lib64 -o POUMM.so Rcpp.o
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/POUMM/src'
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/POUMM/src'
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/POUMM/src'
installing to /data/gannet/ripley/R/packages/tests-devel/POUMM.Rcheck/00LOCK-POUMM/00new/POUMM/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** preparing 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 (POUMM)