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 Ubuntu 18.04 #78

Open
cumtchenchang opened this issue May 9, 2019 · 1 comment
Open

build error on Ubuntu 18.04 #78

cumtchenchang opened this issue May 9, 2019 · 1 comment

Comments

@cumtchenchang
Copy link

Thank you for your work. I encounted this this error when building this project.
canning dependencies of target okvis_multisensor_processing
[ 90%] Building CXX object okvis_multisensor_processing/CMakeFiles/okvis_multisensor_processing.dir/src/ImuFrameSynchronizer.cpp.o
[ 92%] Building CXX object okvis_multisensor_processing/CMakeFiles/okvis_multisensor_processing.dir/src/VioVisualizer.cpp.o
[ 93%] Building CXX object okvis_multisensor_processing/CMakeFiles/okvis_multisensor_processing.dir/src/ThreadedKFVio.cpp.o
[ 95%] Building CXX object okvis_multisensor_processing/CMakeFiles/okvis_multisensor_processing.dir/src/FrameSynchronizer.cpp.o
[ 96%] Linking CXX static library libokvis_multisensor_processing.a
[ 96%] Built target okvis_multisensor_processing
Scanning dependencies of target okvis_app_synchronous
[ 98%] Building CXX object CMakeFiles/okvis_app_synchronous.dir/okvis_apps/src/okvis_app_synchronous.cpp.o
[100%] Linking CXX executable okvis_app_synchronous
okvis_ceres/libokvis_ceres.a(Map.cpp.o): In function okvis::ceres::Map::setParameterization(unsigned long, ceres::LocalParameterization*)': Map.cpp:(.text+0x32a): undefined reference to ceres::Problem::SetParameterization(double*, ceres::LocalParameterization*)'
okvis_ceres/libokvis_ceres.a(Map.cpp.o): In function okvis::ceres::Map::Map()': Map.cpp:(.text+0xa94): undefined reference to ceres::Solver::Summary::Summary()'
Map.cpp:(.text+0xcd5): undefined reference to ceres::Problem::Problem(ceres::Problem::Options const&)' Map.cpp:(.text+0xd56): undefined reference to ceres::Problem::~Problem()'
Map.cpp:(.text+0xd90): undefined reference to ceres::LocalParameterization::~LocalParameterization()' Map.cpp:(.text+0xda7): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
Map.cpp:(.text+0xdc5): undefined reference to ceres::LocalParameterization::~LocalParameterization()' Map.cpp:(.text+0xde3): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
Map.cpp:(.text+0xe01): undefined reference to ceres::LocalParameterization::~LocalParameterization()' okvis_ceres/libokvis_ceres.a(Map.cpp.o): In function okvis::ceres::Map::setParameterBlockConstant(unsigned long)':
Map.cpp:(.text+0x1032): undefined reference to ceres::Problem::SetParameterBlockConstant(double*)' okvis_ceres/libokvis_ceres.a(Map.cpp.o): In function okvis::ceres::Map::setParameterBlockVariable(unsigned long)':
Map.cpp:(.text+0x1132): undefined reference to ceres::Problem::SetParameterBlockVariable(double*)' okvis_ceres/libokvis_ceres.a(Map.cpp.o): In function okvis::ceres::Map::removeResidualBlock(ceres::internal::ResidualBlock*)':
Map.cpp:(.text+0x369c): undefined reference to ceres::Problem::RemoveResidualBlock(ceres::internal::ResidualBlock*)' okvis_ceres/libokvis_ceres.a(Map.cpp.o): In function okvis::ceres::Map::removeParameterBlock(unsigned long)':
Map.cpp:(.text+0x3ae3): undefined reference to ceres::Problem::RemoveParameterBlock(double*)' okvis_ceres/libokvis_ceres.a(Map.cpp.o): In function okvis::ceres::Map::addParameterBlock(std::shared_ptrokvis::ceres::ParameterBlock, int, int)':
Map.cpp:(.text+0x3db2): undefined reference to ceres::Problem::AddParameterBlock(double*, int, ceres::LocalParameterization*)' Map.cpp:(.text+0x3e5d): undefined reference to ceres::Problem::AddParameterBlock(double*, int)'
okvis_ceres/libokvis_ceres.a(Map.cpp.o): In function okvis::ceres::Map::addResidualBlock(std::shared_ptr<ceres::CostFunction>, ceres::LossFunction*, std::vector<std::shared_ptr<okvis::ceres::ParameterBlock>, std::allocator<std::shared_ptr<okvis::ceres::ParameterBlock> > >&)': Map.cpp:(.text+0x4073): undefined reference to ceres::Problem::AddResidualBlock(ceres::CostFunction*, ceres::LossFunction*, std::vector<double*, std::allocator<double*> > const&)'
okvis_ceres/libokvis_ceres.a(Map.cpp.o): In function std::_Sp_counted_ptr<ceres::Problem*, (__gnu_cxx::_Lock_policy)2>::_M_dispose()': Map.cpp:(.text._ZNSt15_Sp_counted_ptrIPN5ceres7ProblemELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt15_Sp_counted_ptrIPN5ceres7ProblemELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0xe): undefined reference to ceres::Problem::~Problem()'
okvis_ceres/libokvis_ceres.a(HomogeneousPointLocalParameterization.cpp.o): In function okvis::ceres::HomogeneousPointLocalParameterization::~HomogeneousPointLocalParameterization()': HomogeneousPointLocalParameterization.cpp:(.text._ZN5okvis5ceres37HomogeneousPointLocalParameterizationD2Ev[_ZN5okvis5ceres37HomogeneousPointLocalParameterizationD5Ev]+0xf): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
okvis_ceres/libokvis_ceres.a(HomogeneousPointLocalParameterization.cpp.o): In function non-virtual thunk to okvis::ceres::HomogeneousPointLocalParameterization::~HomogeneousPointLocalParameterization()': HomogeneousPointLocalParameterization.cpp:(.text._ZN5okvis5ceres37HomogeneousPointLocalParameterizationD2Ev[_ZN5okvis5ceres37HomogeneousPointLocalParameterizationD5Ev]+0x33): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
okvis_ceres/libokvis_ceres.a(HomogeneousPointLocalParameterization.cpp.o): In function okvis::ceres::HomogeneousPointLocalParameterization::~HomogeneousPointLocalParameterization()': HomogeneousPointLocalParameterization.cpp:(.text._ZN5okvis5ceres37HomogeneousPointLocalParameterizationD0Ev[_ZN5okvis5ceres37HomogeneousPointLocalParameterizationD5Ev]+0x13): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
okvis_ceres/libokvis_ceres.a(HomogeneousPointLocalParameterization.cpp.o): In function non-virtual thunk to okvis::ceres::HomogeneousPointLocalParameterization::~HomogeneousPointLocalParameterization()': HomogeneousPointLocalParameterization.cpp:(.text._ZN5okvis5ceres37HomogeneousPointLocalParameterizationD0Ev[_ZN5okvis5ceres37HomogeneousPointLocalParameterizationD5Ev]+0x38): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
okvis_ceres/libokvis_ceres.a(HomogeneousPointLocalParameterization.cpp.o):(.data.rel.ro._ZTIN5okvis5ceres37HomogeneousPointLocalParameterizationE[_ZTIN5okvis5ceres37HomogeneousPointLocalParameterizationE]+0x18): undefined reference to typeinfo for ceres::LocalParameterization' okvis_ceres/libokvis_ceres.a(HomogeneousPointLocalParameterization.cpp.o):(.data.rel.ro._ZTVN5okvis5ceres37HomogeneousPointLocalParameterizationE[_ZTVN5okvis5ceres37HomogeneousPointLocalParameterizationE]+0x30): undefined reference to ceres::LocalParameterization::MultiplyByJacobian(double const*, int, double const*, double*) const'
okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o): In function okvis::ceres::PoseLocalParameterization2d::~PoseLocalParameterization2d()': PoseLocalParameterization.cpp:(.text._ZN5okvis5ceres27PoseLocalParameterization2dD2Ev[_ZN5okvis5ceres27PoseLocalParameterization2dD5Ev]+0xf): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o): In function non-virtual thunk to okvis::ceres::PoseLocalParameterization2d::~PoseLocalParameterization2d()': PoseLocalParameterization.cpp:(.text._ZN5okvis5ceres27PoseLocalParameterization2dD2Ev[_ZN5okvis5ceres27PoseLocalParameterization2dD5Ev]+0x33): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o): In function okvis::ceres::PoseLocalParameterization2d::~PoseLocalParameterization2d()': PoseLocalParameterization.cpp:(.text._ZN5okvis5ceres27PoseLocalParameterization2dD0Ev[_ZN5okvis5ceres27PoseLocalParameterization2dD5Ev]+0x13): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o): In function non-virtual thunk to okvis::ceres::PoseLocalParameterization2d::~PoseLocalParameterization2d()': PoseLocalParameterization.cpp:(.text._ZN5okvis5ceres27PoseLocalParameterization2dD0Ev[_ZN5okvis5ceres27PoseLocalParameterization2dD5Ev]+0x38): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o): In function okvis::ceres::PoseLocalParameterization4d::~PoseLocalParameterization4d()': PoseLocalParameterization.cpp:(.text._ZN5okvis5ceres27PoseLocalParameterization4dD2Ev[_ZN5okvis5ceres27PoseLocalParameterization4dD5Ev]+0xf): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o):PoseLocalParameterization.cpp:(.text._ZN5okvis5ceres27PoseLocalParameterization4dD2Ev[_ZN5okvis5ceres27PoseLocalParameterization4dD5Ev]+0x33): more undefined references to ceres::LocalParameterization::~LocalParameterization()' follow okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o):(.data.rel.ro._ZTIN5okvis5ceres25PoseLocalParameterizationE[_ZTIN5okvis5ceres25PoseLocalParameterizationE]+0x18): undefined reference to typeinfo for ceres::LocalParameterization'
okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o):(.data.rel.ro._ZTIN5okvis5ceres27PoseLocalParameterization3dE[_ZTIN5okvis5ceres27PoseLocalParameterization3dE]+0x18): undefined reference to typeinfo for ceres::LocalParameterization' okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o):(.data.rel.ro._ZTIN5okvis5ceres27PoseLocalParameterization4dE[_ZTIN5okvis5ceres27PoseLocalParameterization4dE]+0x18): undefined reference to typeinfo for ceres::LocalParameterization'
okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o):(.data.rel.ro._ZTIN5okvis5ceres27PoseLocalParameterization2dE[_ZTIN5okvis5ceres27PoseLocalParameterization2dE]+0x18): undefined reference to typeinfo for ceres::LocalParameterization' okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o):(.data.rel.ro._ZTVN5okvis5ceres25PoseLocalParameterizationE[_ZTVN5okvis5ceres25PoseLocalParameterizationE]+0x30): undefined reference to ceres::LocalParameterization::MultiplyByJacobian(double const*, int, double const*, double*) const'
okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o):(.data.rel.ro._ZTVN5okvis5ceres27PoseLocalParameterization3dE[_ZTVN5okvis5ceres27PoseLocalParameterization3dE]+0x30): undefined reference to ceres::LocalParameterization::MultiplyByJacobian(double const*, int, double const*, double*) const' okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o):(.data.rel.ro._ZTVN5okvis5ceres27PoseLocalParameterization4dE[_ZTVN5okvis5ceres27PoseLocalParameterization4dE]+0x30): undefined reference to ceres::LocalParameterization::MultiplyByJacobian(double const*, int, double const*, double*) const'
okvis_ceres/libokvis_ceres.a(PoseLocalParameterization.cpp.o):(.data.rel.ro._ZTVN5okvis5ceres27PoseLocalParameterization2dE[_ZTVN5okvis5ceres27PoseLocalParameterization2dE]+0x30): undefined reference to ceres::LocalParameterization::MultiplyByJacobian(double const*, int, double const*, double*) const' okvis_ceres/libokvis_ceres.a(Estimator.cpp.o): In function okvis::Estimator::Estimator(std::shared_ptrokvis::ceres::Map)':
Estimator.cpp:(.text+0x21c1): undefined reference to vtable for ceres::CauchyLoss' Estimator.cpp:(.text+0x222f): undefined reference to vtable for ceres::HuberLoss'
okvis_ceres/libokvis_ceres.a(Estimator.cpp.o): In function okvis::Estimator::optimize(unsigned long, unsigned long, bool)': Estimator.cpp:(.text+0x2cff): undefined reference to ceres::Solve(ceres::Solver::Options const&, ceres::Problem*, ceres::Solver::Summary*)'
Estimator.cpp:(.text+0x2f34): undefined reference to ceres::Solver::Summary::FullReport[abi:cxx11]() const' okvis_ceres/libokvis_ceres.a(Estimator.cpp.o): In function okvis::Estimator::Estimator()':
Estimator.cpp:(.text+0x3498): undefined reference to vtable for ceres::CauchyLoss' Estimator.cpp:(.text+0x3506): undefined reference to vtable for ceres::HuberLoss'
okvis_ceres/libokvis_ceres.a(Estimator.cpp.o): In function okvis::ceres::Map::~Map()': Estimator.cpp:(.text._ZN5okvis5ceres3MapD2Ev[_ZN5okvis5ceres3MapD5Ev]+0x27): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
Estimator.cpp:(.text._ZN5okvis5ceres3MapD2Ev[_ZN5okvis5ceres3MapD5Ev]+0x45): undefined reference to ceres::LocalParameterization::~LocalParameterization()' Estimator.cpp:(.text._ZN5okvis5ceres3MapD2Ev[_ZN5okvis5ceres3MapD5Ev]+0x63): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
Estimator.cpp:(.text._ZN5okvis5ceres3MapD2Ev[_ZN5okvis5ceres3MapD5Ev]+0x81): undefined reference to ceres::LocalParameterization::~LocalParameterization()' Estimator.cpp:(.text._ZN5okvis5ceres3MapD2Ev[_ZN5okvis5ceres3MapD5Ev]+0x9f): undefined reference to ceres::LocalParameterization::~LocalParameterization()'
okvis_ceres/libokvis_ceres.a(LocalParamizationAdditionalInterfaces.cpp.o): In function okvis::ceres::LocalParamizationAdditionalInterfaces::verify(double const*, double) const': LocalParamizationAdditionalInterfaces.cpp:(.text+0x34): undefined reference to typeinfo for ceres::LocalParameterization'
collect2: error: ld returned 1 exit status
CMakeFiles/okvis_app_synchronous.dir/build.make:128: recipe for target 'okvis_app_synchronous' failed
make[2]: *** [okvis_app_synchronous] Error 1
CMakeFiles/Makefile2:152: recipe for target 'CMakeFiles/okvis_app_synchronous.dir/all' failed
make[1]: *** [CMakeFiles/okvis_app_synchronous.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

@maryanpetruk
Copy link

I have the same issue, with ceres.
What can be the solution to it?

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