QtAliceVision icon indicating copy to clipboard operation
QtAliceVision copied to clipboard

MSfMDataStats Doesn't Compile

Open sjordahl opened this issue 2 years ago • 0 comments

Trying to build qtAliceVision as part of building the full AliceVision/Meshroom stack in an NVIDIA-enabled docker container.

OS: AliceVision Docker image derived from nvidia/cudagl:11.2.2-devel-ubuntu20.04 Python 3.8.10 Qt/PySide 5.14.1 Meshroom version: release v2021.1.0 (HEAD-ad9f1e87) AliceVision version: release v2.4.0 (HEAD-38d899f54) CUDA version: 11.2.2

The build errors out when compiling MSfMDataStats.cpp with the following error:

[ 91%] Building CXX object src/CMakeFiles/qtAliceVisionPlugin.dir/MSfMDataStats.cpp.o /tmp/Meshroom_build/qtAliceVision/src/MFeatures.cpp: In member function 'virtual void qtAliceVision::FeaturesIORunnable::run()': /tmp/Meshroom_build/qtAliceVision/src/MFeatures.cpp:63:24: error: 'loadFeaturesPerDescPerView' is not a member of 'aliceVision::sfm'; did you mean 'loadFeaturesPerView'? 63 | bool loaded = sfm::loadFeaturesPerDescPerView(regionsPerViewPerDesc, viewIds, {folder.toLocalFile().toStdString()}, imageDescriberTypes); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | loadFeaturesPerView make[6]: *** [src/CMakeFiles/qtAliceVisionPlugin.dir/build.make:102: src/CMakeFiles/qtAliceVisionPlugin.dir/MFeatures.cpp.o] Error 1 make[6]: *** Waiting for unfinished jobs.... make[5]: *** [CMakeFiles/Makefile2:95: src/CMakeFiles/qtAliceVisionPlugin.dir/all] Error 2 make[4]: *** [Makefile:130: all] Error 2 make[3]: *** [CMakeFiles/qtAliceVision.dir/build.make:112: qtAliceVision-prefix/src/qtAliceVision-stamp/qtAliceVision-build] Error 2 make[2]: *** [CMakeFiles/Makefile2:80: CMakeFiles/qtAliceVision.dir/all] Error 2 make[1]: *** [CMakeFiles/Makefile2:87: CMakeFiles/qtAliceVision.dir/rule] Error 2 make: *** [Makefile:118: qtAliceVision] Error 2

I tried replacing loadFeaturesPerDescPerView with loadFeaturesPerView but then MFeatures.cpp errors out with:

[ 16%] Building CXX object src/CMakeFiles/qtAliceVisionPlugin.dir/MFeatures.cpp.o /tmp/Meshroom_build/qtAliceVision/src/MFeatures.cpp: In member function 'virtual void qtAliceVision::FeaturesIORunnable::run()': /tmp/Meshroom_build/qtAliceVision/src/MFeatures.cpp:64:44: error: invalid initialization of reference of type 'aliceVision::feature::FeaturesPerView&' from expression of type 'std::vector<std::vector<std::unique_ptraliceVision::feature::Regions > >' 64 | bool loaded = sfm::loadFeaturesPerView(regionsPerViewPerDesc, viewIds, {folder.toLocalFile().toStdString()}, imageDescriberTypes); | ^~~~~~~~~~~~~~~~~~~~~ In file included from /tmp/Meshroom_build/qtAliceVision/src/MFeature.hpp:7, from /tmp/Meshroom_build/qtAliceVision/src/MFeatures.hpp:3, from /tmp/Meshroom_build/qtAliceVision/src/MFeatures.cpp:1: /opt/AliceVision_install/include/aliceVision/sfm/pipeline/regionsIO.hpp:63:52: note: in passing argument 1 of 'bool aliceVision::sfm::loadFeaturesPerView(aliceVision::feature::FeaturesPerView&, const aliceVision::sfmData::SfMData&, const std::vector<std::__cxx11::basic_string >&, const std::vectoraliceVision::feature::EImageDescriberType&)' 63 | bool loadFeaturesPerView(feature::FeaturesPerView& featuresPerView, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ make[6]: *** [src/CMakeFiles/qtAliceVisionPlugin.dir/build.make:102: src/CMakeFiles/qtAliceVisionPlugin.dir/MFeatures.cpp.o] Error 1 make[5]: *** [CMakeFiles/Makefile2:95: src/CMakeFiles/qtAliceVisionPlugin.dir/all] Error 2 make[4]: *** [Makefile:130: all] Error 2 make[3]: *** [CMakeFiles/qtAliceVision.dir/build.make:112: qtAliceVision-prefix/src/qtAliceVision-stamp/qtAliceVision-build] Error 2 make[2]: *** [CMakeFiles/Makefile2:80: CMakeFiles/qtAliceVision.dir/all] Error 2 make[1]: *** [CMakeFiles/Makefile2:87: CMakeFiles/qtAliceVision.dir/rule] Error 2 make: *** [Makefile:118: qtAliceVision] Error 2

Any assistance is appreciated.

sjordahl avatar Aug 31 '21 21:08 sjordahl