* installing to library ‘/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages’ * installing *source* package ‘stringfish’ ... ** package ‘stringfish’ successfully unpacked and MD5 sums checked ** using staged installation checking for pkg-config... /usr/bin/pkg-config stringfish configure script PCRE2 10.42 library detected -- skipping PCRE2 compilation -lpcre2-8 configure: creating ./config.status config.status: creating src/Makevars ** libs using C++ compiler: ‘g++-14 (Debian 14.2.0-8) 14.2.0’ make[1]: Entering directory '/home/hornik/tmp/scratch/Rtmp0mb8eq/R.INSTALL12bb635438e3d/stringfish/src' g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -DRCPP_NO_RTTI -DPCRE2_CODE_UNIT_WIDTH=8 -DHAVE_CONFIG_H -I. -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fpic -g -O2 -Wall -pedantic -mtune=native -c RcppExports.cpp -o RcppExports.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -DRCPP_NO_RTTI -DPCRE2_CODE_UNIT_WIDTH=8 -DHAVE_CONFIG_H -I. -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fpic -g -O2 -Wall -pedantic -mtune=native -c sf_functions.cpp -o sf_functions.o In file included from /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/tbb.h:32, from /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/RcppParallel/TBB.h:10, from /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/RcppParallel.h:24, from sf_functions.cpp:2: /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/atomic.h: In instantiation of ‘tbb::atomic<T>& tbb::internal::as_atomic(T&) [with T = long unsigned int]’: /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/tbb_thread.h:251:29: required from here 251 | return as_atomic(location.my_id).compare_and_swap(value.my_id, comparand.my_id); | ~~~~~~~~~^~~~~~~~~~~~~~~~ /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/atomic.h:544:12: warning: casting ‘long unsigned int’ to ‘tbb::atomic<long unsigned int>&’ does not use ‘constexpr tbb::atomic<long unsigned int>::atomic(long unsigned int)’ [-Wcast-user-defined] 544 | return (atomic<T>&)t; | ^~~~~~~~~~~~~ /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/atomic.h: In instantiation of ‘tbb::atomic<T>& tbb::internal::as_atomic(T&) [with T = tbb::interface5::internal::hash_map_base::bucket*]’: /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/concurrent_hash_map.h:291:31: required from here 291 | && as_atomic(my_table[new_seg]).compare_and_swap(is_allocating, NULL) == NULL ) | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/atomic.h:544:12: warning: casting ‘tbb::interface5::internal::hash_map_base::bucket*’ to ‘tbb::atomic<tbb::interface5::internal::hash_map_base::bucket*>&’ does not use ‘constexpr tbb::atomic<T*>::atomic(T*) [with T = tbb::interface5::internal::hash_map_base::bucket]’ [-Wcast-user-defined] 544 | return (atomic<T>&)t; | ^~~~~~~~~~~~~ /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/atomic.h: In instantiation of ‘tbb::atomic<T>& tbb::internal::as_atomic(T&) [with T = tbb::interface5::internal::split_ordered_list<std::pair<const RStringIndexer::rstring_info, std::atomic<int> >, tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >::node*]’: /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/internal/_concurrent_unordered_impl.h:249:63: required from ‘tbb::interface5::internal::split_ordered_list<T, Allocator>::node* tbb::interface5::internal::split_ordered_list<T, Allocator>::node::atomic_set_next(tbb::interface5::internal::split_ordered_list<T, Allocator>::nodeptr_t, tbb::interface5::internal::split_ordered_list<T, Allocator>::nodeptr_t) [with T = std::pair<const RStringIndexer::rstring_info, std::atomic<int> >; Allocator = tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > >; tbb::interface5::internal::split_ordered_list<T, Allocator>::nodeptr_t = tbb::interface5::internal::split_ordered_list<std::pair<const RStringIndexer::rstring_info, std::atomic<int> >, tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >::node*]’ 249 | nodeptr_t exchange_node = tbb::internal::as_atomic(my_next).compare_and_swap(new_node, current_node); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/internal/_concurrent_unordered_impl.h:510:41: required from ‘static tbb::interface5::internal::split_ordered_list<T, Allocator>::node* tbb::interface5::internal::split_ordered_list<T, Allocator>::try_insert_atomic(nodeptr_t, nodeptr_t, nodeptr_t) [with T = std::pair<const RStringIndexer::rstring_info, std::atomic<int> >; Allocator = tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > >; nodeptr_t = tbb::interface5::internal::split_ordered_list<std::pair<const RStringIndexer::rstring_info, std::atomic<int> >, tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >::node*]’ 510 | return previous->atomic_set_next(new_node, current_node); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/internal/_concurrent_unordered_impl.h:516:52: required from ‘std::pair<tbb::interface5::internal::solist_iterator<tbb::interface5::internal::split_ordered_list<T, Allocator>, typename std::allocator_traits<typename tbb::internal::allocator_rebind<A, T>::type>::value_type>, bool> tbb::interface5::internal::split_ordered_list<T, Allocator>::try_insert(raw_iterator, raw_iterator, nodeptr_t, size_type*) [with T = std::pair<const RStringIndexer::rstring_info, std::atomic<int> >; Allocator = tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > >; typename std::allocator_traits<typename tbb::internal::allocator_rebind<A, T>::type>::value_type = std::pair<const RStringIndexer::rstring_info, std::atomic<int> >; typename tbb::internal::allocator_rebind<A, T>::type = std::allocator_traits<tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >::rebind_alloc<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > >; raw_iterator = tbb::interface5::internal::flist_iterator<tbb::interface5::internal::split_ordered_list<std::pair<const RStringIndexer::rstring_info, std::atomic<int> >, tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >, std::pair<const RStringIndexer::rstring_info, std::atomic<int> > >; nodeptr_t = tbb::interface5::internal::split_ordered_list<std::pair<const RStringIndexer::rstring_info, std::atomic<int> >, tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >::node*; size_type = long unsigned int]’ 516 | nodeptr_t inserted_node = try_insert_atomic(it.get_node_ptr(), pnode, next.get_node_ptr()); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/internal/_concurrent_unordered_impl.h:1420:72: required from ‘std::pair<typename tbb::interface5::internal::split_ordered_list<typename Traits::value_type, typename Traits::allocator_type>::iterator, bool> tbb::interface5::internal::concurrent_unordered_base<Traits>::internal_insert(ValueType&&, nodeptr_t) [with AllowCreate = tbb::internal::bool_constant<false>; AllowDestroy = tbb::internal::bool_constant<true>; ValueType = std::pair<const RStringIndexer::rstring_info, std::atomic<int> >&; Traits = tbb::interface5::concurrent_unordered_map_traits<RStringIndexer::rstring_info, std::atomic<int>, tbb::interface5::internal::hash_compare<RStringIndexer::rstring_info, rstring_info_hash, std::equal_to<RStringIndexer::rstring_info> >, tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > >, false>; typename tbb::interface5::internal::split_ordered_list<typename Traits::value_type, typename Traits::allocator_type>::iterator = tbb::interface5::internal::solist_iterator<tbb::interface5::internal::split_ordered_list<std::pair<const RStringIndexer::rstring_info, std::atomic<int> >, tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >, std::pair<const RStringIndexer::rstring_info, std::atomic<int> > >; typename Traits::value_type = std::pair<const RStringIndexer::rstring_info, std::atomic<int> >; typename Traits::allocator_type = std::allocator_traits<tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >::rebind_alloc<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > >; nodeptr_t = tbb::interface5::internal::split_ordered_list<std::pair<const RStringIndexer::rstring_info, std::atomic<int> >, tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >::node*]’ 1420 | std::pair<iterator, bool> result = my_solist.try_insert(previous, where, pnode, &new_count); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/internal/_concurrent_unordered_impl.h:1101:74: required from ‘std::pair<typename tbb::interface5::internal::split_ordered_list<typename Traits::value_type, typename Traits::allocator_type>::iterator, bool> tbb::interface5::internal::concurrent_unordered_base<Traits>::emplace(Args&& ...) [with Args = {RStringIndexer::rstring_info&, int&}; Traits = tbb::interface5::concurrent_unordered_map_traits<RStringIndexer::rstring_info, std::atomic<int>, tbb::interface5::internal::hash_compare<RStringIndexer::rstring_info, rstring_info_hash, std::equal_to<RStringIndexer::rstring_info> >, tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > >, false>; typename tbb::interface5::internal::split_ordered_list<typename Traits::value_type, typename Traits::allocator_type>::iterator = tbb::interface5::internal::solist_iterator<tbb::interface5::internal::split_ordered_list<std::pair<const RStringIndexer::rstring_info, std::atomic<int> >, tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >, std::pair<const RStringIndexer::rstring_info, std::atomic<int> > >; typename Traits::value_type = std::pair<const RStringIndexer::rstring_info, std::atomic<int> >; typename Traits::allocator_type = std::allocator_traits<tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >::rebind_alloc<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > >]’ 1100 | return internal_insert</*AllowCreate=*/tbb::internal::false_type, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1101 | /*AllowDestroy=*/tbb::internal::true_type>(pnode->my_element, pnode); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ sf_functions.cpp:1362:35: required from here 1362 | auto p = table_hash->emplace(q, newval); // <iterator, bool> | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include/tbb/atomic.h:544:12: warning: casting ‘tbb::interface5::internal::split_ordered_list<std::pair<const RStringIndexer::rstring_info, std::atomic<int> >, tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >::node*’ to ‘tbb::atomic<tbb::interface5::internal::split_ordered_list<std::pair<const RStringIndexer::rstring_info, std::atomic<int> >, tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >::node*>&’ does not use ‘constexpr tbb::atomic<T*>::atomic(T*) [with T = tbb::interface5::internal::split_ordered_list<std::pair<const RStringIndexer::rstring_info, std::atomic<int> >, tbb::tbb_allocator<std::pair<const RStringIndexer::rstring_info, std::atomic<int> > > >::node]’ [-Wcast-user-defined] 544 | return (atomic<T>&)t; | ^~~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -DRCPP_NO_RTTI -DPCRE2_CODE_UNIT_WIDTH=8 -DHAVE_CONFIG_H -I. -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppParallel/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fpic -g -O2 -Wall -pedantic -mtune=native -c PCRE2_wrapper/pcre2_wrapper.cpp -o PCRE2_wrapper/pcre2_wrapper.o ar rcs libSFPCRE2.a PCRE2_wrapper/pcre2_wrapper.o g++-14 -std=gnu++17 -shared -L/home/hornik/tmp/R.check/r-patched-gcc/Work/build/lib -Wl,-O1 -o stringfish.so RcppExports.o sf_functions.o -lpthread -L. -lSFPCRE2 -lpcre2-8 -L/home/hornik/tmp/R.check/r-patched-gcc/Work/build/lib -lR make[1]: Leaving directory '/home/hornik/tmp/scratch/Rtmp0mb8eq/R.INSTALL12bb635438e3d/stringfish/src' make[1]: Entering directory '/home/hornik/tmp/scratch/Rtmp0mb8eq/R.INSTALL12bb635438e3d/stringfish/src' make[1]: Leaving directory '/home/hornik/tmp/scratch/Rtmp0mb8eq/R.INSTALL12bb635438e3d/stringfish/src' installing to /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/00LOCK-stringfish/00new/stringfish/libs ** R ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices converting help for package ‘stringfish’ finding HTML links ... done convert_to_sf html get_string_type html materialize html random_strings html sf_assign html sf_collapse html sf_compare html sf_concat html sf_ends html sf_grepl html sf_gsub html sf_iconv html sf_match html sf_nchar html sf_paste html sf_readLines html sf_split html sf_starts html sf_substr html sf_tolower html sf_toupper html sf_trim html sf_vector html sf_writeLines html string_identical html ** 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 (stringfish)