Opened 7 months ago
Last modified 6 months ago
#69786 new defect
R-quanteda now fails on 10.12 and earlier with libc++: error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.13 or newer
Reported by: | barracuda156 | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.9.3 |
Keywords: | sierra, elcapitan, yosemite, mavericks, mountainlion, lion, snowleopard, leopard, tiger | Cc: | |
Port: | R-quanteda |
Description
using C++ compiler: ‘clang version 15.0.7’ using SDK: ‘NA’ /opt/local/bin/clang++-mp-15 -std=gnu++17 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I'/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/Rcpp/include' -I'/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/RcppArmadillo/include' -I/opt/local/include -DTBB -I/opt/local/libexec/onetbb/include -I../inst/include -fPIC -pipe -Os -stdlib=libc++ -arch x86_64 -c RcppExports.cpp -o RcppExports.o /opt/local/bin/clang++-mp-15 -std=gnu++17 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I'/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/Rcpp/include' -I'/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/RcppArmadillo/include' -I/opt/local/include -DTBB -I/opt/local/libexec/onetbb/include -I../inst/include -fPIC -pipe -Os -stdlib=libc++ -arch x86_64 -c fcm.cpp -o fcm.o In file included from fcm.cpp:1: In file included from ../inst/include/lib.h:15: In file included from /opt/local/libexec/onetbb/include/tbb/tbb.h:17: In file included from /opt/local/libexec/onetbb/include/tbb/../oneapi/tbb.h:35: In file included from /opt/local/libexec/onetbb/include/oneapi/tbb/combinable.h:22: In file included from /opt/local/libexec/onetbb/include/oneapi/tbb/enumerable_thread_specific.h:36: In file included from /opt/local/libexec/onetbb/include/oneapi/tbb/task.h:22: /opt/local/libexec/onetbb/include/oneapi/tbb/detail/_task.h:216:13: error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.13 or newer virtual ~task() = default; ^ /opt/local/libexec/onetbb/include/oneapi/tbb/detail/_task_handle.h:49:5: note: in defaulted destructor for 'tbb::detail::d1::task' first required here task_handle_task(d1::wait_context& wo, d1::task_group_context& ctx, d1::small_object_allocator& alloc) ^ /opt/local/libexec/onetbb/include/oneapi/tbb/detail/_task.h:216:13: note: if you supply your own aligned allocation functions, use -faligned-allocation to silence this diagnostic virtual ~task() = default; ^ In file included from fcm.cpp:1: In file included from ../inst/include/lib.h:15: In file included from /opt/local/libexec/onetbb/include/tbb/tbb.h:17: In file included from /opt/local/libexec/onetbb/include/tbb/../oneapi/tbb.h:40: In file included from /opt/local/libexec/onetbb/include/oneapi/tbb/collaborative_call_once.h:20: In file included from /opt/local/libexec/onetbb/include/oneapi/tbb/task_arena.h:29: /opt/local/libexec/onetbb/include/oneapi/tbb/detail/_task_handle.h:56:5: error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.13 or newer ~task_handle_task() override { ^ /opt/local/libexec/onetbb/include/oneapi/tbb/detail/_task_handle.h:56:5: note: if you supply your own aligned allocation functions, use -faligned-allocation to silence this diagnostic In file included from fcm.cpp:1: In file included from ../inst/include/lib.h:15: In file included from /opt/local/libexec/onetbb/include/tbb/tbb.h:17: In file included from /opt/local/libexec/onetbb/include/tbb/../oneapi/tbb.h:49: In file included from /opt/local/libexec/onetbb/include/oneapi/tbb/flow_graph.h:161: /opt/local/libexec/onetbb/include/oneapi/tbb/detail/_flow_graph_impl.h:126:7: error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.13 or newer class graph_task : public task { ^ /opt/local/libexec/onetbb/include/oneapi/tbb/detail/_flow_graph_impl.h:128:5: note: in implicit destructor for 'tbb::detail::d1::graph_task' first required here graph_task(graph& g, small_object_allocator& allocator ^ /opt/local/libexec/onetbb/include/oneapi/tbb/detail/_flow_graph_impl.h:126:7: note: if you supply your own aligned allocation functions, use -faligned-allocation to silence this diagnostic class graph_task : public task { ^ /opt/local/libexec/onetbb/include/oneapi/tbb/detail/_flow_graph_impl.h:160:7: error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.13 or newer class priority_task_selector : public task { ^ /opt/local/libexec/onetbb/include/oneapi/tbb/detail/_flow_graph_impl.h:162:5: note: in implicit destructor for 'tbb::detail::d1::priority_task_selector' first required here priority_task_selector(graph_task_priority_queue_t& priority_queue, small_object_allocator& allocator) ^ /opt/local/libexec/onetbb/include/oneapi/tbb/detail/_flow_graph_impl.h:160:7: note: if you supply your own aligned allocation functions, use -faligned-allocation to silence this diagnostic class priority_task_selector : public task { ^ In file included from fcm.cpp:1: In file included from ../inst/include/lib.h:15: In file included from /opt/local/libexec/onetbb/include/tbb/tbb.h:17: In file included from /opt/local/libexec/onetbb/include/tbb/../oneapi/tbb.h:54: /opt/local/libexec/onetbb/include/oneapi/tbb/parallel_for.h:61:8: error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.13 or newer struct start_for : public task { ^ /opt/local/libexec/onetbb/include/oneapi/tbb/parallel_for.h:74:5: note: in implicit destructor for 'tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<int>, (lambda at fcm.cpp:106:58), const tbb::detail::d1::auto_partitioner>' first required here start_for( const Range& range, const Body& body, Partitioner& partitioner, small_object_allocator& alloc ) : ^ /opt/local/libexec/onetbb/include/oneapi/tbb/detail/_small_object_pool.h:63:57: note: in instantiation of member function 'tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<int>, (lambda at fcm.cpp:106:58), const tbb::detail::d1::auto_partitioner>::start_for' requested here auto constructed_object = new(allocated_object) Type(std::forward<Args>(args)...); ^ /opt/local/libexec/onetbb/include/oneapi/tbb/parallel_for.h:107:42: note: in instantiation of function template specialization 'tbb::detail::d1::small_object_allocator::new_object<tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<int>, (lambda at fcm.cpp:106:58), const tbb::detail::d1::auto_partitioner>, const tbb::detail::d1::blocked_range<int> &, const (lambda at fcm.cpp:106:58) &, const tbb::detail::d1::auto_partitioner &, tbb::detail::d1::small_object_allocator &>' requested here start_for& for_task = *alloc.new_object<start_for>(range, body, partitioner, alloc); ^ /opt/local/libexec/onetbb/include/oneapi/tbb/parallel_for.h:101:9: note: in instantiation of member function 'tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<int>, (lambda at fcm.cpp:106:58), const tbb::detail::d1::auto_partitioner>::run' requested here run(range, body, partitioner, context); ^ /opt/local/libexec/onetbb/include/oneapi/tbb/parallel_for.h:229:60: note: in instantiation of member function 'tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<int>, (lambda at fcm.cpp:106:58), const tbb::detail::d1::auto_partitioner>::run' requested here start_for<Range,Body,const __TBB_DEFAULT_PARTITIONER>::run(range,body,__TBB_DEFAULT_PARTITIONER()); ^ fcm.cpp:106:14: note: in instantiation of function template specialization 'tbb::detail::d1::parallel_for<tbb::detail::d1::blocked_range<int>, (lambda at fcm.cpp:106:58)>' requested here tbb::parallel_for(tbb::blocked_range<int>(0, H), [&](tbb::blocked_range<int> r) { ^ /opt/local/libexec/onetbb/include/oneapi/tbb/parallel_for.h:61:8: note: if you supply your own aligned allocation functions, use -faligned-allocation to silence this diagnostic struct start_for : public task { ^ 5 errors generated.
Change History (2)
comment:1 follow-up: 2 Changed 6 months ago by aeiouaeiouaeiouaeiouaeiouaeiou
comment:2 Changed 6 months ago by barracuda156
Replying to aeiouaeiouaeiouaeiouaeiouaeiou:
This can definitely be fixed by adding the
-fno-aligned-allocation
flag to CXX environment, but this trick doesn't work with the GCC compiler (mentioned in madness portfile).
We do not have a problem with GCC here, it builds fine on my 10.6. (Perhaps it may fail with gcc + libc++
, but such a configuration is not used anywhere presently.)
Note: See
TracTickets for help on using
tickets.
This can definitely be fixed by adding the
-fno-aligned-allocation
flag to CXX environment, but this trick doesn't work with the GCC compiler (mentioned in madness portfile).