Error build 5.6.0-RC1

There seems to be some sort of mismatch between tao pegtl and the vtk libraries. This only seems to be popping up on cray.

[ 23%] CS Wrapping - generating vtkImageOpenClose3DClientServer.cxx
/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/internal/duseltronik.hpp(87): error: no instance of function template "tao::pegtl::normal<Rule>::apply [with Rule=MotionFX::Common::Number]" matches the argument list
            argument types are: (const tao::pegtl::internal::iterator, const tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, std::vector<double, std::allocator<double>>, std::map<double, impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>>)
                    Control< Rule >::template apply< Action >( m.iterator(), static_cast< const Input& >( in ), st... );
                    ^
/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/normal.hpp(58): note: this candidate was rejected because there is a type mismatch after argument substitution
           static auto apply( const Iterator& begin, const Input& in, States&&... st )
                       ^
          detected during:
            instantiation of "bool tao::pegtl::internal::duseltronik<Rule, A, M, Action, Control, tao::pegtl::dusel_mode::CONTROL_AND_APPLY_VOID>::match(Input &, States &&...) [with Rule=MotionFX::Common::Number, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::ACTIVE, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, States=<std::vector<double, std::allocator<double>>
                      &, std::map<double, impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 82 of "/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/normal.hpp"
            instantiation of "bool tao::pegtl::normal<Rule>::match<A,M,Action,Control,Input,States...>(Input &, States &&...) [with Rule=MotionFX::Common::Number, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::ACTIVE, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, States=<std::vector<double, std::allocator<double>> &, std::map<double,
                      impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 51 of "/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/internal/rule_conjunction.hpp"
            instantiation of "bool tao::pegtl::internal::rule_conjunction<Rules...>::match<A,M,Action,Control,Input,States...>(Input &, States &&...) [with Rules=<tao::pegtl::star<tao::pegtl::ascii::space>, MotionFX::Common::Number, MotionFX::Common::Delimiter, MotionFX::Common::Number, MotionFX::Common::Delimiter, MotionFX::Common::Number, MotionFX::Common::Delimiter, MotionFX::Common::Number, MotionFX::Common::Delimiter, MotionFX::Common::Number, MotionFX::Common::Delimiter,
                      MotionFX::Common::Number, MotionFX::Common::Delimiter, MotionFX::Common::Number, MotionFX::Common::Delimiter, MotionFX::Common::Number, tao::pegtl::star<tao::pegtl::ascii::space>>, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::ACTIVE, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, States=<std::vector<double, std::allocator<double>> &,
                      std::map<double, impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 65 of "/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/internal/seq.hpp"
            instantiation of "bool tao::pegtl::internal::seq<Rules...>::match<A,M,Action,Control,Input,States...>(Input &, States &&...) [with Rules=<tao::pegtl::star<tao::pegtl::ascii::space>, MotionFX::Common::Number, MotionFX::Common::Delimiter, MotionFX::Common::Number, MotionFX::Common::Delimiter, MotionFX::Common::Number, MotionFX::Common::Delimiter, MotionFX::Common::Number, MotionFX::Common::Delimiter, MotionFX::Common::Number, MotionFX::Common::Delimiter, MotionFX::Common::Number,
                      MotionFX::Common::Delimiter, MotionFX::Common::Number, MotionFX::Common::Delimiter, MotionFX::Common::Number, tao::pegtl::star<tao::pegtl::ascii::space>>, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::REQUIRED, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, States=<std::vector<double, std::allocator<double>> &, std::map<double,
                      impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 38
            instantiation of "auto tao::pegtl::internal::duseltronik<Rule, A, M, Action, Control, tao::pegtl::dusel_mode::NOTHING>::match(Input &, States &&...)->decltype((<expression>)) [with Rule=MotionFX::OrientationsPositionFile::Row, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::REQUIRED, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>,
                      States=<std::vector<double, std::allocator<double>> &, std::map<double, impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 133
            [ 3 instantiation contexts not shown ]
            instantiation of "bool tao::pegtl::internal::star<Rule, Rules...>::match<A,<unnamed>,Action,Control,Input,States...>(Input &, States &&...) [with Rule=MotionFX::OrientationsPositionFile::Row, Rules=<>, A=tao::pegtl::apply_mode::ACTION, <unnamed>=tao::pegtl::rewind_mode::REQUIRED, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, States=<std::vector<double,
                      std::allocator<double>> &, std::map<double, impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 38
            instantiation of "auto tao::pegtl::internal::duseltronik<Rule, A, M, Action, Control, tao::pegtl::dusel_mode::NOTHING>::match(Input &, States &&...)->decltype((<expression>)) [with Rule=MotionFX::OrientationsPositionFile::Grammar, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::REQUIRED, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>,
                      States=<std::vector<double, std::allocator<double>> &, std::map<double, impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 63
            instantiation of "bool tao::pegtl::internal::duseltronik<Rule, A, M, Action, Control, tao::pegtl::dusel_mode::CONTROL>::match(Input &, States &&...) [with Rule=MotionFX::OrientationsPositionFile::Grammar, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::REQUIRED, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, States=<std::vector<double,
                      std::allocator<double>> &, std::map<double, impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 82 of "/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/normal.hpp"
            instantiation of "bool tao::pegtl::normal<Rule>::match<A,M,Action,Control,Input,States...>(Input &, States &&...) [with Rule=MotionFX::OrientationsPositionFile::Grammar, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::REQUIRED, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, States=<std::vector<double, std::allocator<double>> &, std::map<double,
                      impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 27 of "/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/parse.hpp"
            instantiation of "bool tao::pegtl::parse<Rule,Action,Control,A,M,Input,States...>(Input &&, States &&...) [with Rule=MotionFX::OrientationsPositionFile::Grammar, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::REQUIRED, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf> &, States=<std::vector<double, std::allocator<double>> &, std::map<double,
                      impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 1017 of "/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/IO/MotionFX/vtkMotionFXCFGReader.cxx"

