-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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 openMVG on ubuntu #1455
Comments
Seems like you are using an external Ceres configured with SuiteSparse and cholmod. It seems that on your machine the ceres import does not bring ceres dependency transitively (cholmod). |
Hello sorry for late reply |
Hello, i triend to install openMVG on Ubuntu 16.04 and follow the instruction in this https://github.com/openMVG/openMVG. But, i found an error |
@joshuajano Can you try the develop branch? |
Dear Mr. Pierre, thank you so much for your respond, i will try it |
OpenMVG should compile without issues on Ubuntu, see the docker on develop branch: |
Thank you so much for your help, after i ran this command "ctest --output-on-failure -j". 100% tests passed, 0 tests failed out of 80 Total Test time (real) = 21.18 sec |
Great you are ready to go! 🎉 |
Hello, I tried to build openMVG based on the instructions
but it has error when build openMVG_sample_multiview_robustEssential_spherical, is there anyone have this problem and able to solve it?? Thank you
This is the following error from the terminal
[ 71%] Linking CXX executable ../../Linux-x86_64-RELEASE/openMVG_sample_multiview_robustEssential_spherical
/usr/local/lib/libceres.a(reorder_program.cc.o): In function
ceres::internal::MaybeReorderSchurComplementColumnsUsingSuiteSparse(ceres::OrderedGroups<double*> const&, ceres::internal::Program*)': reorder_program.cc:(.text+0x1ba): undefined reference to
cholmod_free_sparse'/usr/local/lib/libceres.a(reorder_program.cc.o): In function
ceres::internal::(anonymous namespace)::OrderingForSparseNormalCholeskyUsingSuiteSparse(ceres::internal::TripletSparseMatrix const&, std::vector<ceres::internal::ParameterBlock*, std::allocator<ceres::internal::ParameterBlock*> > const&, ceres::OrderedGroups<double*> const&, int*) [clone .constprop.182]': reorder_program.cc:(.text+0x4c6): undefined reference to
cholmod_free_sparse'/usr/local/lib/libceres.a(schur_complement_solver.cc.o): In function
ceres::internal::SparseSchurComplementSolver::~SparseSchurComplementSolver()': schur_complement_solver.cc:(.text+0x2029): undefined reference to
cholmod_free_factor'/usr/local/lib/libceres.a(schur_complement_solver.cc.o): In function
ceres::internal::SparseSchurComplementSolver::SolveReducedLinearSystemUsingSuiteSparse(ceres::internal::LinearSolver::PerSolveOptions const&, double*)': schur_complement_solver.cc:(.text+0x3330): undefined reference to
cholmod_free_sparse'schur_complement_solver.cc:(.text+0x337d): undefined reference to
cholmod_free_dense' schur_complement_solver.cc:(.text+0x33c3): undefined reference to
cholmod_free_dense'schur_complement_solver.cc:(.text+0x3458): undefined reference to
cholmod_free_sparse' /usr/local/lib/libceres.a(sparse_normal_cholesky_solver.cc.o): In function
ceres::internal::SparseNormalCholeskySolver::FreeFactorization()':sparse_normal_cholesky_solver.cc:(.text+0x33): undefined reference to
cholmod_free_factor' /usr/local/lib/libceres.a(sparse_normal_cholesky_solver.cc.o): In function
ceres::internal::SparseNormalCholeskySolver::SolveImplUsingSuiteSparse(ceres::internal::CompressedRowSparseMatrix*, ceres::internal::LinearSolver::PerSolveOptions const&, double*)':sparse_normal_cholesky_solver.cc:(.text+0x4ce): undefined reference to
cholmod_free_dense' sparse_normal_cholesky_solver.cc:(.text+0x500): undefined reference to
cholmod_free_dense'sparse_normal_cholesky_solver.cc:(.text+0x5ca): undefined reference to
cholmod_free_factor' /usr/local/lib/libceres.a(sparse_normal_cholesky_solver.cc.o): In function
ceres::internal::SparseNormalCholeskySolver::~SparseNormalCholeskySolver()':sparse_normal_cholesky_solver.cc:(.text+0xed9): undefined reference to
cholmod_free_factor' /usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::CreateSparseMatrix(ceres::internal::TripletSparseMatrix*)':suitesparse.cc:(.text+0xd1): undefined reference to
cholmod_triplet_to_sparse' /usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::CreateSparseMatrixTranspose(ceres::internal::TripletSparseMatrix*)':suitesparse.cc:(.text+0x1f1): undefined reference to
cholmod_triplet_to_sparse' /usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::AnalyzeCholesky(cholmod_sparse_struct*, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)':suitesparse.cc:(.text+0x3c0): undefined reference to
cholmod_analyze' suitesparse.cc:(.text+0x3e8): undefined reference to
cholmod_print_common'/usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::AnalyzeCholeskyWithNaturalOrdering(cholmod_sparse_struct*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)': suitesparse.cc:(.text+0x583): undefined reference to
cholmod_analyze'suitesparse.cc:(.text+0x5ab): undefined reference to
cholmod_print_common' /usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::BlockAMDOrdering(cholmod_sparse_struct const, std::vector<int, std::allocator > const&, std::vector<int, std::allocator > const&, std::vector<int, std::allocator >)':suitesparse.cc:(.text+0x896): undefined reference to
cholmod_amd' /usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::Cholesky(cholmod_sparse_struct, cholmod_factor_struct*, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)':suitesparse.cc:(.text+0x9c5): undefined reference to
cholmod_factorize' /usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::ApproximateMinimumDegreeOrdering(cholmod_sparse_struct, int*)':suitesparse.cc:(.text+0xcc2): undefined reference to
cholmod_amd' /usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::ConstrainedApproximateMinimumDegreeOrdering(cholmod_sparse_struct*, int*, int*)':suitesparse.cc:(.text+0xce5): undefined reference to
cholmod_camd' /usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::CreateDenseVector(double const*, int, int)':suitesparse.cc:(.text+0xd3d): undefined reference to
cholmod_zeros' /usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::AnalyzeCholeskyWithUserOrdering(cholmod_sparse_struct*, std::vector<int, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)':suitesparse.cc:(.text+0xe5c): undefined reference to
cholmod_analyze_p' suitesparse.cc:(.text+0xe84): undefined reference to
cholmod_print_common'/usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::BlockAnalyzeCholesky(cholmod_sparse_struct*, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)': suitesparse.cc:(.text+0x10db): undefined reference to
cholmod_analyze_p'suitesparse.cc:(.text+0x1103): undefined reference to
cholmod_print_common' /usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::SuiteSparse()':suitesparse.cc:(.text+0x1): undefined reference to
cholmod_start' /usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::~SuiteSparse()':suitesparse.cc:(.text+0x11): undefined reference to
cholmod_finish' /usr/local/lib/libceres.a(suitesparse.cc.o): In function
ceres::internal::SuiteSparse::Solve(cholmod_factor_struct, cholmod_dense_struct*, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)':suitesparse.cc:(.text+0xc80): undefined reference to
cholmod_solve' /usr/local/lib/libceres.a(visibility_based_preconditioner.cc.o): In function
ceres::internal::VisibilityBasedPreconditioner::RightMultiply(double const, double*) const':visibility_based_preconditioner.cc:(.text+0x14f): undefined reference to
cholmod_free_dense' /usr/local/lib/libceres.a(visibility_based_preconditioner.cc.o): In function
ceres::internal::VisibilityBasedPreconditioner::Factorize()':visibility_based_preconditioner.cc:(.text+0xbb6): undefined reference to
cholmod_free_sparse' /usr/local/lib/libceres.a(visibility_based_preconditioner.cc.o): In function
ceres::internal::VisibilityBasedPreconditioner::~VisibilityBasedPreconditioner()':visibility_based_preconditioner.cc:(.text+0x128e): undefined reference to
cholmod_free_factor' visibility_based_preconditioner.cc:(.text+0x12b7): undefined reference to
cholmod_free_dense'collect2: error: ld returned 1 exit status
openMVG_Samples/multiview_robust_essential_spherical/CMakeFiles/openMVG_sample_multiview_robustEssential_spherical.dir/build.make:127: recipe for target 'Linux-x86_64-RELEASE/openMVG_sample_multiview_robustEssential_spherical' failed
make[2]: *** [Linux-x86_64-RELEASE/openMVG_sample_multiview_robustEssential_spherical] Error 1
CMakeFiles/Makefile2:2793: recipe for target 'openMVG_Samples/multiview_robust_essential_spherical/CMakeFiles/openMVG_sample_multiview_robustEssential_spherical.dir/all' failed
make[1]: *** [openMVG_Samples/multiview_robust_essential_spherical/CMakeFiles/openMVG_sample_multiview_robustEssential_spherical.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
The text was updated successfully, but these errors were encountered: