vtkPDALReader fails to compile
Getting this building VTK 9.3.0.rc2 on Fedora rawhide with PDAL 2.6.0:
[ 54%] Building CXX object IO/PDAL/CMakeFiles/IOPDAL.dir/vtkPDALReader.cxx.o
cd /builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/IO/PDAL && /usr/bin/g++ -DIOPDAL_EXPORTS -Dkiss_fft_scalar=double -I/builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/IO/PDAL -I/builddir/build/BUILD/VTK-9.3.0.rc2/IO/PDAL -I/builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/Common/Core -I/builddir/build/BUILD/VTK-9.3.0.rc2/Common/Core -I/builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/Common/ExecutionModel -I/builddir/build/BUILD/VTK-9.3.0.rc2/Common/ExecutionModel -I/builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/Common/DataModel -I/builddir/build/BUILD/VTK-9.3.0.rc2/Common/DataModel -I/builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/Common/Math -I/builddir/build/BUILD/VTK-9.3.0.rc2/Common/Math -I/builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/ThirdParty/kissfft/vtkkissfft -I/builddir/build/BUILD/VTK-9.3.0.rc2/ThirdParty/kissfft/vtkkissfft -I/builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/Common/Transforms -I/builddir/build/BUILD/VTK-9.3.0.rc2/Common/Transforms -I/builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/Filters/General -I/builddir/build/BUILD/VTK-9.3.0.rc2/Filters/General -I/builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/Common/Misc -I/builddir/build/BUILD/VTK-9.3.0.rc2/Common/Misc -I/builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/Filters/Core -I/builddir/build/BUILD/VTK-9.3.0.rc2/Filters/Core -isystem /builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/Utilities/KWIML -isystem /builddir/build/BUILD/VTK-9.3.0.rc2/Utilities/KWIML -isystem /builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/Utilities/KWSys -isystem /builddir/build/BUILD/VTK-9.3.0.rc2/Utilities/KWSys -isystem /builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial/ThirdParty/kissfft -isystem /builddir/build/BUILD/VTK-9.3.0.rc2/ThirdParty/kissfft -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -D_UNICODE -DHAVE_UINTPTR_T -g -std=c++11 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT IO/PDAL/CMakeFiles/IOPDAL.dir/vtkPDALReader.cxx.o -MF CMakeFiles/IOPDAL.dir/vtkPDALReader.cxx.o.d -o CMakeFiles/IOPDAL.dir/vtkPDALReader.cxx.o -c /builddir/build/BUILD/VTK-9.3.0.rc2/IO/PDAL/vtkPDALReader.cxx
gmake[2]: Leaving directory '/builddir/build/BUILD/VTK-9.3.0.rc2/redhat-linux-build-serial'
In file included from /usr/include/pdal/DimUtil.hpp:40,
from /usr/include/pdal/Dimension.hpp:9,
from /usr/include/pdal/Stage.hpp:39,
from /usr/include/pdal/Reader.hpp:37,
from /builddir/build/BUILD/VTK-9.3.0.rc2/IO/PDAL/vtkPDALReader.cxx:33:
/usr/include/pdal/util/Utils.hpp:975:31: error: ‘std::enable_if_t’ has not been declared
975 | template<typename T, std::enable_if_t<!std::is_integral<T>::value>* = nullptr>
| ^~~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:975:42: error: expected ‘>’ before ‘<’ token
975 | template<typename T, std::enable_if_t<!std::is_integral<T>::value>* = nullptr>
| ^
/usr/include/pdal/util/Utils.hpp:994:31: error: ‘std::enable_if_t’ has not been declared
994 | template<typename T, std::enable_if_t<std::is_integral<T>::value>* = nullptr>
| ^~~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:994:42: error: expected ‘>’ before ‘<’ token
994 | template<typename T, std::enable_if_t<std::is_integral<T>::value>* = nullptr>
| ^
/usr/include/pdal/util/Utils.hpp:995:22: error: redefinition of ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
995 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’ previously declared here
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:1012:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, std::string&)’ does not match any template declaration
1012 | inline StatusWithReason fromString(const std::string& from, std::string& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:1026:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, char&)’ does not match any template declaration
1026 | inline StatusWithReason fromString(const std::string& s, char& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:1057:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, unsigned char&)’ does not match any template declaration
1057 | inline StatusWithReason fromString(const std::string& s, unsigned char& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:1089:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, signed char&)’ does not match any template declaration
1089 | inline StatusWithReason fromString(const std::string& s, signed char& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:1120:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, double&)’ does not match any template declaration
1120 | inline StatusWithReason fromString(const std::string& s, double& d)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
In file included from /usr/include/pdal/Dimension.hpp:10:
/usr/include/pdal/pdal_types.hpp: In member function ‘bool pdal::XForm::XFormComponent::set(const std::string&)’:
/usr/include/pdal/pdal_types.hpp:156:48: error: no matching function for call to ‘fromString(const std::string&, double&)’
156 | failed = !Utils::fromString(sval, m_val);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: candidate: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: template argument deduction/substitution failed:
/usr/include/pdal/pdal_types.hpp:156:48: note: mismatched types ‘T*’ and ‘double’
156 | failed = !Utils::fromString(sval, m_val);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: candidate: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: template argument deduction/substitution failed:
/usr/include/pdal/pdal_types.hpp:156:48: note: couldn’t deduce template parameter ‘<anonymous>’
156 | failed = !Utils::fromString(sval, m_val);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
In file included from /usr/include/pdal/Metadata.hpp:39,
from /usr/include/pdal/Stage.hpp:42:
/usr/include/pdal/util/Bounds.hpp: At global scope:
/usr/include/pdal/util/Bounds.hpp:738:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, pdal::BOX2D&)’ does not match any template declaration
738 | inline StatusWithReason fromString(const std::string& s, BOX2D& bounds)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/usr/include/pdal/util/Bounds.hpp:755:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, pdal::BOX3D&)’ does not match any template declaration
755 | inline StatusWithReason fromString(const std::string& s, BOX3D& bounds)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/usr/include/pdal/util/Bounds.hpp:772:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, pdal::Bounds&)’ does not match any template declaration
772 | inline StatusWithReason fromString(const std::string& s, Bounds& bounds)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/usr/include/pdal/Metadata.hpp: In function ‘T pdal::MetadataDetail::value(const std::string&, const std::string&) [with T = bool; std::string = std::__cxx11::basic_string<char>]’:
/usr/include/pdal/Metadata.hpp:398:27: error: no matching function for call to ‘fromString(const std::string&, bool&)’
398 | if (!Utils::fromString(value, b))
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: candidate: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: template argument deduction/substitution failed:
/usr/include/pdal/Metadata.hpp:398:27: note: mismatched types ‘T*’ and ‘bool’
398 | if (!Utils::fromString(value, b))
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: candidate: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: template argument deduction/substitution failed:
/usr/include/pdal/Metadata.hpp:398:27: note: couldn’t deduce template parameter ‘<anonymous>’
398 | if (!Utils::fromString(value, b))
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~
In file included from /usr/include/pdal/Kernel.hpp:46,
from /usr/include/pdal/PluginHelper.hpp:43,
from /usr/include/pdal/Stage.hpp:45:
/usr/include/pdal/util/ProgramArgs.hpp: In instantiation of ‘void pdal::TArg<T>::setValue(const std::string&) [with T = std::__cxx11::basic_string<char>; std::string = std::__cxx11::basic_string<char>]’:
/usr/include/pdal/util/ProgramArgs.hpp:400:18: required from here
/usr/include/pdal/util/ProgramArgs.hpp:414:40: error: no matching function for call to ‘fromString(const std::string&, std::__cxx11::basic_string<char>&)’
414 | auto status = Utils::fromString(s, m_var);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: candidate: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:953:22: note: template argument deduction/substitution failed:
/usr/include/pdal/util/ProgramArgs.hpp:414:40: note: mismatched types ‘T*’ and ‘std::__cxx11::basic_string<char>’
414 | auto status = Utils::fromString(s, m_var);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: candidate: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/usr/include/pdal/util/Utils.hpp:976:22: note: template argument deduction/substitution failed:
/usr/include/pdal/util/ProgramArgs.hpp:414:40: note: couldn’t deduce template parameter ‘<anonymous>’
414 | auto status = Utils::fromString(s, m_var);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~
gmake[2]: *** [IO/PDAL/CMakeFiles/IOPDAL.dir/build.make:79: IO/PDAL/CMakeFiles/IOPDAL.dir/vtkPDALReader.cxx.o] Error 1