/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/internal/duseltronik.hpp(134): error: no instance of function template "tao::pegtl::normal<Rule>::apply0 [with Rule=MotionFX::OrientationsPositionFile::Row]" matches the argument list
            argument types are: (const tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, std::vector<double, std::allocator<double>>, std::map<double, impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>>)
                    Control< Rule >::template apply0< Action >( static_cast< const Input& >( in ), st... );
                    ^
/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/normal.hpp(51): note: this candidate was rejected because there is a type mismatch after argument substitution
           static auto apply0( const Input& /*unused*/, States&&... st )
                       ^
          detected during:
            instantiation of "bool tao::pegtl::internal::duseltronik<Rule, A, M, Action, Control, tao::pegtl::dusel_mode::CONTROL_AND_APPLY0_VOID>::match(Input &, States &&...) [with Rule=MotionFX::OrientationsPositionFile::Row, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::REQUIRED, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, States=<std::vector<double,
                      std::allocator<double>> &, std::map<double, impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 82 of "/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/normal.hpp"
            instantiation of "bool tao::pegtl::normal<Rule>::match<A,M,Action,Control,Input,States...>(Input &, States &&...) [with Rule=MotionFX::OrientationsPositionFile::Row, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::REQUIRED, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, States=<std::vector<double, std::allocator<double>> &, std::map<double,
                      impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 46 of "/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/internal/seq.hpp"
            instantiation of "bool tao::pegtl::internal::seq<Rule>::match<A,M,Action,Control,Input,States...>(Input &, States &&...) [with Rule=MotionFX::OrientationsPositionFile::Row, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::REQUIRED, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, States=<std::vector<double, std::allocator<double>> &, std::map<double,
                      impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 39 of "/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/internal/star.hpp"
            instantiation of "bool tao::pegtl::internal::star<Rule, Rules...>::match<A,<unnamed>,Action,Control,Input,States...>(Input &, States &&...) [with Rule=MotionFX::OrientationsPositionFile::Row, Rules=<>, A=tao::pegtl::apply_mode::ACTION, <unnamed>=tao::pegtl::rewind_mode::REQUIRED, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, States=<std::vector<double,
                      std::allocator<double>> &, std::map<double, impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 38
            instantiation of "auto tao::pegtl::internal::duseltronik<Rule, A, M, Action, Control, tao::pegtl::dusel_mode::NOTHING>::match(Input &, States &&...)->decltype((<expression>)) [with Rule=MotionFX::OrientationsPositionFile::Grammar, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::REQUIRED, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>,
                      States=<std::vector<double, std::allocator<double>> &, std::map<double, impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 63
            instantiation of "bool tao::pegtl::internal::duseltronik<Rule, A, M, Action, Control, tao::pegtl::dusel_mode::CONTROL>::match(Input &, States &&...) [with Rule=MotionFX::OrientationsPositionFile::Grammar, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::REQUIRED, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, States=<std::vector<double,
                      std::allocator<double>> &, std::map<double, impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 82 of "/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/normal.hpp"
            instantiation of "bool tao::pegtl::normal<Rule>::match<A,M,Action,Control,Input,States...>(Input &, States &&...) [with Rule=MotionFX::OrientationsPositionFile::Grammar, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::REQUIRED, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf>, States=<std::vector<double, std::allocator<double>> &, std::map<double,
                      impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 27 of "/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/ThirdParty/pegtl/vtkpegtl/include/tao/pegtl/parse.hpp"
            instantiation of "bool tao::pegtl::parse<Rule,Action,Control,A,M,Input,States...>(Input &&, States &&...) [with Rule=MotionFX::OrientationsPositionFile::Grammar, Action=Actions::PositionFile::action, Control=tao::pegtl::normal, A=tao::pegtl::apply_mode::ACTION, M=tao::pegtl::rewind_mode::REQUIRED, Input=tao::pegtl::read_input<tao::pegtl::tracking_mode::IMMEDIATE, tao::pegtl::ascii::eol::lf_crlf> &, States=<std::vector<double, std::allocator<double>> &, std::map<double,
                      impl::PositionFileMotion::tuple_type, std::less<double>, std::allocator<std::pair<const double, impl::PositionFileMotion::tuple_type>>> &>]" at line 1017 of "/usr/projects/hpctools/pflarr/paraview-downloads/paraview/v5.6.0-RC1/VTK/IO/MotionFX/vtkMotionFXCFGReader.cxx"

Compilation had a lot more issues with finding matching functions than just these. This was when building the 5.6.0-RC1 tag of paraview using the current superbuild HEAD.

non-private includes in current VTK module infrastructure is surely a pain! We’ll be addressing that soon (5.8 or so). In the mean time, use the attached patch to disable optional vtkIOMotionFX. I’ll update the CMakeLists.txt to expose an option e.g. PARAVIEW_ENABLE_MOTIONFX to control this as well.

disable.motionfx.cmake (760 Bytes)

[update] here’s the MR to add a PARAVIEW_ENABLE_MOTIONFX flag to disable MotionFX reader.

This seems to be specific to building with intel on crays. The gcc build went fine.

I can probably wait until you get PARAVIEW_ENABLE_MOTIONFX added, then I can just add it to my build conditions.

Let’s make sure the option gets into 5.6.RC2. Ping me if you need anything.