Skip to content

Fails to build when both anari and vtk types are enabled. #105

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
MehdiChinoune opened this issue May 24, 2025 · 0 comments
Open

Fails to build when both anari and vtk types are enabled. #105

MehdiChinoune opened this issue May 24, 2025 · 0 comments

Comments

@MehdiChinoune
Copy link

I tried to build viskores with -DViskores_ENABLE_ANARI=ON -DViskores_USE_DEFAULT_TYPES_FOR_VTK=ON, but It fails:

error messages
  [277/419] Building CXX object viskores/interop/anari/CMakeFiles/viskores_anari.dir/ANARIMapperGlyphs.cxx.obj
  FAILED: viskores/interop/anari/CMakeFiles/viskores_anari.dir/ANARIMapperGlyphs.cxx.obj 
  C:\M\msys64\clang64\bin\clang++.exe -DTBB_VERSION_MAJOR=2022 -DVISKORESDIY_MPI_AS_LIB -DVISKORESDIY_NO_THREADS -D_USE_MATH_DEFINES -Dviskores_anari_EXPORTS -IC:/_/B/src/viskores-1.0.0/viskores/thirdparty/optionparser -IC:/_/B/src/viskores-1.0.0/viskores/thirdparty/diy -IC:/_/B/src/viskores-1.0.0/viskores/thirdparty/lcl/viskoreslcl -IC:/_/B/src/viskores-1.0.0 -IC:/_/B/src/build-CLANG64/include -isystem C:/_/B/src/viskores-1.0.0/viskores/thirdparty/diy/viskoresdiy/include -isystem C:/_/B/src/build-CLANG64/viskores/thirdparty/diy/viskoresdiy/include/viskoresdiy/mpi -march=nocona -msahf -mtune=generic -O2 -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -Wp,-D__USE_MINGW_ANSI_STDIO=1 -O3 -DNDEBUG -std=c++14 -fvisibility=hidden -ffunction-sections -fopenmp=libomp -fopenmp=libomp -pthread -Wno-pass-failed -Wall -Wcast-align -Wextra -Wpointer-arith -Wformat -Wformat-security -Wshadow -Wunused -fno-common -Wno-unused-function -Wconversion -Wodr -MD -MT viskores/interop/anari/CMakeFiles/viskores_anari.dir/ANARIMapperGlyphs.cxx.obj -MF viskores\interop\anari\CMakeFiles\viskores_anari.dir\ANARIMapperGlyphs.cxx.obj.d -o viskores/interop/anari/CMakeFiles/viskores_anari.dir/ANARIMapperGlyphs.cxx.obj -c C:/_/B/src/viskores-1.0.0/viskores/interop/anari/ANARIMapperGlyphs.cxx
  C:/_/B/src/viskores-1.0.0/viskores/interop/anari/ANARIMapperGlyphs.cxx:61:32: error: no matching conversion for static_cast from 'const viskores::Vec<unsigned char, 2>' to 'viskores::Vec3f_32' (aka 'Vec<float, 3>')
     61 |     auto ng = viskores::Normal(static_cast<viskores::Vec3f_32>(gradient));
        |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  C:/_/B/src/viskores-1.0.0/viskores/exec/internal/WorkletInvokeFunctorDetail.h:811:3: note: in instantiation of function template specialization 'viskores::interop::anari::GeneratePointGlyphs::operator()<viskores::Vec<unsigned char, 2>, viskores::internal::ArrayPortalBasicRead<viskores::Vec<float, 3>>, viskores::internal::ArrayPortalBasicWrite<viskores::Vec<float, 3>>, viskores::internal::ArrayPortalBasicWrite<float>>' requested here
    811 |   worklet(p1, p2, p3, p4, p5);
        |   ^
  C:/_/B/src/viskores-1.0.0/viskores/exec/serial/internal/TaskTiling.h:61:39: note: in instantiation of function template specialization 'viskores::exec::internal::detail::DoWorkletInvokeFunctor<viskores::interop::anari::GeneratePointGlyphs, viskores::internal::FunctionInterface<void (viskores::internal::ArrayPortalBasicRead<viskores::Vec<unsigned char, 2>>, viskores::internal::ArrayPortalBasicRead<viskores::Vec<float, 3>>, viskores::internal::ArrayPortalBasicWrite<viskores::Vec<float, 3>>, viskores::internal::ArrayPortalBasicWrite<float>)>, viskores::internal::FunctionInterface<void (viskores::worklet::WorkletMapField::FieldIn, viskores::worklet::internal::WorkletBase::WholeArrayIn, viskores::worklet::internal::WorkletBase::WholeArrayOut, viskores::worklet::internal::WorkletBase::WholeArrayOut)>, 1, viskores::internal::ArrayPortalImplicit<viskores::internal::IndexFunctor>, viskores::internal::ArrayPortalImplicit<viskores::cont::internal::ConstantFunctor<int>>, viskores::internal::ArrayPortalImplicit<viskores::internal::IndexFunctor>, viskores::cont::DeviceAdapterTagTBB, viskores::exec::arg::ThreadIndicesBasic, viskores::exec::arg::InputIndex, viskores::placeholders::Arg<1>, viskores::placeholders::Arg<2>, viskores::placeholders::Arg<3>, viskores::placeholders::Arg<4>>' requested here
     61 |     viskores::exec::internal::detail::DoWorkletInvokeFunctor(
        |                                       ^
  C:/_/B/src/viskores-1.0.0/viskores/exec/serial/internal/TaskTiling.h:184:30: note: in instantiation of function template specialization 'viskores::exec::serial::internal::TaskTiling1DExecute<const viskores::interop::anari::GeneratePointGlyphs, const viskores::internal::Invocation<viskores::internal::FunctionInterface<void (viskores::internal::ArrayPortalBasicRead<viskores::Vec<unsigned char, 2>>, viskores::internal::ArrayPortalBasicRead<viskores::Vec<float, 3>>, viskores::internal::ArrayPortalBasicWrite<viskores::Vec<float, 3>>, viskores::internal::ArrayPortalBasicWrite<float>)>, viskores::internal::FunctionInterface<void (viskores::worklet::WorkletMapField::FieldIn, viskores::worklet::internal::WorkletBase::WholeArrayIn, viskores::worklet::internal::WorkletBase::WholeArrayOut, viskores::worklet::internal::WorkletBase::WholeArrayOut)>, viskores::internal::FunctionInterface<void (viskores::exec::arg::InputIndex, viskores::placeholders::Arg<1>, viskores::placeholders::Arg<2>, viskores::placeholders::Arg<3>, viskores::placeholders::Arg<4>)>, 1, viskores::internal::ArrayPortalImplicit<viskores::internal::IndexFunctor>, viskores::internal::ArrayPortalImplicit<viskores::cont::internal::ConstantFunctor<int>>, viskores::internal::ArrayPortalImplicit<viskores::internal::IndexFunctor>, viskores::cont::DeviceAdapterTagTBB>>' requested here
    184 |     this->ExecuteFunction = &TaskTiling1DExecute<WorkletType, InvocationType>;
        |                              ^
  C:/_/B/src/viskores-1.0.0/viskores/cont/tbb/internal/DeviceAdapterAlgorithmTBB.h:457:12: note: in instantiation of function template specialization 'viskores::exec::serial::internal::TaskTiling1D::TaskTiling1D<const viskores::interop::anari::GeneratePointGlyphs, const viskores::internal::Invocation<viskores::internal::FunctionInterface<void (viskores::internal::ArrayPortalBasicRead<viskores::Vec<unsigned char, 2>>, viskores::internal::ArrayPortalBasicRead<viskores::Vec<float, 3>>, viskores::internal::ArrayPortalBasicWrite<viskores::Vec<float, 3>>, viskores::internal::ArrayPortalBasicWrite<float>)>, viskores::internal::FunctionInterface<void (viskores::worklet::WorkletMapField::FieldIn, viskores::worklet::internal::WorkletBase::WholeArrayIn, viskores::worklet::internal::WorkletBase::WholeArrayOut, viskores::worklet::internal::WorkletBase::WholeArrayOut)>, viskores::internal::FunctionInterface<void (viskores::exec::arg::InputIndex, viskores::placeholders::Arg<1>, viskores::placeholders::Arg<2>, viskores::placeholders::Arg<3>, viskores::placeholders::Arg<4>)>, 1, viskores::internal::ArrayPortalImplicit<viskores::internal::IndexFunctor>, viskores::internal::ArrayPortalImplicit<viskores::cont::internal::ConstantFunctor<int>>, viskores::internal::ArrayPortalImplicit<viskores::internal::IndexFunctor>, viskores::cont::DeviceAdapterTagTBB>>' requested here
    457 |     return viskores::exec::tbb::internal::TaskTiling1D(worklet, invocation);
        |            ^
  C:/_/B/src/viskores-1.0.0/viskores/worklet/internal/DispatcherBase.h:812:18: note: in instantiation of function template specialization 'viskores::cont::DeviceTaskTypes<viskores::cont::DeviceAdapterTagTBB>::MakeTask<viskores::cont::internal::HintList<>, const viskores::interop::anari::GeneratePointGlyphs, const viskores::internal::Invocation<viskores::internal::FunctionInterface<void (viskores::internal::ArrayPortalBasicRead<viskores::Vec<unsigned char, 2>>, viskores::internal::ArrayPortalBasicRead<viskores::Vec<float, 3>>, viskores::internal::ArrayPortalBasicWrite<viskores::Vec<float, 3>>, viskores::internal::ArrayPortalBasicWrite<float>)>, viskores::internal::FunctionInterface<void (viskores::worklet::WorkletMapField::FieldIn, viskores::worklet::internal::WorkletBase::WholeArrayIn, viskores::worklet::internal::WorkletBase::WholeArrayOut, viskores::worklet::internal::WorkletBase::WholeArrayOut)>, viskores::internal::FunctionInterface<void (viskores::exec::arg::InputIndex, viskores::placeholders::Arg<1>, viskores::placeholders::Arg<2>, viskores::placeholders::Arg<3>, viskores::placeholders::Arg<4>)>, 1, viskores::internal::ArrayPortalImplicit<viskores::internal::IndexFunctor>, viskores::internal::ArrayPortalImplicit<viskores::cont::internal::ConstantFunctor<int>>, viskores::internal::ArrayPortalImplicit<viskores::internal::IndexFunctor>, viskores::cont::DeviceAdapterTagTBB>>' requested here
    812 |       TaskTypes::MakeTask(this->Worklet, invocation, range, typename WorkletType::Hints{});
        |                  ^
  C:/_/B/src/viskores-1.0.0/viskores/worklet/internal/DispatcherBase.h:793:11: note: (skipping 34 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
    793 |     this->InvokeSchedule(changedInvocation, threadRange, device);
        |           ^
  C:/_/B/src/viskores-1.0.0/viskores/worklet/internal/DispatcherBase.h:463:3: note: in instantiation of function template specialization 'viskores::worklet::internal::detail::for_each_dynamic_arg<4>::operator()<viskores::worklet::internal::DispatcherBase<viskores::worklet::DispatcherMapField<viskores::interop::anari::GeneratePointGlyphs>, viskores::interop::anari::GeneratePointGlyphs, viskores::worklet::WorkletMapField>, viskores::List<viskores::worklet::WorkletMapField::FieldIn, viskores::worklet::internal::WorkletBase::WholeArrayIn, viskores::worklet::internal::WorkletBase::WholeArrayOut, viskores::worklet::internal::WorkletBase::WholeArrayOut> &, viskores::cont::Field &, viskores::cont::CoordinateSystem &, viskores::cont::ArrayHandle<viskores::Vec<viskores::Float32, 3>, StorageTagBasic> &, viskores::cont::ArrayHandle<viskores::Float32, StorageTagBasic> &>' requested here
    463 |   for_each_dynamic_arg<sizeof...(Args)>()(std::forward<Trampoline>(trampoline), sig, args...);
        |   ^
  C:/_/B/src/viskores-1.0.0/viskores/worklet/internal/DispatcherBase.h:565:13: note: in instantiation of function template specialization 'viskores::worklet::internal::detail::deduce<const viskores::worklet::internal::DispatcherBase<viskores::worklet::DispatcherMapField<viskores::interop::anari::GeneratePointGlyphs>, viskores::interop::anari::GeneratePointGlyphs, viskores::worklet::WorkletMapField> &, viskores::List<viskores::worklet::WorkletMapField::FieldIn, viskores::worklet::internal::WorkletBase::WholeArrayIn, viskores::worklet::internal::WorkletBase::WholeArrayOut, viskores::worklet::internal::WorkletBase::WholeArrayOut> &, viskores::cont::Field &, viskores::cont::CoordinateSystem &, viskores::cont::ArrayHandle<viskores::Vec<viskores::Float32, 3>, StorageTagBasic> &, viskores::cont::ArrayHandle<viskores::Float32, StorageTagBasic> &>' requested here
    565 |     detail::deduce(*this, parameters, std::forward<Args>(args)...);
        |             ^
  C:/_/B/src/viskores-1.0.0/viskores/worklet/internal/DispatcherBase.h:552:11: note: in instantiation of function template specialization 'viskores::worklet::internal::DispatcherBase<viskores::worklet::DispatcherMapField<viskores::interop::anari::GeneratePointGlyphs>, viskores::interop::anari::GeneratePointGlyphs, viskores::worklet::WorkletMapField>::StartInvokeDynamic<viskores::cont::Field &, viskores::cont::CoordinateSystem &, viskores::cont::ArrayHandle<viskores::Vec<viskores::Float32, 3>, StorageTagBasic> &, viskores::cont::ArrayHandle<viskores::Float32, StorageTagBasic> &>' requested here
    552 |     this->StartInvokeDynamic(HasDynamicTypes(), std::forward<Args>(args)...);
        |           ^
  C:/_/B/src/viskores-1.0.0/viskores/worklet/internal/DispatcherBase.h:623:11: note: in instantiation of function template specialization 'viskores::worklet::internal::DispatcherBase<viskores::worklet::DispatcherMapField<viskores::interop::anari::GeneratePointGlyphs>, viskores::interop::anari::GeneratePointGlyphs, viskores::worklet::WorkletMapField>::StartInvoke<viskores::cont::Field &, viskores::cont::CoordinateSystem &, viskores::cont::ArrayHandle<viskores::Vec<viskores::Float32, 3>, StorageTagBasic> &, viskores::cont::ArrayHandle<viskores::Float32, StorageTagBasic> &>' requested here
    623 |     this->StartInvoke(std::forward<Args>(args)...);
        |           ^
  C:/_/B/src/viskores-1.0.0/viskores/interop/anari/ANARIMapperGlyphs.cxx:105:14: note: in instantiation of function template specialization 'viskores::worklet::internal::DispatcherBase<viskores::worklet::DispatcherMapField<viskores::interop::anari::GeneratePointGlyphs>, viskores::interop::anari::GeneratePointGlyphs, viskores::worklet::WorkletMapField>::Invoke<viskores::cont::Field &, viskores::cont::CoordinateSystem &, viskores::cont::ArrayHandle<viskores::Vec<viskores::Float32, 3>, StorageTagBasic> &, viskores::cont::ArrayHandle<viskores::Float32, StorageTagBasic> &>' requested here
    105 |     dispatch.Invoke(gradients, coords, retval.Vertices, retval.Radii);
        |              ^
  C:/_/B/src/viskores-1.0.0/viskores/Types.h:1025:30: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'const Vec<unsigned char, 2>' to 'const Vec<float, 3>' for 1st argument
   1025 | class VISKORES_ALWAYS_EXPORT Vec<T, 3> : public detail::VecBase<T, 3, Vec<T, 3>>
        |                              ^~~
  C:/_/B/src/viskores-1.0.0/viskores/Types.h:1025:30: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'const Vec<unsigned char, 2>' to 'Vec<float, 3>' for 1st argument
   1025 | class VISKORES_ALWAYS_EXPORT Vec<T, 3> : public detail::VecBase<T, 3, Vec<T, 3>>
        |                              ^~~
  C:/_/B/src/viskores-1.0.0/viskores/Types.h:1031:22: note: candidate constructor not viable: no known conversion from 'const viskores::Vec<unsigned char, 2>' to 'const float' for 1st argument
   1031 |   VISKORES_EXEC_CONT Vec(const T& value)
        |                      ^   ~~~~~~~~~~~~~~
  C:/_/B/src/viskores-1.0.0/viskores/Types.h:1037:22: note: candidate template ignored: could not match 3 against 2
   1037 |   VISKORES_EXEC_CONT Vec(const Vec<OtherType, 3>& src)
        |                      ^
  C:/_/B/src/viskores-1.0.0/viskores/Types.h:1030:13: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
   1030 |   constexpr Vec() = default;
        |             ^
  C:/_/B/src/viskores-1.0.0/viskores/Types.h:1043:13: note: candidate constructor not viable: requires 3 arguments, but 1 was provided
   1043 |   constexpr Vec(const T& x, const T& y, const T& z)
        |             ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant