toltec-astro / citlali

TolTEC data processing pipeline.
https://toltec-astro.github.io/citlali/
2 stars 0 forks source link

Broken compilation #9

Closed tskisner closed 1 year ago

tskisner commented 1 year ago

Hi @mmccrackan , something about the commits in the last two days has broken things for me. Here is the error when compiling main.cpp:

In file included from /home/kisner/git/citlali/include/citlali/core/engine/engine.h:61,
                 from /home/kisner/git/citlali/include/citlali/core/engine/lali.h:3,
                 from /home/kisner/git/citlali/src/citlali/cli/main.cpp:30:
/home/kisner/git/citlali/include/citlali/core/mapmaking/jinc_mm.h: In function 'void mapmaking::populate_maps_jinc(timestream::TCData<timestream::TCDataKind::PTC, Eigen::Matrix<double, -1, -1> >&, map_buffer_t&, map_buffer_t&, Eigen::DenseBase<Derived>&, Eigen::DenseBase<Derived>&, std::string&, std::string&, apt_t&, pointing_offset_t&, double, bool, double, std::map<long int, Eigen::DenseBase<DerivedB> >&)':
/home/kisner/git/citlali/include/citlali/core/mapmaking/jinc_mm.h:341:42: error: conflicting declaration 'Eigen::Index r_max_pix'
  341 |                             Eigen::Index r_max_pix = std::floor(r_max*l_d[apt["array"](det_indices(i))]/nmb->pixel_size_rad);
      |                                          ^~~~~~~~~
/home/kisner/git/citlali/include/citlali/core/mapmaking/jinc_mm.h:329:36: note: previous declaration as 'double r_max_pix'
  329 |                             double r_max_pix = std::floor(r_max*l_d[apt["array"](det_indices(i))]/nmb->pixel_size_rad);
      |                                    ^~~~~~~~~
/home/kisner/git/citlali/include/citlali/core/engine/engine.h: In lambda function:
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:2275:25: warning: there are no arguments to 'perrors' that depend on a template parameter, so a declaration of 'perrors' must be available [-fpermissive]
 2275 |                         perrors(1) = perrors(1)*RAD_TO_DEG;
      |                         ^~~~~~~
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:2275:38: warning: there are no arguments to 'perrors' that depend on a template parameter, so a declaration of 'perrors' must be available [-fpermissive]
 2275 |                         perrors(1) = perrors(1)*RAD_TO_DEG;
      |                                      ^~~~~~~
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:2276:25: warning: there are no arguments to 'perrors' that depend on a template parameter, so a declaration of 'perrors' must be available [-fpermissive]
 2276 |                         perrors(2) = perrors(2)*RAD_TO_DEG;
      |                         ^~~~~~~
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:2276:38: warning: there are no arguments to 'perrors' that depend on a template parameter, so a declaration of 'perrors' must be available [-fpermissive]
 2276 |                         perrors(2) = perrors(2)*RAD_TO_DEG;
      |                                      ^~~~~~~
/home/kisner/git/citlali/include/citlali/core/engine/engine.h: In instantiation of 'void Engine::find_sources(map_buffer_t&) [with mapmaking::MapType map_t = mapmaking::FilteredObs; map_buffer_t = mapmaking::ObsMapBuffer]':
/home/kisner/git/citlali/src/citlali/cli/main.cpp:669:91:   required from 'run(const rc_t&)::<lambda(auto:219&)> [with auto:219 = TimeOrderedDataProc<Lali>]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:2559:26:   required by substitution of 'template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = run(const rc_t&)::<lambda(auto:219&)>; _Args = {TimeOrderedDataProc<Lali>&}]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:2570:55:   required from 'struct std::__result_of_impl<false, false, run(const rc_t&)::<lambda(auto:219&)>, TimeOrderedDataProc<Lali>&>'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:2575:12:   required from 'struct std::__invoke_result<run(const rc_t&)::<lambda(auto:219&)>, TimeOrderedDataProc<Lali>&>'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:3029:12:   required from 'struct std::invoke_result<run(const rc_t&)::<lambda(auto:219&)>, TimeOrderedDataProc<Lali>&>'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:3041:11:   required by substitution of 'template<class _Fn, class ... _Args> using invoke_result_t = typename std::invoke_result::type [with _Fn = run(const rc_t&)::<lambda(auto:219&)>; _Args = {TimeOrderedDataProc<Lali>&}]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/variant:1102:14:   required from 'constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = run(const rc_t&)::<lambda(auto:219&)>; _Variant = std::variant<std::monostate, TimeOrderedDataProc<Lali>, TimeOrderedDataProc<Pointing>, TimeOrderedDataProc<Beammap> >&; long unsigned int ..._Idxs = {0, 1, 2, 3}; std::index_sequence<_Idx ...> = std::integer_sequence<long unsigned int, 0, 1, 2, 3>]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/variant:1843:44:   required from 'constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = run(const rc_t&)::<lambda(auto:219&)>; _Variants = {variant<monostate, TimeOrderedDataProc<Lali>, TimeOrderedDataProc<Pointing>, TimeOrderedDataProc<Beammap> >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]'
/home/kisner/git/citlali/src/citlali/cli/main.cpp:207:31:   required from here
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:2275:32: error: 'perrors' was not declared in this scope; did you mean 'perror'?
 2275 |                         perrors(1) = perrors(1)*RAD_TO_DEG;
      |                         ~~~~~~~^~~
      |                         perror
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:2275:45: error: 'perrors' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation
 2275 |                         perrors(1) = perrors(1)*RAD_TO_DEG;
      |                                      ~~~~~~~^~~
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:2276:32: error: 'perrors' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation
 2276 |                         perrors(2) = perrors(2)*RAD_TO_DEG;
      |                         ~~~~~~~^~~
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:2276:45: error: 'perrors' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation
 2276 |                         perrors(2) = perrors(2)*RAD_TO_DEG;
      |                                      ~~~~~~~^~~
/home/kisner/git/citlali/include/citlali/core/engine/engine.h: In instantiation of 'void Engine::find_sources(map_buffer_t&) [with mapmaking::MapType map_t = mapmaking::FilteredCoadd; map_buffer_t = mapmaking::ObsMapBuffer]':
/home/kisner/git/citlali/src/citlali/cli/main.cpp:714:93:   required from 'run(const rc_t&)::<lambda(auto:219&)> [with auto:219 = TimeOrderedDataProc<Lali>]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:2559:26:   required by substitution of 'template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = run(const rc_t&)::<lambda(auto:219&)>; _Args = {TimeOrderedDataProc<Lali>&}]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:2570:55:   required from 'struct std::__result_of_impl<false, false, run(const rc_t&)::<lambda(auto:219&)>, TimeOrderedDataProc<Lali>&>'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:2575:12:   required from 'struct std::__invoke_result<run(const rc_t&)::<lambda(auto:219&)>, TimeOrderedDataProc<Lali>&>'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:3029:12:   required from 'struct std::invoke_result<run(const rc_t&)::<lambda(auto:219&)>, TimeOrderedDataProc<Lali>&>'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:3041:11:   required by substitution of 'template<class _Fn, class ... _Args> using invoke_result_t = typename std::invoke_result::type [with _Fn = run(const rc_t&)::<lambda(auto:219&)>; _Args = {TimeOrderedDataProc<Lali>&}]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/variant:1102:14:   required from 'constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = run(const rc_t&)::<lambda(auto:219&)>; _Variant = std::variant<std::monostate, TimeOrderedDataProc<Lali>, TimeOrderedDataProc<Pointing>, TimeOrderedDataProc<Beammap> >&; long unsigned int ..._Idxs = {0, 1, 2, 3}; std::index_sequence<_Idx ...> = std::integer_sequence<long unsigned int, 0, 1, 2, 3>]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/variant:1843:44:   required from 'constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = run(const rc_t&)::<lambda(auto:219&)>; _Variants = {variant<monostate, TimeOrderedDataProc<Lali>, TimeOrderedDataProc<Pointing>, TimeOrderedDataProc<Beammap> >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]'
/home/kisner/git/citlali/src/citlali/cli/main.cpp:207:31:   required from here
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:2275:32: error: 'perrors' was not declared in this scope; did you mean 'perror'?
 2275 |                         perrors(1) = perrors(1)*RAD_TO_DEG;
      |                         ~~~~~~~^~~
      |                         perror
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:2275:45: error: 'perrors' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation
 2275 |                         perrors(1) = perrors(1)*RAD_TO_DEG;
      |                                      ~~~~~~~^~~
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:2276:32: error: 'perrors' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation
 2276 |                         perrors(2) = perrors(2)*RAD_TO_DEG;
      |                         ~~~~~~~^~~
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:2276:45: error: 'perrors' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation
 2276 |                         perrors(2) = perrors(2)*RAD_TO_DEG;
      |                                      ~~~~~~~^~~
/home/kisner/git/citlali/include/citlali/core/engine/engine.h: In instantiation of 'void Engine::get_mapmaking_config(CT&) [with CT = tula::config::YamlConfig]':
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:801:25:   required from 'void Engine::get_citlali_config(CT&) [with CT = tula::config::YamlConfig]'
/home/kisner/git/citlali/src/citlali/cli/main.cpp:233:52:   required from 'run(const rc_t&)::<lambda(auto:219&)> [with auto:219 = TimeOrderedDataProc<Lali>]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:2559:26:   required by substitution of 'template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = run(const rc_t&)::<lambda(auto:219&)>; _Args = {TimeOrderedDataProc<Lali>&}]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:2570:55:   required from 'struct std::__result_of_impl<false, false, run(const rc_t&)::<lambda(auto:219&)>, TimeOrderedDataProc<Lali>&>'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:2575:12:   required from 'struct std::__invoke_result<run(const rc_t&)::<lambda(auto:219&)>, TimeOrderedDataProc<Lali>&>'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:3029:12:   required from 'struct std::invoke_result<run(const rc_t&)::<lambda(auto:219&)>, TimeOrderedDataProc<Lali>&>'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:3041:11:   required by substitution of 'template<class _Fn, class ... _Args> using invoke_result_t = typename std::invoke_result::type [with _Fn = run(const rc_t&)::<lambda(auto:219&)>; _Args = {TimeOrderedDataProc<Lali>&}]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/variant:1102:14:   required from 'constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = run(const rc_t&)::<lambda(auto:219&)>; _Variant = std::variant<std::monostate, TimeOrderedDataProc<Lali>, TimeOrderedDataProc<Pointing>, TimeOrderedDataProc<Beammap> >&; long unsigned int ..._Idxs = {0, 1, 2, 3}; std::index_sequence<_Idx ...> = std::integer_sequence<long unsigned int, 0, 1, 2, 3>]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/variant:1843:44:   required from 'constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = run(const rc_t&)::<lambda(auto:219&)>; _Variants = {variant<monostate, TimeOrderedDataProc<Lali>, TimeOrderedDataProc<Pointing>, TimeOrderedDataProc<Beammap> >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]'
/home/kisner/git/citlali/src/citlali/cli/main.cpp:207:31:   required from here
/home/kisner/git/citlali/include/citlali/core/engine/engine.h:477:52: error: no matching function for call to 'Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >::Map(long int*, std::vector<long int, std::allocator<long int> >::size_type)'
  477 |             jinc_shape_params[arr_index] = (Eigen::Map<Eigen::VectorXd>(jinc_shape_vec.data(),jinc_shape_vec.size()));
      |                                            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/kisner/software/conda/envs/toltec/include/eigen3/Eigen/Core:19,
                 from /home/kisner/git/citlali/build_conda/_deps/tula-src/include/tula/eigen.h:3,
                 from /home/kisner/git/citlali/build_conda/_deps/tula-src/include/tula/container.h:3,
                 from /home/kisner/git/citlali/build_conda/CMakeFiles/citlali_cli.dir/cmake_pch.hxx:11,
                 from <command-line>:
/home/kisner/software/conda/envs/toltec/include/eigen3/Eigen/src/Core/Map.h:162:5: note: candidate: 'Eigen::Map<MatrixType, MapOptions, StrideType>::Map(const Eigen::Map<MatrixType, MapOptions, StrideType>&) [with PlainObjectType = Eigen::Matrix<double, -1, 1>; int MapOptions = 0; StrideType = Eigen::Stride<0, 0>]'
  162 |     EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Map)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/kisner/software/conda/envs/toltec/include/eigen3/Eigen/src/Core/Map.h:162:5: note:   candidate expects 1 argument, 2 provided
In file included from /home/kisner/software/conda/envs/toltec/include/eigen3/Eigen/Core:307:
/home/kisner/software/conda/envs/toltec/include/eigen3/Eigen/src/Core/Map.h:156:12: note: candidate: 'Eigen::Map<MatrixType, MapOptions, StrideType>::Map(PointerArgType, Eigen::Index, Eigen::Index, const StrideType&) [with PlainObjectType = Eigen::Matrix<double, -1, 1>; int MapOptions = 0; StrideType = Eigen::Stride<0, 0>; PointerArgType = double*; Eigen::Index = long int]'
  156 |     inline Map(PointerArgType dataPtr, Index rows, Index cols, const StrideType& stride = StrideType())
      |            ^~~
/home/kisner/software/conda/envs/toltec/include/eigen3/Eigen/src/Core/Map.h:156:12: note:   candidate expects 4 arguments, 2 provided
/home/kisner/software/conda/envs/toltec/include/eigen3/Eigen/src/Core/Map.h:142:12: note: candidate: 'Eigen::Map<MatrixType, MapOptions, StrideType>::Map(PointerArgType, Eigen::Index, const StrideType&) [with PlainObjectType = Eigen::Matrix<double, -1, 1>; int MapOptions = 0; StrideType = Eigen::Stride<0, 0>; PointerArgType = double*; Eigen::Index = long int]'
  142 |     inline Map(PointerArgType dataPtr, Index size, const StrideType& stride = StrideType())
      |            ^~~
