Description:
Building Kimera-VIO in Ubuntu 20.04 (WSL2)
Command:
`sudo make -j4 install`
Console output:
[ 2%] Built target gtest
[ 63%] Built target kimera_vio
[ 63%] Linking CXX executable stereoVIOEuroc
[ 64%] Building CXX object CMakeFiles/testKimeraVIO.dir/tests/testTracker.cpp.o
/usr/bin/ld: warning: libopencv_core.so.4.2, needed by /usr/local/lib/libDBoW2.so, may conflict with libopencv_core.so.407
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::close()'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WCameraPosition::WCameraPosition(cv::Matx<double, 3, 3> const&, cv::_InputArray const&, double, cv::viz::Color const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::setOffScreenRendering()'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::wasStopped() const'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::removeWidget(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WArrow::WArrow(cv::Point3_<double> const&, cv::Point3_<double> const&, double, cv::viz::Color const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Widget3D::updatePose(cv::Affine3<double> const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WCloud::WCloud(cv::_InputArray const&, cv::_InputArray const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::showWidget(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::viz::Widget const&, cv::Affine3<double> const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WTrajectoryFrustums::WTrajectoryFrustums(cv::_InputArray const&, cv::Matx<double, 3, 3> const&, double, cv::viz::Color const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::setFullScreen(bool)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WCloud::WCloud(cv::_InputArray const&, cv::viz::Color const&)'
/usr/bin/ld: /home/umbnich/Kimera-RPGO/build/libKimeraRPGO.so: undefined reference to `gtsam::NoiseModelFactor::cloneWithNewNoiseModel(std::shared_ptr<gtsam::noiseModel::Base>) const'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WCylinder::WCylinder(cv::Point3_<double> const&, cv::Point3_<double> const&, double, int, cv::viz::Color const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::setWidgetPose(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Affine3<double> const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WCube::WCube(cv::Point3_<double> const&, cv::Point3_<double> const&, bool, cv::viz::Color const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WMesh::WMesh(cv::_InputArray const&, cv::_InputArray const&, cv::_InputArray const&, cv::_InputArray const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WCameraPosition::WCameraPosition(cv::Matx<double, 3, 3> const&, double, cv::viz::Color const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::spinOnce(int, bool)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::saveScreenshot(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Mesh::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Widget::setRenderingProperty(int, double)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WTrajectory::WTrajectory(cv::_InputArray const&, int, double, cv::viz::Color const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::Viz3d(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WCoordinateSystem::WCoordinateSystem(double)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::getViewerPose()'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Widget::~Widget()'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::getWindowSize() const'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::registerKeyboardCallback(void (*)(cv::viz::KeyboardEvent const&, void*), void*)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Widget::operator=(cv::viz::Widget const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WMesh::WMesh(cv::viz::Mesh const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WLine::WLine(cv::Point3_<double> const&, cv::Point3_<double> const&, cv::viz::Color const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Widget3D::getPose() const'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::~Viz3d()'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WPlane::WPlane(cv::Point3_<double> const&, cv::Vec<double, 3> const&, cv::Vec<double, 3> const&, cv::Size_<double> const&, cv::viz::Color const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WText3D::WText3D(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point3_<double> const&, double, bool, cv::viz::Color const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Widget3D::setPose(cv::Affine3<double> const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WSphere::WSphere(cv::Point3_<double> const&, double, int, cv::viz::Color const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::setBackgroundColor(cv::viz::Color const&, cv::viz::Color const&)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::setGlobalWarnings(bool)'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::Viz3d::spin()'
/usr/bin/ld: libkimera_vio.so: undefined reference to `cv::viz::WCloud::WCloud(cv::_InputArray const&, cv::_InputArray const&, cv::_InputArray const&)'
/usr/bin/ld: /home/umbnich/Kimera-RPGO/build/libKimeraRPGO.so: undefined reference to `gtsam::NonlinearFactor::error(gtsam::HybridValues const&) const'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/stereoVIOEuroc.dir/build.make:148: stereoVIOEuroc] Error 1
make[1]: *** [CMakeFiles/Makefile2:1441: CMakeFiles/stereoVIOEuroc.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/home/umbnich/Kimera-VIO/tests/testTracker.cpp: In member function ‘void TestTracker::InitializeData()’:
/home/umbnich/Kimera-VIO/tests/testTracker.cpp:130:21: error: parse error in template argument list
130 | tracker_ = VIO::make_unique<Tracker>(
| ^~~~~~~~~~~~~~~~~~~~
/home/umbnich/Kimera-VIO/tests/testTracker.cpp:131:65: error: no matching function for call to ‘make_unique<<expression error> >(VIO::FrontendParams&, const ConstPtr&)’
131 | tracker_params_, stereo_camera_->getOriginalLeftCamera());
| ^
In file included from /home/umbnich/Kimera-VIO/include/kimera-vio/utils/UtilsOpenCV.h:34,
from /home/umbnich/Kimera-VIO/include/kimera-vio/frontend/CameraParams.h:27,
from /home/umbnich/Kimera-VIO/include/kimera-vio/frontend/Camera.h:25,
from /home/umbnich/Kimera-VIO/tests/testTracker.cpp:27:
/home/umbnich/Kimera-VIO/include/kimera-vio/common/vio_types.h:85:20: note: candidate: ‘template<class T, class ... Args> std::unique_ptr<_Tp> VIO::make_unique(Args&& ...)’
85 | std::unique_ptr<T> make_unique(Args&&... args) {
| ^~~~~~~~~~~
/home/umbnich/Kimera-VIO/include/kimera-vio/common/vio_types.h:85:20: note: template argument deduction/substitution failed:
/home/umbnich/Kimera-VIO/tests/testTracker.cpp:131:65: error: template argument 1 is invalid
131 | tracker_params_, stereo_camera_->getOriginalLeftCamera());
| ^
/home/umbnich/Kimera-VIO/tests/testTracker.cpp: In member function ‘virtual void TestTracker_geometricOutlierRejectionMono_Test::TestBody()’:
/home/umbnich/Kimera-VIO/tests/testTracker.cpp:644:7: error: reference to ‘Tracker’ is ambiguous
644 | Tracker tracker(trackerParams, stereo_camera_->getOriginalLeftCamera());
| ^~~~~~~
In file included from /usr/local/include/opencv4/opencv2/video.hpp:56,
from /usr/local/include/opencv4/opencv2/opencv.hpp:89,
from /home/umbnich/Kimera-VIO/include/kimera-vio/utils/UtilsOpenCV.h:26,
from /home/umbnich/Kimera-VIO/include/kimera-vio/frontend/CameraParams.h:27,
from /home/umbnich/Kimera-VIO/include/kimera-vio/frontend/Camera.h:25,
from /home/umbnich/Kimera-VIO/tests/testTracker.cpp:27:
/usr/local/include/opencv4/opencv2/video/tracking.hpp:713:20: note: candidates are: ‘class cv::Tracker’
713 | class CV_EXPORTS_W Tracker
| ^~~~~~~
In file included from /home/umbnich/Kimera-VIO/tests/testTracker.cpp:33:
/home/umbnich/Kimera-VIO/include/kimera-vio/frontend/Tracker.h:45:7: note: ‘class VIO::Tracker’
45 | class Tracker {
| ^~~~~~~
/home/umbnich/Kimera-VIO/tests/testTracker.cpp:648:11: error: ‘tracker’ was not declared in this scope; did you mean ‘tracker_’?
648 | tracker.geometricOutlierRejectionMono(ref_frame.get(),
| ^~~~~~~
| tracker_
/home/umbnich/Kimera-VIO/tests/testTracker.cpp: In member function ‘virtual void TestTracker_geometricOutlierRejectionStereo_Test::TestBody()’:
/home/umbnich/Kimera-VIO/tests/testTracker.cpp:838:7: error: reference to ‘Tracker’ is ambiguous
838 | Tracker tracker(trackerParams, stereo_camera_->getOriginalLeftCamera());
| ^~~~~~~
In file included from /usr/local/include/opencv4/opencv2/video.hpp:56,
from /usr/local/include/opencv4/opencv2/opencv.hpp:89,
from /home/umbnich/Kimera-VIO/include/kimera-vio/utils/UtilsOpenCV.h:26,
from /home/umbnich/Kimera-VIO/include/kimera-vio/frontend/CameraParams.h:27,
from /home/umbnich/Kimera-VIO/include/kimera-vio/frontend/Camera.h:25,
from /home/umbnich/Kimera-VIO/tests/testTracker.cpp:27:
/usr/local/include/opencv4/opencv2/video/tracking.hpp:713:20: note: candidates are: ‘class cv::Tracker’
713 | class CV_EXPORTS_W Tracker
| ^~~~~~~
In file included from /home/umbnich/Kimera-VIO/tests/testTracker.cpp:33:
/home/umbnich/Kimera-VIO/include/kimera-vio/frontend/Tracker.h:45:7: note: ‘class VIO::Tracker’
45 | class Tracker {
| ^~~~~~~
/home/umbnich/Kimera-VIO/tests/testTracker.cpp:842:11: error: ‘tracker’ was not declared in this scope; did you mean ‘tracker_’?
842 | tracker.geometricOutlierRejectionStereo(*ref_stereo_frame,
| ^~~~~~~
| tracker_
make[2]: *** [CMakeFiles/testKimeraVIO.dir/build.make:479: CMakeFiles/testKimeraVIO.dir/tests/testTracker.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:955: CMakeFiles/testKimeraVIO.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Additional files:
Please give also the following information:
Kimera-VIO, latest branch
GTSAM version used: 4.1.1
OpenGV version used: latest
OpenCV version used: 3.4.2
Operating system and version: Ubuntu 20.04
Did you change the source code?
Substituted Rot3()::Identity() with Rot3() and Pose3::Identity() with Pose3().
Included opencv2/viz.hpp in different scripts
Description: Building Kimera-VIO in Ubuntu 20.04 (WSL2)
Command:
Console output:
Additional files:
Please give also the following information: