nmoehrle / uavmvs

UAV capture planning for MVS reconstructions
Other
55 stars 19 forks source link

I can't find toolset-nvcc in premake-core , how can i get toolset-nvcc? #14

Open Sun2018421 opened 4 years ago

Sun2018421 commented 4 years ago

i don't notice the branches , it's my fault.

Sun2018421 commented 4 years ago

==== Building fmt (debug) ==== ==== Building sim (debug) ==== ==== Building utp (debug) ==== ==== Building eval (debug) ==== ==== Building template (debug) ==== ==== Building interop (debug) ==== interop.cu bvh_tree.cu nvcc warning : Resource usage is not shown as the final resource allocation is not done. nvcc warning : Resource usage is not shown as the final resource allocation is not done. ptxas info : 0 bytes gmem ptxas info : 0 bytes gmem ptxas info : Compiling entry function '_Z7raycastN4cacc6VectorINS_6Float4ELi3EEENS_6MatrixIS1_Li3ELi3EEES4_NS_7BVHTreeILNS_8LocationE1EE8AccessorENS_5ImageIfLS6_1EE4DataE' for 'sm_52' ptxas info : Function properties for _Z7raycastN4cacc6VectorINS_6Float4ELi3EEENS_6MatrixIS1_Li3ELi3EEES4_NS_7BVHTreeILNS_8LocationE1EE8AccessorENS_5ImageIfLS6_1EE4DataE 256 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 32 registers, 6144 bytes smem, 488 bytes cmem[0], 12 bytes cmem[2] ptxas info : Compiling entry function '_Z4copyN4cacc12ArrayTextureIfE8AccessorENS_5ImageIfLNS_8LocationE1EE4DataE' for 'sm_52' ptxas info : Function properties for _Z4copyN4cacc12ArrayTextureIfE8AccessorENS_5ImageIfLNS_8LocationE1EE4DataE 0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads ptxas info : Used 9 registers, 352 bytes cmem[0] /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’: /usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /usr/include/c++/6/functional:1363:8: required from ‘struct std::_Bind_simple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>(acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic)>’ /usr/include/c++/6/thread:137:55: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic); _Args = {acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int&, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic&}]’ ../libs/acc/bvh_tree.h:141:104: required from ‘void acc::BVHTree<IdxType, Vec3fType>::split(typename acc::BVHTree<IdxType, Vec3fType>::Node::ID, const std::vector<acc::AABB >&, std::atomic) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; typename acc::BVHTree<IdxType, Vec3fType>::Node::ID = unsigned int]’ ../libs/acc/bvh_tree.h:361:6: required from ‘acc::BVHTree<IdxType, Vec3fType>::BVHTree(const std::vector&, const std::vector&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>]’ /usr/include/c++/6/ext/new_allocator.h:120:3: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/6/bits/shared_ptr_base.h:1098:87: required from ‘std::__shared_ptr<_Tp, _Lp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; gnu_cxx::_Lock_policy _Lp = (gnu_cxx::_Lock_policy)2u]’ /usr/include/c++/6/bits/shared_ptr.h:318:108: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >]’ /usr/include/c++/6/bits/shared_ptr.h:619:8: required from ‘std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’ /usr/include/c++/6/bits/shared_ptr.h:635:35: required from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’ ../libs/acc/bvh_tree.h:103:35: required from ‘static acc::BVHTree<IdxType, Vec3fType>::Ptr acc::BVHTree<IdxType, Vec3fType>::create(const std::vector&, const std::vector&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; acc::BVHTree<IdxType, Vec3fType>::Ptr = std::shared_ptr<acc::BVHTree<unsigned int, math::Vector<float, 3> > >]’ ../apps/testing/interop.cu:258:77: required from here /usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’ return and_<is_constructible<_Elements, _UElements&&>...>::value; ^~~~~ /usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’: /usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /usr/include/c++/6/functional:1363:8: required from ‘struct std::_Bind_simple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>(acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic)>’ /usr/include/c++/6/thread:137:55: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic); _Args = {acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int&, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic&}]’ ../libs/acc/bvh_tree.h:141:104: required from ‘void acc::BVHTree<IdxType, Vec3fType>::split(typename acc::BVHTree<IdxType, Vec3fType>::Node::ID, const std::vector<acc::AABB >&, std::atomic) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; typename acc::BVHTree<IdxType, Vec3fType>::Node::ID = unsigned int]’ ../libs/acc/bvh_tree.h:361:6: required from ‘acc::BVHTree<IdxType, Vec3fType>::BVHTree(const std::vector&, const std::vector&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>]’ /usr/include/c++/6/ext/new_allocator.h:120:3: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/6/bits/shared_ptr_base.h:1098:87: required from ‘std::shared_ptr<_Tp, _Lp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; gnu_cxx::_Lock_policy _Lp = (gnu_cxx::_Lock_policy)2u]’ /usr/include/c++/6/bits/shared_ptr.h:318:108: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >]’ /usr/include/c++/6/bits/shared_ptr.h:619:8: required from ‘std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’ /usr/include/c++/6/bits/shared_ptr.h:635:35: required from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’ ../libs/acc/bvh_tree.h:103:35: required from ‘static acc::BVHTree<IdxType, Vec3fType>::Ptr acc::BVHTree<IdxType, Vec3fType>::create(const std::vector&, const std::vector&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; acc::BVHTree<IdxType, Vec3fType>::Ptr = std::shared_ptr<acc::BVHTree<unsigned int, math::Vector<float, 3> > >]’ ../apps/testing/interop.cu:258:77: required from here /usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’ return and_<is_convertible<_UElements&&, _Elements>...>::value; ^~~~~ /usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’: /usr/include/c++/6/tuple:662:419: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]’ /usr/include/c++/6/functional:1363:8: required from ‘struct std::_Bind_simple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>(acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic)>’ /usr/include/c++/6/thread:137:55: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic); _Args = {acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int&, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic&}]’ ../libs/acc/bvh_tree.h:141:104: required from ‘void acc::BVHTree<IdxType, Vec3fType>::split(typename acc::BVHTree<IdxType, Vec3fType>::Node::ID, const std::vector<acc::AABB >&, std::atomic*) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; typename acc::BVHTree<IdxType, Vec3fType>::Node::ID = unsigned int]’ ../libs/acc/bvh_tree.h:361:6: required from ‘acc::BVHTree<IdxType, Vec3fType>::BVHTree(const std::vector&, const std::vector&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>]’ /usr/include/c++/6/ext/new_allocator.h:120:3: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/6/bits/shared_ptr_base.h:1098:87: required from ‘std::__shared_ptr<_Tp, _Lp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; gnu_cxx::_Lock_policy _Lp = (gnu_cxx::_Lock_policy)2u]’ /usr/include/c++/6/bits/shared_ptr.h:318:108: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >]’ /usr/include/c++/6/bits/shared_ptr.h:619:8: required from ‘std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’ /usr/include/c++/6/bits/shared_ptr.h:635:35: required from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’ ../libs/acc/bvh_tree.h:103:35: required from ‘static acc::BVHTree<IdxType, Vec3fType>::Ptr acc::BVHTree<IdxType, Vec3fType>::create(const std::vector&, const std::vector&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; acc::BVHTree<IdxType, Vec3fType>::Ptr = std::shared_ptr<acc::BVHTree<unsigned int, math::Vector<float, 3> > >]’ ../apps/testing/interop.cu:258:77: required from here /usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (6, should be 2) return and_<not_<is_same<tuple<_Elements...>, ^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’ struct is_convertible ^~~~~~ /usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’: /usr/include/c++/6/tuple:626:248: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /usr/include/c++/6/functional:1363:8: required from ‘struct std::_Bind_simple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>(acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic)>’ /usr/include/c++/6/thread:137:55: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic); _Args = {acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int&, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic&}]’ ../libs/acc/bvh_tree.h:141:104: required from ‘void acc::BVHTree<IdxType, Vec3fType>::split(typename acc::BVHTree<IdxType, Vec3fType>::Node::ID, const std::vector<acc::AABB >&, std::atomic*) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; typename acc::BVHTree<IdxType, Vec3fType>::Node::ID = unsigned int]’ ../libs/acc/bvh_tree.h:361:6: required from ‘acc::BVHTree<IdxType, Vec3fType>::BVHTree(const std::vector&, const std::vector&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>]’ /usr/include/c++/6/ext/new_allocator.h:120:3: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/6/bits/shared_ptr_base.h:1098:87: required from ‘std::
shared_ptr<_Tp, _Lp>::
shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; gnu_cxx::_Lock_policy _Lp = (gnu_cxx::_Lock_policy)2u]’ /usr/include/c++/6/bits/shared_ptr.h:318:108: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >]’ /usr/include/c++/6/bits/shared_ptr.h:619:8: required from ‘std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’ /usr/include/c++/6/bits/shared_ptr.h:635:35: required from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’ ../libs/acc/bvh_tree.h:103:35: required from ‘static acc::BVHTree<IdxType, Vec3fType>::Ptr acc::BVHTree<IdxType, Vec3fType>::create(const std::vector&, const std::vector&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; acc::BVHTree<IdxType, Vec3fType>::Ptr = std::shared_ptr<acc::BVHTree<unsigned int, math::Vector<float, 3> > >]’ ../apps/testing/interop.cu:258:77: required from here /usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’ return and_<is_constructible<_Elements, _UElements&&>...>::value; ^~~~~ /usr/include/c++/6/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’: /usr/include/c++/6/tuple:626:362: required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]’ /usr/include/c++/6/functional:1363:8: required from ‘struct std::_Bind_simple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>(acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic)>’ /usr/include/c++/6/thread:137:55: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic); _Args = {acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int&, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic&}]’ ../libs/acc/bvh_tree.h:141:104: required from ‘void acc::BVHTree<IdxType, Vec3fType>::split(typename acc::BVHTree<IdxType, Vec3fType>::Node::ID, const std::vector<acc::AABB >&, std::atomic*) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; typename acc::BVHTree<IdxType, Vec3fType>::Node::ID = unsigned int]’ ../libs/acc/bvh_tree.h:361:6: required from ‘acc::BVHTree<IdxType, Vec3fType>::BVHTree(const std::vector&, const std::vector&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>]’ /usr/include/c++/6/ext/new_allocator.h:120:3: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/6/bits/shared_ptr_base.h:1098:87: required from ‘std::shared_ptr<_Tp, _Lp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; gnu_cxx::_Lock_policy _Lp = (gnu_cxx::_Lock_policy)2u]’ /usr/include/c++/6/bits/shared_ptr.h:318:108: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >]’ /usr/include/c++/6/bits/shared_ptr.h:619:8: required from ‘std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’ /usr/include/c++/6/bits/shared_ptr.h:635:35: required from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’ ../libs/acc/bvh_tree.h:103:35: required from ‘static acc::BVHTree<IdxType, Vec3fType>::Ptr acc::BVHTree<IdxType, Vec3fType>::create(const std::vector&, const std::vector&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; acc::BVHTree<IdxType, Vec3fType>::Ptr = std::shared_ptr<acc::BVHTree<unsigned int, math::Vector<float, 3> > >]’ ../apps/testing/interop.cu:258:77: required from here /usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’ return and_<is_convertible<_UElements&&, _Elements>...>::value; ^~~~~ /usr/include/c++/6/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>}; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’ not a return-statement } ^ /usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&&; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}]’: /usr/include/c++/6/tuple:686:422: required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]’ /usr/include/c++/6/functional:1363:8: required from ‘struct std::_Bind_simple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>(acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic)>’ /usr/include/c++/6/thread:137:55: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic); _Args = {acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int&, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic&}]’ ../libs/acc/bvh_tree.h:141:104: required from ‘void acc::BVHTree<IdxType, Vec3fType>::split(typename acc::BVHTree<IdxType, Vec3fType>::Node::ID, const std::vector<acc::AABB >&, std::atomic) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; typename acc::BVHTree<IdxType, Vec3fType>::Node::ID = unsigned int]’ ../libs/acc/bvh_tree.h:361:6: required from ‘acc::BVHTree<IdxType, Vec3fType>::BVHTree(const std::vector&, const std::vector&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>]’ /usr/include/c++/6/ext/new_allocator.h:120:3: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/6/bits/shared_ptr_base.h:1098:87: required from ‘std::shared_ptr<_Tp, _Lp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’ /usr/include/c++/6/bits/shared_ptr.h:318:108: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}; _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >]’ /usr/include/c++/6/bits/shared_ptr.h:619:8: required from ‘std::shared_ptr<_Tp1> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Alloc = std::allocator<acc::BVHTree<unsigned int, math::Vector<float, 3> > >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’ /usr/include/c++/6/bits/shared_ptr.h:635:35: required from ‘std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = acc::BVHTree<unsigned int, math::Vector<float, 3> >; _Args = {const std::vector<unsigned int, std::allocator >&, const std::vector<math::Vector<float, 3>, std::allocator<math::Vector<float, 3> > >&, int&}]’ ../libs/acc/bvh_tree.h:103:35: required from ‘static acc::BVHTree<IdxType, Vec3fType>::Ptr acc::BVHTree<IdxType, Vec3fType>::create(const std::vector&, const std::vector&, int) [with IdxType = unsigned int; Vec3fType = math::Vector<float, 3>; acc::BVHTree<IdxType, Vec3fType>::Ptr = std::shared_ptr<acc::BVHTree<unsigned int, math::Vector<float, 3> > >]’ ../apps/testing/interop.cu:258:77: required from here /usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (6, should be 2) return and_<_not<is_same<tuple<_Elements...>, ^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’ struct is_convertible ^~~~~~ /usr/include/c++/6/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::
)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic>&&; bool = true; _Elements = {std::_Mem_fn<void (acc::BVHTree<unsigned int, math::Vector<float, 3> >::)(unsigned int, const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > >&, std::atomic)>, acc::BVHTree<unsigned int, math::Vector<float, 3> >, unsigned int, std::reference_wrapper<const std::vector<acc::AABB<math::Vector<float, 3> >, std::allocator<acc::AABB<math::Vector<float, 3> > > > >, std::atomic*}]’ not a return-statement } ^ interop.make:159: recipe for target 'obj/debug/interop/interop.o' failed make[1]: [obj/debug/interop/interop.o] Error 1 Makefile:202: recipe for target 'interop' failed make: [interop] Error 2

Sun2018421 commented 4 years ago

i have added , into .h files , then i compiler it by ”make -j8". there is these errors

Sun2018421 commented 4 years ago

i find this , /usr/bin/ld: cannot find -ltex , can you help me

petergerten commented 3 years ago

@Sun2018421 I got to the "cannot find -ltex" issue as well. Could you solve it?

Looks like #include "tex/texturing.h" referenced in generate_texture.cpp is missing. The example script to build dependencies apparently does not build the mvs-texturing library.