/home/kisner/software/conda/envs/toltec/include/eigen3/Eigen/src/Core/Map.h:142:31: note:   no known conversion for argument 1 from 'long int*' to 'Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >::PointerArgType' {aka 'double*'}
  142 |     inline Map(PointerArgType dataPtr, Index size, const StrideType& stride = StrideType())
      |                ~~~~~~~~~~~~~~~^~~~~~~
/home/kisner/software/conda/envs/toltec/include/eigen3/Eigen/src/Core/Map.h:129:21: note: candidate: 'Eigen::Map<MatrixType, MapOptions, StrideType>::Map(PointerArgType, const StrideType&) [with PlainObjectType = Eigen::Matrix<double, -1, 1>; int MapOptions = 0; StrideType = Eigen::Stride<0, 0>; PointerArgType = double*]'
  129 |     explicit inline Map(PointerArgType dataPtr, const StrideType& stride = StrideType())
      |                     ^~~
/home/kisner/software/conda/envs/toltec/include/eigen3/Eigen/src/Core/Map.h:129:40: note:   no known conversion for argument 1 from 'long int*' to 'Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >::PointerArgType' {aka 'double*'}
  129 |     explicit inline Map(PointerArgType dataPtr, const StrideType& stride = StrideType())
      |                         ~~~~~~~~~~~~~~~^~~~~~~
