Kimera-VIO
Kimera-VIO copied to clipboard
point declaration conflicts
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
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.