Compilation error: Elastic Wave
diehlpk opened this issue · 3 comments
diehlpk commented
Following the build instructions, I get this error:
[ 50%] Building CXX object examples/CMakeFiles/ElasticWave.dir/elastic_wave.cpp.o
In file included from /home/diehlpk/Compile/CabanaPD/src/CabanaPD.hpp:16,
from /home/diehlpk/Compile/CabanaPD/examples/elastic_wave.cpp:19:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:193:17: error: ‘Gather’ in namespace ‘Cabana’ does not name a template type
Cabana::Gather<halo_type, typename ParticleType::aosoa_u_type>;
^~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:193:9: note: suggested alternative: ‘gather’
Cabana::Gather<halo_type, typename ParticleType::aosoa_u_type>;
^~~~~~
gather
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:194:21: error: ‘gather_u_type’ was not declared in this scope
std::shared_ptr<gather_u_type> gather_u;
^~~~~~~~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:194:34: error: template argument 1 is invalid
std::shared_ptr<gather_u_type> gather_u;
^
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp: In constructor ‘CabanaPD::Comm<ParticleType, CabanaPD::PMB>::Comm(ParticleType&, int)’:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:229:37: error: ‘gather_u_type’ was not declared in this scope
gather_u = std::make_shared<gather_u_type>( *halo, particles._aosoa_u );
^~~~~~~~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:229:37: note: suggested alternative: ‘gather_u’
gather_u = std::make_shared<gather_u_type>( *halo, particles._aosoa_u );
^~~~~~~~~~~~~
gather_u
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:230:17: error: base operand of ‘->’ is not a pointer
gather_u->apply();
^~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp: In member function ‘void CabanaPD::Comm<ParticleType, CabanaPD::PMB>::gatherDisplacement()’:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:247:41: error: base operand of ‘->’ is not a pointer
void gatherDisplacement() { gather_u->apply(); }
^~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp: At global scope:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:264:17: error: ‘Gather’ in namespace ‘Cabana’ does not name a template type
Cabana::Gather<halo_type, typename ParticleType::aosoa_m_type>;
^~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:264:9: note: suggested alternative: ‘gather’
Cabana::Gather<halo_type, typename ParticleType::aosoa_m_type>;
^~~~~~
gather
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:266:17: error: ‘Gather’ in namespace ‘Cabana’ does not name a template type
Cabana::Gather<halo_type, typename ParticleType::aosoa_theta_type>;
^~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:266:9: note: suggested alternative: ‘gather’
Cabana::Gather<halo_type, typename ParticleType::aosoa_theta_type>;
^~~~~~
gather
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:267:21: error: ‘gather_m_type’ was not declared in this scope
std::shared_ptr<gather_m_type> gather_m;
^~~~~~~~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:267:21: note: suggested alternative: ‘gather_u’
std::shared_ptr<gather_m_type> gather_m;
^~~~~~~~~~~~~
gather_u
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:267:34: error: template argument 1 is invalid
std::shared_ptr<gather_m_type> gather_m;
^
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:268:21: error: ‘gather_theta_type’ was not declared in this scope
std::shared_ptr<gather_theta_type> gather_theta;
^~~~~~~~~~~~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:268:21: note: suggested alternative: ‘gatherDilatation’
std::shared_ptr<gather_theta_type> gather_theta;
^~~~~~~~~~~~~~~~~
gatherDilatation
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:268:38: error: template argument 1 is invalid
std::shared_ptr<gather_theta_type> gather_theta;
^
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp: In constructor ‘CabanaPD::Comm<ParticleType, CabanaPD::LPS>::Comm(ParticleType&, int)’:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:273:37: error: ‘gather_m_type’ was not declared in this scope
gather_m = std::make_shared<gather_m_type>( *halo, particles._aosoa_m );
^~~~~~~~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:273:37: note: suggested alternative: ‘gather_m’
gather_m = std::make_shared<gather_m_type>( *halo, particles._aosoa_m );
^~~~~~~~~~~~~
gather_m
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:274:41: error: ‘gather_theta_type’ was not declared in this scope
gather_theta = std::make_shared<gather_theta_type>(
^~~~~~~~~~~~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:274:41: note: suggested alternative: ‘gather_theta’
gather_theta = std::make_shared<gather_theta_type>(
^~~~~~~~~~~~~~~~~
gather_theta
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp: In member function ‘void CabanaPD::Comm<ParticleType, CabanaPD::LPS>::gatherDilatation()’:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:279:43: error: base operand of ‘->’ is not a pointer
void gatherDilatation() { gather_theta->apply(); }
^~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp: In member function ‘void CabanaPD::Comm<ParticleType, CabanaPD::LPS>::gatherWeightedVolume()’:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:280:43: error: base operand of ‘->’ is not a pointer
void gatherWeightedVolume() { gather_m->apply(); }
^~
In file included from /home/diehlpk/Compile/CabanaPD/src/CabanaPD_Force.hpp:67,
from /home/diehlpk/Compile/CabanaPD/src/CabanaPD.hpp:17,
from /home/diehlpk/Compile/CabanaPD/examples/elastic_wave.cpp:19:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp: In member function ‘void CabanaPD::Particles<DeviceType, CabanaPD::PMB, Dimension>::create_particles_from_csv(const ExecSpace&, std::__cxx11::string)’:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:323:9: error: ‘_aosoa_m’ was not declared in this scope
_aosoa_m.resize( num_particles );
^~~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:323:9: note: suggested alternative: ‘_aosoa_x’
_aosoa_m.resize( num_particles );
^~~~~~~~
_aosoa_x
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:324:9: error: ‘_aosoa_theta’ was not declared in this scope
_aosoa_theta.resize( num_particles );
^~~~~~~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:324:9: note: suggested alternative: ‘_aosoa_other’
_aosoa_theta.resize( num_particles );
^~~~~~~~~~~~
_aosoa_other
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:326:14: error: conflicting declaration ‘auto x’
auto x = slice_x();
^
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:289:28: note: previous declaration as ‘std::vector<double> x’
std::vector<double> x , y , volume;
^
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:335:22: error: there are no arguments to ‘slice_theta’ that depend on a template parameter, so a declaration of ‘slice_theta’ must be available [-fpermissive]
auto theta = slice_theta();
^~~~~~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:335:22: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:337:18: error: there are no arguments to ‘slice_m’ that depend on a template parameter, so a declaration of ‘slice_m’ must be available [-fpermissive]
auto m = slice_m();
^~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:360:30: error: no match for call to ‘(std::vector<double>) (size_t&, int)’
x( index, 0 ) = x[index];
^
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:361:31: error: no match for call to ‘(std::vector<double>) (size_t&, int)’
x( index, 1 ) = y[index];
^
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:362:32: error: no match for call to ‘(std::vector<double>) (size_t&, int)’
x( index, 2 ) = 0;
^
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp: In member function ‘void CabanaPD::Particles<DeviceType, CabanaPD::PMB, Dimension>::output(int, double)’:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:428:51: error: ‘writePartialRangeTimeStep’ is not a member of ‘Cajita::Experimental::SiloParticleOutput’
Cajita::Experimental::SiloParticleOutput::writePartialRangeTimeStep(
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:428:51: note: suggested alternative: ‘writeTimeStep’
Cajita::Experimental::SiloParticleOutput::writePartialRangeTimeStep(
^~~~~~~~~~~~~~~~~~~~~~~~~
writeTimeStep
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp: In member function ‘void CabanaPD::Particles<DeviceType, CabanaPD::LPS, Dimension>::output(int, double)’:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:540:51: error: ‘writePartialRangeTimeStep’ is not a member of ‘Cajita::Experimental::SiloParticleOutput’
Cajita::Experimental::SiloParticleOutput::writePartialRangeTimeStep(
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Particles.hpp:540:51: note: suggested alternative: ‘writeTimeStep’
Cajita::Experimental::SiloParticleOutput::writePartialRangeTimeStep(
^~~~~~~~~~~~~~~~~~~~~~~~~
writeTimeStep
In file included from /home/diehlpk/Compile/CabanaPD/src/CabanaPD.hpp:16,
from /home/diehlpk/Compile/CabanaPD/examples/elastic_wave.cpp:19:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp: In instantiation of ‘void CabanaPD::HaloIds<LocalGridType, PositionSliceType>::build(const LocalGridType&) [with LocalGridType = Cajita::LocalGrid<Cajita::UniformMesh<double> >; PositionSliceType = Cabana::Slice<double [3], Kokkos::HostSpace, Cabana::DefaultAccessMemory, 1, 3>]’:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:67:9: required from ‘CabanaPD::HaloIds<LocalGridType, PositionSliceType>::HaloIds(const LocalGridType&, const PositionSliceType&, int, int) [with LocalGridType = Cajita::LocalGrid<Cajita::UniformMesh<double> >; PositionSliceType = Cabana::Slice<double [3], Kokkos::HostSpace, Cabana::DefaultAccessMemory, 1, 3>]’
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:241:16: required from ‘auto CabanaPD::Comm<ParticleType, CabanaPD::PMB>::createHaloIds(const LocalGridType&, const PositionSliceType&, int, int) [with LocalGridType = Cajita::LocalGrid<Cajita::UniformMesh<double> >; PositionSliceType = Cabana::Slice<double [3], Kokkos::HostSpace, Cabana::DefaultAccessMemory, 1, 3>; ParticleType = CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS>]’
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:212:14: required from ‘CabanaPD::Comm<ParticleType, CabanaPD::PMB>::Comm(ParticleType&, int) [with ParticleType = CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS>]’
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:271:50: required from ‘CabanaPD::Comm<ParticleType, CabanaPD::LPS>::Comm(ParticleType&, int) [with ParticleType = CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS>]’
/usr/include/c++/8/ext/new_allocator.h:136:4: required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = CabanaPD::Comm<CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS>, CabanaPD::LPS>; _Args = {CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS, 3>&}; _Tp = CabanaPD::Comm<CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS>, CabanaPD::LPS>]’
/usr/include/c++/8/bits/alloc_traits.h:475:4: [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/8/bits/shared_ptr_base.h:1342:71: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<CabanaPD::SolverElastic<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS>, CabanaPD::ForceModel<CabanaPD::LinearLPS, CabanaPD::Elastic> > >; _Args = {CabanaPD::Inputs&, std::shared_ptr<CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS, 3> >&, CabanaPD::ForceModel<CabanaPD::LinearLPS, CabanaPD::Elastic>&}; _Tp = CabanaPD::SolverElastic<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS>, CabanaPD::ForceModel<CabanaPD::LinearLPS, CabanaPD::Elastic> >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/8/bits/shared_ptr.h:359:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<CabanaPD::SolverElastic<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS>, CabanaPD::ForceModel<CabanaPD::LinearLPS, CabanaPD::Elastic> > >; _Args = {CabanaPD::Inputs&, std::shared_ptr<CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS, 3> >&, CabanaPD::ForceModel<CabanaPD::LinearLPS, CabanaPD::Elastic>&}; _Tp = CabanaPD::SolverElastic<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS>, CabanaPD::ForceModel<CabanaPD::LinearLPS, CabanaPD::Elastic> >]’
/usr/include/c++/8/bits/shared_ptr.h:705:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = CabanaPD::SolverElastic<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS>, CabanaPD::ForceModel<CabanaPD::LinearLPS, CabanaPD::Elastic> >; _Alloc = std::allocator<CabanaPD::SolverElastic<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS>, CabanaPD::ForceModel<CabanaPD::LinearLPS, CabanaPD::Elastic> > >; _Args = {CabanaPD::Inputs&, std::shared_ptr<CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS, 3> >&, CabanaPD::ForceModel<CabanaPD::LinearLPS, CabanaPD::Elastic>&}]’
/usr/include/c++/8/bits/shared_ptr.h:721:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = CabanaPD::SolverElastic<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS>, CabanaPD::ForceModel<CabanaPD::LinearLPS, CabanaPD::Elastic> >; _Args = {CabanaPD::Inputs&, std::shared_ptr<CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS, 3> >&, CabanaPD::ForceModel<CabanaPD::LinearLPS, CabanaPD::Elastic>&}]’
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Solver.hpp:498:61: required from ‘auto CabanaPD::createSolverElastic(CabanaPD::Inputs, std::shared_ptr<_Tp>, ForceModel) [with DeviceType = Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>; ParticleType = CabanaPD::Particles<Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace>, CabanaPD::LPS>; ForceModel = CabanaPD::ForceModel<CabanaPD::LinearLPS, CabanaPD::Elastic>]’
/home/diehlpk/Compile/CabanaPD/examples/elastic_wave.cpp:96:44: required from here
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:115:63: error: could not convert ‘(&(& local_grid)->Cajita::LocalGrid<Cajita::UniformMesh<double> >::globalGrid())->Cajita::GlobalGrid<Cajita::UniformMesh<double> >::comm()’ from ‘MPI_Comm’ {aka ‘ompi_communicator_t*’} to ‘std::vector<int>’
auto unique_topology = Cabana::Impl::getUniqueTopology(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
local_grid.globalGrid().comm(), topology );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:136:33: error: no matching function for call to ‘Cajita::LocalMesh<Kokkos::HostSpace, Cajita::UniformMesh<double> >::coordinates(Cajita::Node, Kokkos::Array<long int, 3, void>::pointer, Kokkos::Array<double, 3>::pointer) const’
local_mesh.coordinates( Cajita::Node(),
^~~~~~~~~~
In file included from /home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_Interpolation.hpp:21,
from /home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita.hpp:28,
from /home/diehlpk/Compile/CabanaPD/src/CabanaPD_Boundary.hpp:18,
from /home/diehlpk/Compile/CabanaPD/src/CabanaPD.hpp:15,
from /home/diehlpk/Compile/CabanaPD/examples/elastic_wave.cpp:19:
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:176:10: note: candidate: ‘void Cajita::LocalMesh<Device, Cajita::UniformMesh<Scalar, NumSpaceDim> >::coordinates(Cajita::Cell, const int*, Scalar*) const [with Scalar = double; Device = Kokkos::HostSpace; long unsigned int NumSpaceDim = 3]’
void coordinates( Cell, const int index[num_space_dim],
^~~~~~~~~~~
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:176:10: note: no known conversion for argument 1 from ‘Cajita::Node’ to ‘Cajita::Cell’
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:189:10: note: candidate: ‘void Cajita::LocalMesh<Device, Cajita::UniformMesh<Scalar, NumSpaceDim> >::coordinates(Cajita::Node, const int*, Scalar*) const [with Scalar = double; Device = Kokkos::HostSpace; long unsigned int NumSpaceDim = 3]’
void coordinates( Node, const int index[num_space_dim],
^~~~~~~~~~~
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:189:10: note: no known conversion for argument 2 from ‘Kokkos::Array<long int, 3, void>::pointer’ {aka ‘long int*’} to ‘const int*’
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:201:33: note: candidate: ‘template<int Dir> void Cajita::LocalMesh<Device, Cajita::UniformMesh<Scalar, NumSpaceDim> >::coordinates(Cajita::Face<Dir>, const int*, Scalar*) const [with int Dir = Dir; Scalar = double; Device = Kokkos::HostSpace; long unsigned int NumSpaceDim = 3]’
KOKKOS_INLINE_FUNCTION void coordinates( Face<Dir>,
^~~~~~~~~~~
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:201:33: note: template argument deduction/substitution failed:
In file included from /home/diehlpk/Compile/CabanaPD/src/CabanaPD.hpp:16,
from /home/diehlpk/Compile/CabanaPD/examples/elastic_wave.cpp:19:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:136:33: note: ‘Cajita::Node’ is not derived from ‘Cajita::Face<Dir>’
local_mesh.coordinates( Cajita::Node(),
^~~~~~~~~~
In file included from /home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_Interpolation.hpp:21,
from /home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita.hpp:28,
from /home/diehlpk/Compile/CabanaPD/src/CabanaPD_Boundary.hpp:18,
from /home/diehlpk/Compile/CabanaPD/src/CabanaPD.hpp:15,
from /home/diehlpk/Compile/CabanaPD/examples/elastic_wave.cpp:19:
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:221:5: note: candidate: ‘template<int Dir, long unsigned int NSD> std::enable_if_t<(3 == NSD), void> Cajita::LocalMesh<Device, Cajita::UniformMesh<Scalar, NumSpaceDim> >::coordinates(Cajita::Edge<Dir>, const int*, Scalar*) const [with int Dir = Dir; long unsigned int NSD = NSD; Scalar = double; Device = Kokkos::HostSpace; long unsigned int NumSpaceDim = 3]’
coordinates( Edge<Dir>, const int index[3], Scalar x[3] ) const
^~~~~~~~~~~
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:221:5: note: template argument deduction/substitution failed:
In file included from /home/diehlpk/Compile/CabanaPD/src/CabanaPD.hpp:16,
from /home/diehlpk/Compile/CabanaPD/examples/elastic_wave.cpp:19:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:136:33: note: ‘Cajita::Node’ is not derived from ‘Cajita::Edge<Dir>’
local_mesh.coordinates( Cajita::Node(),
^~~~~~~~~~
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:139:33: error: no matching function for call to ‘Cajita::LocalMesh<Kokkos::HostSpace, Cajita::UniformMesh<double> >::coordinates(Cajita::Node, Kokkos::Array<long int, 3, void>::pointer, Kokkos::Array<double, 3>::pointer) const’
local_mesh.coordinates( Cajita::Node(),
^~~~~~~~~~
In file included from /home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_Interpolation.hpp:21,
from /home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita.hpp:28,
from /home/diehlpk/Compile/CabanaPD/src/CabanaPD_Boundary.hpp:18,
from /home/diehlpk/Compile/CabanaPD/src/CabanaPD.hpp:15,
from /home/diehlpk/Compile/CabanaPD/examples/elastic_wave.cpp:19:
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:176:10: note: candidate: ‘void Cajita::LocalMesh<Device, Cajita::UniformMesh<Scalar, NumSpaceDim> >::coordinates(Cajita::Cell, const int*, Scalar*) const [with Scalar = double; Device = Kokkos::HostSpace; long unsigned int NumSpaceDim = 3]’
void coordinates( Cell, const int index[num_space_dim],
^~~~~~~~~~~
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:176:10: note: no known conversion for argument 1 from ‘Cajita::Node’ to ‘Cajita::Cell’
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:189:10: note: candidate: ‘void Cajita::LocalMesh<Device, Cajita::UniformMesh<Scalar, NumSpaceDim> >::coordinates(Cajita::Node, const int*, Scalar*) const [with Scalar = double; Device = Kokkos::HostSpace; long unsigned int NumSpaceDim = 3]’
void coordinates( Node, const int index[num_space_dim],
^~~~~~~~~~~
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:189:10: note: no known conversion for argument 2 from ‘Kokkos::Array<long int, 3, void>::pointer’ {aka ‘long int*’} to ‘const int*’
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:201:33: note: candidate: ‘template<int Dir> void Cajita::LocalMesh<Device, Cajita::UniformMesh<Scalar, NumSpaceDim> >::coordinates(Cajita::Face<Dir>, const int*, Scalar*) const [with int Dir = Dir; Scalar = double; Device = Kokkos::HostSpace; long unsigned int NumSpaceDim = 3]’
KOKKOS_INLINE_FUNCTION void coordinates( Face<Dir>,
^~~~~~~~~~~
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:201:33: note: template argument deduction/substitution failed:
In file included from /home/diehlpk/Compile/CabanaPD/src/CabanaPD.hpp:16,
from /home/diehlpk/Compile/CabanaPD/examples/elastic_wave.cpp:19:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:139:33: note: ‘Cajita::Node’ is not derived from ‘Cajita::Face<Dir>’
local_mesh.coordinates( Cajita::Node(),
^~~~~~~~~~
In file included from /home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_Interpolation.hpp:21,
from /home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita.hpp:28,
from /home/diehlpk/Compile/CabanaPD/src/CabanaPD_Boundary.hpp:18,
from /home/diehlpk/Compile/CabanaPD/src/CabanaPD.hpp:15,
from /home/diehlpk/Compile/CabanaPD/examples/elastic_wave.cpp:19:
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:221:5: note: candidate: ‘template<int Dir, long unsigned int NSD> std::enable_if_t<(3 == NSD), void> Cajita::LocalMesh<Device, Cajita::UniformMesh<Scalar, NumSpaceDim> >::coordinates(Cajita::Edge<Dir>, const int*, Scalar*) const [with int Dir = Dir; long unsigned int NSD = NSD; Scalar = double; Device = Kokkos::HostSpace; long unsigned int NumSpaceDim = 3]’
coordinates( Edge<Dir>, const int index[3], Scalar x[3] ) const
^~~~~~~~~~~
/home/diehlpk/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/cabana-0.5.0-rv7wgupwy2xe4xbnirgrpgldn5xeod7c/include/Cajita_LocalMesh.hpp:221:5: note: template argument deduction/substitution failed:
In file included from /home/diehlpk/Compile/CabanaPD/src/CabanaPD.hpp:16,
from /home/diehlpk/Compile/CabanaPD/examples/elastic_wave.cpp:19:
/home/diehlpk/Compile/CabanaPD/src/CabanaPD_Comm.hpp:139:33: note: ‘Cajita::Node’ is not derived from ‘Cajita::Edge<Dir>’
local_mesh.coordinates( Cajita::Node(),
^~~~~~~~~~
make[2]: *** [examples/CMakeFiles/ElasticWave.dir/build.make:76: examples/CMakeFiles/ElasticWave.dir/elastic_wave.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:171: examples/CMakeFiles/ElasticWave.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
streeve commented
That's an older version of Cabana before Cabana::Gather
was introduced. I just opened a PR specifying the absolute minimum hash that will work with CabanaPD, but pulling Cabana master is probably easiest
diehlpk commented
Ok, good to know.
spack install cabana@master+cajita+silo
spack load cabana@master+cajita+silo
That worked for me.
streeve commented
Thanks for reminding that we can't rely on the default spack package until the next release - I'll update the install details again