In file included from /home/kisner/git/citlali/src/citlali/cli/main.cpp:32:
/home/kisner/git/citlali/include/citlali/core/engine/beammap.h: In instantiation of 'Beammap::run_loop()::<lambda(auto:203)> [with auto:203 = int]':
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/common/iterator.h:32:28:   required from 'decltype(auto) grppi::internal::apply_deref_increment(F&&, T<Iterators ...>&, std::index_sequence<__indices ...>) [with F = Beammap::run_loop()::<lambda(auto:203)>&; Iterators = {__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >}; T = std::tuple; long unsigned int ...I = {0}; std::index_sequence<__indices ...> = std::integer_sequence<long unsigned int, 0>]'
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/common/iterator.h:63:41:   required from 'decltype(auto) grppi::apply_deref_increment(F&&, T<Iterators ...>&) [with F = Beammap::run_loop()::<lambda(auto:203)>&; Iterators = {__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >}; T = std::tuple]'
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/seq/sequential_execution.h:457:41:   required from 'constexpr void grppi::sequential_execution::map(std::tuple<_UTypes ...>, OutputIterator, std::size_t, Transformer&&) const [with InputIterators = {__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >}; OutputIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >; Transformer = Beammap::run_loop()::<lambda(auto:203)>&; std::size_t = long unsigned int]'
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/dyn/dynamic_execution.h:329:3:   required from 'void grppi::dynamic_execution::map(std::tuple<_UTypes ...>, OutputIterator, std::size_t, Transformer&&) const [with InputIterators = {__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >}; OutputIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >; Transformer = Beammap::run_loop()::<lambda(auto:203)>&; std::size_t = long unsigned int]'
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/map.h:56:9:   required from 'void grppi::map(const Execution&, InRange&&, OutRange&&, Transformer) [with Execution = dynamic_execution; InRange = std::vector<int, std::allocator<int> >&; OutRange = std::vector<int, std::allocator<int> >&; Transformer = Beammap::run_loop()::<lambda(auto:203)>; typename std::enable_if<meta::conjunction<range_concept<InRange> >::value, int>::type <anonymous> = 0; typename std::enable_if<meta::conjunction<range_concept<OutRange> >::value, int>::type <anonymous> = 0]'
/home/kisner/git/citlali/include/citlali/core/engine/beammap.h:468:19:   required from here
/home/kisner/git/citlali/include/citlali/core/engine/beammap.h:550:50: error: no matching function for call to 'populate_maps_jinc(__gnu_cxx::__alloc_traits<std::allocator<timestream::TCData<timestream::TCDataKind::PTC, Eigen::Matrix<double, -1, -1> > >, timestream::TCData<timestream::TCDataKind::PTC, Eigen::Matrix<double, -1, -1> > >::value_type&, mapmaking::ObsMapBuffer&, mapmaking::ObsMapBuffer&, Eigen::Matrix<long int, -1, 1>&, Eigen::Matrix<long int, -1, 1>&, std::string&, std::string&, std::map<std::__cxx11::basic_string<char>, Eigen::Matrix<double, -1, 1> >&, std::map<std::__cxx11::basic_string<char>, Eigen::Matrix<double, -1, 1> >&, double&, bool&, double&, std::map<long int, Eigen::Matrix<double, -1, 1> >&)'
  550 |                     mapmaking::populate_maps_jinc(ptcs[i], omb, cmb, ptcs[i].map_indices.data,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  551 |                                                   ptcs[i].det_indices.data, telescope.pixel_axes,
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  552 |                                                   redu_type, calib.apt, ptcs[i].pointing_offsets_arcsec.data,
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  553 |                                                   telescope.d_fsmp, run_noise, jinc_r_max, jinc_shape_params);
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/kisner/git/citlali/include/citlali/core/mapmaking/jinc_mm.h:90:6: note: candidate: 'template<class map_buffer_t, class DerivedA, class DerivedB, class apt_t, class pointing_offset_t> void mapmaking::populate_maps_jinc(timestream::TCData<timestream::TCDataKind::PTC, Eigen::Matrix<double, -1, -1> >&, map_buffer_t&, map_buffer_t&, Eigen::DenseBase<Derived>&, Eigen::DenseBase<Derived>&, std::string&, std::string&, apt_t&, pointing_offset_t&, double, bool, double, std::map<long int, Eigen::DenseBase<DerivedB> >&)'
   90 | void populate_maps_jinc(TCData<TCDataKind::PTC, Eigen::MatrixXd> &in,
      |      ^~~~~~~~~~~~~~~~~~
/home/kisner/git/citlali/include/citlali/core/mapmaking/jinc_mm.h:90:6: note:   template argument deduction/substitution failed:
/home/kisner/git/citlali/include/citlali/core/engine/beammap.h:550:50: note:   mismatched types 'Eigen::DenseBase<DerivedB>' and 'Eigen::Matrix<double, -1, 1>'
  550 |                     mapmaking::populate_maps_jinc(ptcs[i], omb, cmb, ptcs[i].map_indices.data,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  551 |                                                   ptcs[i].det_indices.data, telescope.pixel_axes,
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  552 |                                                   redu_type, calib.apt, ptcs[i].pointing_offsets_arcsec.data,
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  553 |                                                   telescope.d_fsmp, run_noise, jinc_r_max, jinc_shape_params);
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/kisner/git/citlali/include/citlali/core/engine/lali.h: In instantiation of 'Lali::run()::<lambda(auto:194&)> [with auto:194 = std::tuple<timestream::TCData<timestream::TCDataKind::RTC, Eigen::Matrix<double, -1, -1, 0, -1, -1> >, KidsDataProc, std::vector<kids::KidsData<kids::KidsDataKind::RawTimeStream>, std::allocator<kids::KidsData<kids::KidsDataKind::RawTimeStream> > > >]':
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/common/farm_pattern.h:63:24:   required from 'auto grppi::farm_t<Transformer>::operator()(I&&) const [with I = std::tuple<timestream::TCData<timestream::TCDataKind::RTC, Eigen::Matrix<double, -1, -1, 0, -1, -1> >, KidsDataProc, std::vector<kids::KidsData<kids::KidsDataKind::RawTimeStream>, std::allocator<kids::KidsData<kids::KidsDataKind::RawTimeStream> > > >&; Transformer = Lali::run()::<lambda(auto:194&)>]'
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/seq/sequential_execution.h:604:11:   required from 'void grppi::sequential_execution::do_pipeline(Item&&, Farm<FarmTransformer>&&) const [with Item = std::tuple<timestream::TCData<timestream::TCDataKind::RTC, Eigen::Matrix<double, -1, -1, 0, -1, -1> >, KidsDataProc, std::vector<kids::KidsData<kids::KidsDataKind::RawTimeStream>, std::allocator<kids::KidsData<kids::KidsDataKind::RawTimeStream> > > >&; FarmTransformer = Lali::run()::<lambda(auto:194&)>; Farm = grppi::farm_t; typename std::enable_if<is_farm<Farm<FarmTransformer> >, int>::type <anonymous> = 0]'
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/seq/sequential_execution.h:570:16:   required from 'void grppi::sequential_execution::pipeline(Generator&&, Transformers&& ...) const [with Generator = Lali::pipeline<KidsDataProc, const RawObs>(KidsDataProc&, const RawObs&)::<lambda()>; Transformers = {grppi::farm_t<Lali::run()::<lambda(auto:194&)> >}]'
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/dyn/dynamic_execution.h:405:3:   required from 'void grppi::dynamic_execution::pipeline(Generator&&, Transformers&& ...) const [with Generator = Lali::pipeline<KidsDataProc, const RawObs>(KidsDataProc&, const RawObs&)::<lambda()>; Transformers = {grppi::farm_t<Lali::run()::<lambda(auto:194&)> >}]'
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/pipeline.h:53:14:   required from 'void grppi::pipeline(const Execution&, Generator&&, Transformers&& ...) [with Execution = dynamic_execution; Generator = Lali::pipeline<KidsDataProc, const RawObs>(KidsDataProc&, const RawObs&)::<lambda()>; Transformers = {farm_t<Lali::run()::<lambda(auto:194&)> >}; typename std::enable_if<is_supported<typename std::decay<_Tp>::type>(), int>::type <anonymous> = 0]'
/home/kisner/git/citlali/include/citlali/core/engine/lali.h:248:20:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:2575:12:   required from 'struct std::__invoke_result<run(const rc_t&)::<lambda(auto:219&)>, TimeOrderedDataProc<Lali>&>'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:3029:12:   required from 'struct std::invoke_result<run(const rc_t&)::<lambda(auto:219&)>, TimeOrderedDataProc<Lali>&>'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:3041:11:   required by substitution of 'template<class _Fn, class ... _Args> using invoke_result_t = typename std::invoke_result::type [with _Fn = run(const rc_t&)::<lambda(auto:219&)>; _Args = {TimeOrderedDataProc<Lali>&}]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/variant:1102:14:   required from 'constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = run(const rc_t&)::<lambda(auto:219&)>; _Variant = std::variant<std::monostate, TimeOrderedDataProc<Lali>, TimeOrderedDataProc<Pointing>, TimeOrderedDataProc<Beammap> >&; long unsigned int ..._Idxs = {0, 1, 2, 3}; std::index_sequence<_Idx ...> = std::integer_sequence<long unsigned int, 0, 1, 2, 3>]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/variant:1843:44:   required from 'constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = run(const rc_t&)::<lambda(auto:219&)>; _Variants = {variant<monostate, TimeOrderedDataProc<Lali>, TimeOrderedDataProc<Pointing>, TimeOrderedDataProc<Beammap> >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]'
/home/kisner/git/citlali/src/citlali/cli/main.cpp:207:31:   required from here
/home/kisner/git/citlali/include/citlali/core/engine/lali.h:223:50: error: no matching function for call to 'populate_maps_jinc(timestream::TCData<timestream::TCDataKind::PTC, Eigen::Matrix<double, -1, -1> >&, mapmaking::ObsMapBuffer&, mapmaking::ObsMapBuffer&, std::tuple_element<0, std::tuple<Eigen::Matrix<long int, -1, 1, 0, -1, 1>, Eigen::Matrix<long int, -1, 1, 0, -1, 1>, Eigen::Matrix<long int, -1, 1, 0, -1, 1>, Eigen::Matrix<long int, -1, 1, 0, -1, 1> > >::type&, std::tuple_element<3, std::tuple<Eigen::Matrix<long int, -1, 1, 0, -1, 1>, Eigen::Matrix<long int, -1, 1, 0, -1, 1>, Eigen::Matrix<long int, -1, 1, 0, -1, 1>, Eigen::Matrix<long int, -1, 1, 0, -1, 1> > >::type&, std::string&, std::string&, std::map<std::__cxx11::basic_string<char>, Eigen::Matrix<double, -1, 1> >&, std::map<std::__cxx11::basic_string<char>, Eigen::Matrix<double, -1, 1> >&, double&, bool&, double&, std::map<long int, Eigen::Matrix<double, -1, 1> >&)'
  223 |                     mapmaking::populate_maps_jinc(ptcdata, omb, cmb, map_indices, det_indices, telescope.pixel_axes,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  224 |                                                   redu_type, calib.apt, ptcdata.pointing_offsets_arcsec.data, telescope.d_fsmp, run_noise,
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  225 |                                                   jinc_r_max, jinc_shape_params);
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/kisner/git/citlali/include/citlali/core/mapmaking/jinc_mm.h:90:6: note: candidate: 'template<class map_buffer_t, class DerivedA, class DerivedB, class apt_t, class pointing_offset_t> void mapmaking::populate_maps_jinc(timestream::TCData<timestream::TCDataKind::PTC, Eigen::Matrix<double, -1, -1> >&, map_buffer_t&, map_buffer_t&, Eigen::DenseBase<Derived>&, Eigen::DenseBase<Derived>&, std::string&, std::string&, apt_t&, pointing_offset_t&, double, bool, double, std::map<long int, Eigen::DenseBase<DerivedB> >&)'
   90 | void populate_maps_jinc(TCData<TCDataKind::PTC, Eigen::MatrixXd> &in,
      |      ^~~~~~~~~~~~~~~~~~
/home/kisner/git/citlali/include/citlali/core/mapmaking/jinc_mm.h:90:6: note:   template argument deduction/substitution failed:
/home/kisner/git/citlali/include/citlali/core/engine/lali.h:223:50: note:   mismatched types 'Eigen::DenseBase<DerivedB>' and 'Eigen::Matrix<double, -1, 1>'
  223 |                     mapmaking::populate_maps_jinc(ptcdata, omb, cmb, map_indices, det_indices, telescope.pixel_axes,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  224 |                                                   redu_type, calib.apt, ptcdata.pointing_offsets_arcsec.data, telescope.d_fsmp, run_noise,
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  225 |                                                   jinc_r_max, jinc_shape_params);
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/kisner/git/citlali/src/citlali/cli/main.cpp:31:
/home/kisner/git/citlali/include/citlali/core/engine/pointing.h: In instantiation of 'Pointing::run()::<lambda(auto:197&)> [with auto:197 = std::tuple<timestream::TCData<timestream::TCDataKind::RTC, Eigen::Matrix<double, -1, -1, 0, -1, -1> >, KidsDataProc, std::vector<kids::KidsData<kids::KidsDataKind::RawTimeStream>, std::allocator<kids::KidsData<kids::KidsDataKind::RawTimeStream> > > >]':
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/common/farm_pattern.h:63:24:   required from 'auto grppi::farm_t<Transformer>::operator()(I&&) const [with I = std::tuple<timestream::TCData<timestream::TCDataKind::RTC, Eigen::Matrix<double, -1, -1, 0, -1, -1> >, KidsDataProc, std::vector<kids::KidsData<kids::KidsDataKind::RawTimeStream>, std::allocator<kids::KidsData<kids::KidsDataKind::RawTimeStream> > > >&; Transformer = Pointing::run()::<lambda(auto:197&)>]'
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/seq/sequential_execution.h:604:11:   required from 'void grppi::sequential_execution::do_pipeline(Item&&, Farm<FarmTransformer>&&) const [with Item = std::tuple<timestream::TCData<timestream::TCDataKind::RTC, Eigen::Matrix<double, -1, -1, 0, -1, -1> >, KidsDataProc, std::vector<kids::KidsData<kids::KidsDataKind::RawTimeStream>, std::allocator<kids::KidsData<kids::KidsDataKind::RawTimeStream> > > >&; FarmTransformer = Pointing::run()::<lambda(auto:197&)>; Farm = grppi::farm_t; typename std::enable_if<is_farm<Farm<FarmTransformer> >, int>::type <anonymous> = 0]'
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/seq/sequential_execution.h:570:16:   required from 'void grppi::sequential_execution::pipeline(Generator&&, Transformers&& ...) const [with Generator = Pointing::pipeline<KidsDataProc, const RawObs>(KidsDataProc&, const RawObs&)::<lambda()>; Transformers = {grppi::farm_t<Pointing::run()::<lambda(auto:197&)> >}]'
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/dyn/dynamic_execution.h:405:3:   required from 'void grppi::dynamic_execution::pipeline(Generator&&, Transformers&& ...) const [with Generator = Pointing::pipeline<KidsDataProc, const RawObs>(KidsDataProc&, const RawObs&)::<lambda()>; Transformers = {grppi::farm_t<Pointing::run()::<lambda(auto:197&)> >}]'
/home/kisner/git/citlali/build_conda/_deps/grppi-src/include/grppi/pipeline.h:53:14:   required from 'void grppi::pipeline(const Execution&, Generator&&, Transformers&& ...) [with Execution = dynamic_execution; Generator = Pointing::pipeline<KidsDataProc, const RawObs>(KidsDataProc&, const RawObs&)::<lambda()>; Transformers = {farm_t<Pointing::run()::<lambda(auto:197&)> >}; typename std::enable_if<is_supported<typename std::decay<_Tp>::type>(), int>::type <anonymous> = 0]'
/home/kisner/git/citlali/include/citlali/core/engine/pointing.h:360:20:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:2575:12:   required from 'struct std::__invoke_result<run(const rc_t&)::<lambda(auto:219&)>, TimeOrderedDataProc<Pointing>&>'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:3029:12:   required from 'struct std::invoke_result<run(const rc_t&)::<lambda(auto:219&)>, TimeOrderedDataProc<Pointing>&>'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:3041:11:   required by substitution of 'template<class _Fn, class ... _Args> using invoke_result_t = typename std::invoke_result::type [with _Fn = run(const rc_t&)::<lambda(auto:219&)>; _Args = {TimeOrderedDataProc<Pointing>&}]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/variant:1102:14:   required from 'constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = run(const rc_t&)::<lambda(auto:219&)>; _Variant = std::variant<std::monostate, TimeOrderedDataProc<Lali>, TimeOrderedDataProc<Pointing>, TimeOrderedDataProc<Beammap> >&; long unsigned int ..._Idxs = {0, 1, 2, 3}; std::index_sequence<_Idx ...> = std::integer_sequence<long unsigned int, 0, 1, 2, 3>]'
/home/kisner/software/conda/envs/toltec/x86_64-conda-linux-gnu/include/c++/12.3.0/variant:1843:44:   required from 'constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = run(const rc_t&)::<lambda(auto:219&)>; _Variants = {variant<monostate, TimeOrderedDataProc<Lali>, TimeOrderedDataProc<Pointing>, TimeOrderedDataProc<Beammap> >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]'
/home/kisner/git/citlali/src/citlali/cli/main.cpp:207:31:   required from here
/home/kisner/git/citlali/include/citlali/core/engine/pointing.h:335:50: error: no matching function for call to 'populate_maps_jinc(timestream::TCData<timestream::TCDataKind::PTC, Eigen::Matrix<double, -1, -1> >&, mapmaking::ObsMapBuffer&, mapmaking::ObsMapBuffer&, std::tuple_element<0, std::tuple<Eigen::Matrix<long int, -1, 1, 0, -1, 1>, Eigen::Matrix<long int, -1, 1, 0, -1, 1>, Eigen::Matrix<long int, -1, 1, 0, -1, 1>, Eigen::Matrix<long int, -1, 1, 0, -1, 1> > >::type&, std::tuple_element<3, std::tuple<Eigen::Matrix<long int, -1, 1, 0, -1, 1>, Eigen::Matrix<long int, -1, 1, 0, -1, 1>, Eigen::Matrix<long int, -1, 1, 0, -1, 1>, Eigen::Matrix<long int, -1, 1, 0, -1, 1> > >::type&, std::string&, std::string&, std::map<std::__cxx11::basic_string<char>, Eigen::Matrix<double, -1, 1> >&, std::map<std::__cxx11::basic_string<char>, Eigen::Matrix<double, -1, 1> >&, double&, bool&, double&, std::map<long int, Eigen::Matrix<double, -1, 1> >&)'
  335 |                     mapmaking::populate_maps_jinc(ptcdata, omb, cmb, map_indices, det_indices, telescope.pixel_axes,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  336 |                                                   redu_type, calib.apt, ptcdata.pointing_offsets_arcsec.data, telescope.d_fsmp, run_noise,
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  337 |                                                   jinc_r_max, jinc_shape_params);
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/kisner/git/citlali/include/citlali/core/mapmaking/jinc_mm.h:90:6: note: candidate: 'template<class map_buffer_t, class DerivedA, class DerivedB, class apt_t, class pointing_offset_t> void mapmaking::populate_maps_jinc(timestream::TCData<timestream::TCDataKind::PTC, Eigen::Matrix<double, -1, -1> >&, map_buffer_t&, map_buffer_t&, Eigen::DenseBase<Derived>&, Eigen::DenseBase<Derived>&, std::string&, std::string&, apt_t&, pointing_offset_t&, double, bool, double, std::map<long int, Eigen::DenseBase<DerivedB> >&)'
   90 | void populate_maps_jinc(TCData<TCDataKind::PTC, Eigen::MatrixXd> &in,
      |      ^~~~~~~~~~~~~~~~~~
/home/kisner/git/citlali/include/citlali/core/mapmaking/jinc_mm.h:90:6: note:   template argument deduction/substitution failed:
/home/kisner/git/citlali/include/citlali/core/engine/pointing.h:335:50: note:   mismatched types 'Eigen::DenseBase<DerivedB>' and 'Eigen::Matrix<double, -1, 1>'
  335 |                     mapmaking::populate_maps_jinc(ptcdata, omb, cmb, map_indices, det_indices, telescope.pixel_axes,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  336 |                                                   redu_type, calib.apt, ptcdata.pointing_offsets_arcsec.data, telescope.d_fsmp, run_noise,
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  337 |                                                   jinc_r_max, jinc_shape_params);
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Elapsed time: 28 s. (time), 0.001184 s. (clock)
make[2]: *** [CMakeFiles/citlali_cli.dir/build.make:96: CMakeFiles/citlali_cli.dir/src/citlali/cli/main.cpp.o] Error 1
make[2]: Leaving directory '/home/kisner/git/citlali/build_conda'
make[1]: *** [CMakeFiles/Makefile2:291: CMakeFiles/citlali_cli.dir/all] Error 2
make[1]: Leaving directory '/home/kisner/git/citlali/build_conda'
make: *** [Makefile:159: all] Error 2

I verified that rolling back to commit 2798bf059d4c162f573b46b8e1b25bf7ba71df38 Fixes the compilation. Let me know if there is anything I can do to help debug.

mmccrackan commented 1 year ago

Yes, these were some adjustments to a few components that I pushed just to keep track of and haven't debugged properly. I suggest keeping the previous commit that you reference and I'll send an update here when I've fixed it.

mmccrackan commented 1 year ago

I just pushed a fix for this and tested the compilation and a few reductions and it should work now.