Hello Rich, Orion.
I see you've managed to build pcl that was updated to 1.11 2 months ago but only built recently for Fedora 33+:
https://src.fedoraproject.org/rpms/pcl/commits/master
cloudcompare now FTBFS:
https://koschei.fedoraproject.org/package/cloudcompare?collection=f33
In file included from /usr/include/pcl-1.11/pcl/pcl_macros.h:77, from /usr/include/pcl-1.11/pcl/PCLPointCloud2.h:8, from /builddir/build/BUILD/CloudCompare-2.9.1/plugins/qPCL/PclUtils/filters/../utils/PCLConv.h:30, from /builddir/build/BUILD/CloudCompare-2.9.1/plugins/qPCL/PclUtils/filters/MLSSmoothingUpsampling.cpp:22: /usr/include/pcl-1.11/pcl/pcl_config.h:7:4: error: #error PCL requires C++14 or above 7 | #error PCL requires C++14 or above | ^~~~~
So I've attempted a trivial workaround:
sed -i 's/-std=c++11/-std=c++14/' $(grep -rl -- '-std=c++11')
or
sed -i 's/-std=c++11/-std=gnu++14/' $(grep -rl -- '-std=c++11')
However the error is now:
https://koji.fedoraproject.org/koji/taskinfo?taskID=49241500
In file included from /builddir/build/BUILD/CloudCompare-2.9.1/plugins/qPCL/PclUtils/utils/cc2sm.cpp:21: /builddir/build/BUILD/CloudCompare-2.9.1/plugins/qPCL/PclUtils/utils/my_point_types.h:34:12: error: 'uint8_t' in namespace 'boost' does not name a type 34 | boost::uint8_t b; | ^~~~~~~
And:
/builddir/build/BUILD/CloudCompare-2.9.1/plugins/qPCL/PclUtils/utils/cc2sm.cpp: In member function 'pcl::PCLPointCloud2::Ptr cc2smReader::getColors() const': /builddir/build/BUILD/CloudCompare-2.9.1/plugins/qPCL/PclUtils/utils/cc2sm.cpp:275:21: error: 'struct OnlyRGB' has no member named 'r' 275 | pcl_cloud->at(i).r = static_cast<uint8_t>(rgb[0]); | ^ /builddir/build/BUILD/CloudCompare-2.9.1/plugins/qPCL/PclUtils/utils/cc2sm.cpp:276:21: error: 'struct OnlyRGB' has no member named 'g' 276 | pcl_cloud->at(i).g = static_cast<uint8_t>(rgb[1]); | ^ /builddir/build/BUILD/CloudCompare-2.9.1/plugins/qPCL/PclUtils/utils/cc2sm.cpp:277:21: error: 'struct OnlyRGB' has no member named 'b' 277 | pcl_cloud->at(i).b = static_cast<uint8_t>(rgb[2]); |
Any idea what needs to be changed and how? Note that my C++ skills are rusty at least. Thanks for help.