Kimera-VIO icon indicating copy to clipboard operation
Kimera-VIO copied to clipboard

point declaration conflicts

Open mubaarik opened this issue 5 years ago • 1 comments

Description: There seam to be a several naming conflict with gtsam and opencv

Command:

$ cd Kimera-VIO
$ mkdir build
$ cmake ..
$ make 

Console output:


[  1%] Building CXX object CMakeFiles/kimera_vio.dir/src/dataprovider/DataProviderInterface.cpp.o
In file included from /home/mubo/kimera/Kimera-VIO/include/kimera-vio/frontend/CameraParams.h:27:0,
                 from /home/mubo/kimera/Kimera-VIO/include/kimera-vio/frontend/Camera.h:25,
                 from /home/mubo/kimera/Kimera-VIO/include/kimera-vio/dataprovider/DataProviderInterface.h:20,
                 from /home/mubo/kimera/Kimera-VIO/src/dataprovider/DataProviderInterface.cpp:15:
/home/mubo/kimera/Kimera-VIO/include/kimera-vio/utils/UtilsOpenCV.h:39:7: error: using typedef-name ‘gtsam::Point2’ after ‘class’
 class Point2;
       ^~~~~~
In file included from /usr/local/include/gtsam/geometry/Cal3_S2.h:24:0,
                 from /home/mubo/kimera/Kimera-VIO/include/kimera-vio/frontend/Camera.h:21,
                 from /home/mubo/kimera/Kimera-VIO/include/kimera-vio/dataprovider/DataProviderInterface.h:20,
                 from /home/mubo/kimera/Kimera-VIO/src/dataprovider/DataProviderInterface.cpp:15:
/usr/local/include/gtsam/geometry/Point2.h:27:17: note: ‘gtsam::Point2’ has a previous declaration here
 typedef Vector2 Point2;
                 ^~~~~~
In file included from /home/mubo/kimera/Kimera-VIO/include/kimera-vio/frontend/CameraParams.h:27:0,
                 from /home/mubo/kimera/Kimera-VIO/include/kimera-vio/frontend/Camera.h:25,
                 from /home/mubo/kimera/Kimera-VIO/include/kimera-vio/dataprovider/DataProviderInterface.h:20,
                 from /home/mubo/kimera/Kimera-VIO/src/dataprovider/DataProviderInterface.cpp:15:
/home/mubo/kimera/Kimera-VIO/include/kimera-vio/utils/UtilsOpenCV.h:40:7: error: using typedef-name ‘gtsam::Point3’ after ‘class’
 class Point3;
       ^~~~~~
In file included from /usr/local/include/gtsam/geometry/Pose3.h:23:0,
                 from /usr/local/include/gtsam/geometry/CalibratedCamera.h:23,
                 from /usr/local/include/gtsam/geometry/PinholePose.h:22,
                 from /usr/local/include/gtsam/geometry/PinholeCamera.h:21,
                 from /home/mubo/kimera/Kimera-VIO/include/kimera-vio/frontend/Camera.h:22,
                 from /home/mubo/kimera/Kimera-VIO/include/kimera-vio/dataprovider/DataProviderInterface.h:20,
                 from /home/mubo/kimera/Kimera-VIO/src/dataprovider/DataProviderInterface.cpp:15:
/usr/local/include/gtsam/geometry/Point3.h:35:17: note: ‘gtsam::Point3’ has a previous declaration here
 typedef Vector3 Point3;
                 ^~~~~~
CMakeFiles/kimera_vio.dir/build.make:86: recipe for target 'CMakeFiles/kimera_vio.dir/src/dataprovider/DataProviderInterface.cpp.o' failed
make[2]: *** [CMakeFiles/kimera_vio.dir/src/dataprovider/DataProviderInterface.cpp.o] Error 1
CMakeFiles/Makefile2:163: recipe for target 'CMakeFiles/kimera_vio.dir/all' failed
make[1]: *** [CMakeFiles/kimera_vio.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

Additional files: Please attach all the files needed to reproduce the error.

Please give also the following information:

  • Kimera-Vio branch, tag or commit used: master
  • GTSAM version used: develop
  • OpenGV version used: master
  • OpenCV version used: branch 3.4
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 18.04
  • Did you change the source code? (yes / no): No

mubaarik avatar Oct 20 '20 06:10 mubaarik

Hi @mubaarik ,

I think this is related to #110 and #115

Our Jenkins CI server is currently building the pipeline with the latest gtsam (master branch, not develop) and kimera-vio, so I would try to re-install gtsam but with master version, and make sure you pull latest kimera-vio.

ToniRV avatar Oct 24 '20 20:10 ToniRV