Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Error On Ubunto 20.04, ROS Noetic, Ceres 2.2 #415

Open
MF-Ahmed opened this issue Sep 23, 2022 · 1 comment
Open

Build Error On Ubunto 20.04, ROS Noetic, Ceres 2.2 #415

MF-Ahmed opened this issue Sep 23, 2022 · 1 comment

Comments

@MF-Ahmed
Copy link

I am Having the following error ....
λ › catkin_make ~/catkin_workspace
Base path: /home/uzi/catkin_workspace
Source space: /home/uzi/catkin_workspace/src
Build space: /home/uzi/catkin_workspace/build
Devel space: /home/uzi/catkin_workspace/devel
Install space: /home/uzi/catkin_workspace/install

Running command: "make cmake_check_build_system" in "/home/uzi/catkin_workspace/build"

Running command: "make -j4 -l4" in "/home/uzi/catkin_workspace/build"

Consolidate compiler generated dependencies of target camera_model
Consolidate compiler generated dependencies of target Calibration
[ 3%] Built target benchmark_publisher
Consolidate compiler generated dependencies of target vins_estimator
[ 4%] Building CXX object VINS-Mono/camera_model/CMakeFiles/camera_model.dir/src/calib/CameraCalibration.cc.o
[ 6%] Building CXX object VINS-Mono/camera_model/CMakeFiles/camera_model.dir/src/camera_models/CataCamera.cc.o
[ 7%] Building CXX object VINS-Mono/camera_model/CMakeFiles/Calibration.dir/src/calib/CameraCalibration.cc.o
[ 9%] Building CXX object VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/src/estimator_node.cpp.o
/home/uzi/catkin_workspace/src/VINS-Mono/camera_model/src/calib/CameraCalibration.cc: In member function ‘void camodocal::CameraCalibration::optimize(camodocal::CameraPtr&, std::vectorcv::Mat&, std::vectorcv::Mat&) const’:
/home/uzi/catkin_workspace/src/VINS-Mono/camera_model/src/calib/CameraCalibration.cc:507:39: warning: ‘LocalParameterization’ is deprecated: LocalParameterizations will be removed from the Ceres Solver API in version 2.2.0. Use Manifolds instead. [-Wdeprecated-declarations]
507 | ceres::LocalParameterization* quaternionParameterization =
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/uzi/catkin_workspace/src/VINS-Mono/camera_model/include/camodocal/gpl/EigenQuaternionParameterization.h:4,
from /home/uzi/catkin_workspace/src/VINS-Mono/camera_model/src/calib/CameraCalibration.cc:16:
/usr/local/include/ceres/local_parameterization.h:121:18: note: declared here
121 | CERES_EXPORT LocalParameterization {
| ^~~~~~~~~~~~~~~~~~~~~
/home/uzi/catkin_workspace/src/VINS-Mono/camera_model/src/calib/CameraCalibration.cc:510:17: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’?
510 | problem.SetParameterization(transformVec.at(i).rotationData(),
| ^~~~~~~~~~~~~~~~~~~
| SetParameterLowerBound
/home/uzi/catkin_workspace/src/VINS-Mono/camera_model/src/calib/CameraCalibration.cc: In member function ‘void camodocal::CameraCalibration::optimize(camodocal::CameraPtr&, std::vectorcv::Mat&, std::vectorcv::Mat&) const’:
/home/uzi/catkin_workspace/src/VINS-Mono/camera_model/src/calib/CameraCalibration.cc:507:39: warning: ‘LocalParameterization’ is deprecated: LocalParameterizations will be removed from the Ceres Solver API in version 2.2.0. Use Manifolds instead. [-Wdeprecated-declarations]
507 | ceres::LocalParameterization* quaternionParameterization =
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/uzi/catkin_workspace/src/VINS-Mono/camera_model/include/camodocal/gpl/EigenQuaternionParameterization.h:4,
from /home/uzi/catkin_workspace/src/VINS-Mono/camera_model/src/calib/CameraCalibration.cc:16:
/usr/local/include/ceres/local_parameterization.h:121:18: note: declared here
121 | CERES_EXPORT LocalParameterization {
| ^~~~~~~~~~~~~~~~~~~~~
/home/uzi/catkin_workspace/src/VINS-Mono/camera_model/src/calib/CameraCalibration.cc:510:17: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’?
510 | problem.SetParameterization(transformVec.at(i).rotationData(),
| ^~~~~~~~~~~~~~~~~~~
| SetParameterLowerBound
make[2]: *** [VINS-Mono/camera_model/CMakeFiles/camera_model.dir/build.make:90: VINS-Mono/camera_model/CMakeFiles/camera_model.dir/src/calib/CameraCalibration.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 10%] Building CXX object VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/src/estimator.cpp.o
make[2]: *** [VINS-Mono/camera_model/CMakeFiles/Calibration.dir/build.make:104: VINS-Mono/camera_model/CMakeFiles/Calibration.dir/src/calib/CameraCalibration.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1744: VINS-Mono/camera_model/CMakeFiles/Calibration.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 12%] Building CXX object VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/src/factor/pose_local_parameterization.cpp.o
make[1]: *** [CMakeFiles/Makefile2:1770: VINS-Mono/camera_model/CMakeFiles/camera_model.dir/all] Error 2
[ 13%] Building CXX object VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/src/utility/utility.cpp.o
In file included from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/factor/pose_local_parameterization.cpp:1:
/home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/factor/pose_local_parameterization.h:7:49: error: invalid use of incomplete type ‘class ceres::LocalParameterization’
7 | class PoseLocalParameterization : public ceres::LocalParameterization
| ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/ceres/ceres.h:64,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/factor/pose_local_parameterization.h:4,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/factor/pose_local_parameterization.cpp:1:
/usr/local/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’
56 | class LocalParameterization;
| ^~~~~~~~~~~~~~~~~~~~~
make[2]: *** [VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/build.make:132: VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/src/factor/pose_local_parameterization.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.h:16,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator_node.cpp:11:
/home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/factor/pose_local_parameterization.h:7:49: error: invalid use of incomplete type ‘class ceres::LocalParameterization’
7 | class PoseLocalParameterization : public ceres::LocalParameterization
| ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/ceres/ceres.h:64,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/initial/initial_sfm.h:2,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.h:8,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator_node.cpp:11:
/usr/local/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’
56 | class LocalParameterization;
| ^~~~~~~~~~~~~~~~~~~~~
In file included from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.h:16,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.cpp:1:
/home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/factor/pose_local_parameterization.h:7:49: error: invalid use of incomplete type ‘class ceres::LocalParameterization’
7 | class PoseLocalParameterization : public ceres::LocalParameterization
| ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/ceres/ceres.h:64,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/initial/initial_sfm.h:2,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.h:8,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.cpp:1:
/usr/local/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’
56 | class LocalParameterization;
| ^~~~~~~~~~~~~~~~~~~~~
/home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.cpp: In member function ‘void Estimator::optimization()’:
/home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.cpp:678:94: error: cannot convert ‘PoseLocalParameterization*’ to ‘ceres::LocalParameterization*’ in initialization
678 | ceres::LocalParameterization local_parameterization = new PoseLocalParameterization();
| ^
/home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.cpp:679:82: error: no matching function for call to ‘ceres::Problem::AddParameterBlock(double [7], SIZE_PARAMETERIZATION, ceres::LocalParameterization
&)’
679 | problem.AddParameterBlock(para_Pose[i], SIZE_POSE, local_parameterization);
| ^
In file included from /usr/local/include/ceres/ceres.h:64,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/initial/initial_sfm.h:2,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.h:8,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.cpp:1:
/usr/local/include/ceres/problem.h:261:8: note: candidate: ‘void ceres::Problem::AddParameterBlock(double*, int)’
261 | void AddParameterBlock(double* values, int size);
| ^~~~~~~~~~~~~~~~~
/usr/local/include/ceres/problem.h:261:8: note: candidate expects 2 arguments, 3 provided
/usr/local/include/ceres/problem.h:274:8: note: candidate: ‘void ceres::Problem::AddParameterBlock(double*, int, ceres::Manifold*)’
274 | void AddParameterBlock(double* values, int size, Manifold* manifold);
| ^~~~~~~~~~~~~~~~~
/usr/local/include/ceres/problem.h:274:62: note: no known conversion for argument 3 from ‘ceres::LocalParameterization*’ to ‘ceres::Manifold*’
274 | void AddParameterBlock(double* values, int size, Manifold* manifold);
| ~~~~~~~~~~^~~~~~~~
/home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.cpp:684:94: error: cannot convert ‘PoseLocalParameterization*’ to ‘ceres::LocalParameterization*’ in initialization
684 | ceres::LocalParameterization local_parameterization = new PoseLocalParameterization();
| ^
/home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.cpp:685:85: error: no matching function for call to ‘ceres::Problem::AddParameterBlock(double [7], SIZE_PARAMETERIZATION, ceres::LocalParameterization
&)’
685 | problem.AddParameterBlock(para_Ex_Pose[i], SIZE_POSE, local_parameterization);
| ^
In file included from /usr/local/include/ceres/ceres.h:64,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/initial/initial_sfm.h:2,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.h:8,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.cpp:1:
/usr/local/include/ceres/problem.h:261:8: note: candidate: ‘void ceres::Problem::AddParameterBlock(double*, int)’
261 | void AddParameterBlock(double* values, int size);
| ^~~~~~~~~~~~~~~~~
/usr/local/include/ceres/problem.h:261:8: note: candidate expects 2 arguments, 3 provided
/usr/local/include/ceres/problem.h:274:8: note: candidate: ‘void ceres::Problem::AddParameterBlock(double*, int, ceres::Manifold*)’
274 | void AddParameterBlock(double* values, int size, Manifold* manifold);
| ^~~~~~~~~~~~~~~~~
/usr/local/include/ceres/problem.h:274:62: note: no known conversion for argument 3 from ‘ceres::LocalParameterization*’ to ‘ceres::Manifold*’
274 | void AddParameterBlock(double* values, int size, Manifold* manifold);
| ~~~~~~~~~~^~~~~~~~
/home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.cpp:772:94: error: cannot convert ‘PoseLocalParameterization*’ to ‘ceres::LocalParameterization*’ in initialization
772 | ceres::LocalParameterization local_parameterization = new PoseLocalParameterization();
| ^
/home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.cpp:773:79: error: no matching function for call to ‘ceres::Problem::AddParameterBlock(double [7], SIZE_PARAMETERIZATION, ceres::LocalParameterization
&)’
773 | problem.AddParameterBlock(relo_Pose, SIZE_POSE, local_parameterization);
| ^
In file included from /usr/local/include/ceres/ceres.h:64,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/initial/initial_sfm.h:2,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.h:8,
from /home/uzi/catkin_workspace/src/VINS-Mono/vins_estimator/src/estimator.cpp:1:
/usr/local/include/ceres/problem.h:261:8: note: candidate: ‘void ceres::Problem::AddParameterBlock(double*, int)’
261 | void AddParameterBlock(double* values, int size);
| ^~~~~~~~~~~~~~~~~
/usr/local/include/ceres/problem.h:261:8: note: candidate expects 2 arguments, 3 provided
/usr/local/include/ceres/problem.h:274:8: note: candidate: ‘void ceres::Problem::AddParameterBlock(double*, int, ceres::Manifold*)’
274 | void AddParameterBlock(double* values, int size, Manifold* manifold);
| ^~~~~~~~~~~~~~~~~
/usr/local/include/ceres/problem.h:274:62: note: no known conversion for argument 3 from ‘ceres::LocalParameterization*’ to ‘ceres::Manifold*’
274 | void AddParameterBlock(double* values, int size, Manifold* manifold);
| ~~~~~~~~~~^~~~~~~~
make[2]: *** [VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/build.make:76: VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/src/estimator_node.cpp.o] Error 1
make[2]: *** [VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/build.make:104: VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/src/estimator.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2004: VINS-Mono/vins_estimator/CMakeFiles/vins_estimator.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
Invoking "make -j4 -l4" failed

@thuongnct
Copy link

Pull ceres from github https://github.com/ceres-solver/ceres-solver, checkout branch 1.14.x and install as normal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants