colmap / glomap

GLOMAP - Global Structured-from-Motion Revisited
BSD 3-Clause "New" or "Revised" License
1.3k stars 77 forks source link

build failed: /usr/local/include/eigen3/Eigen/CholmodSupport:16:12: fatal error: cholmod.h: No such file or directory #4

Closed zhj296409022 closed 1 month ago

zhj296409022 commented 1 month ago

FAILED: glomap/CMakeFiles/glomap.dir/controllers/option_manager.cc.o /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_GRAPH_DYN_LINK -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_REGEX_DYN_LINK -DCERES_EXPORT_INTERNAL_SYMBOLS -DGFLAGS_IS_A_DLL=0 -DGOOGLE_GLOG_DLL_DECL="" -DGOOGLE_GLOG_DLL_DECL_FOR_UNITTESTS="" -DPOSELIB_DEBUG=0 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -I/app/dependencies/glomap/glomap/.. -I/app/dependencies/glomap/build/_deps/colmap-src/src -I/app/dependencies/glomap/build/_deps/poselib-src -I/app/dependencies/glomap/build/_deps/poselib-build/generated_headers -isystem /usr/local/include/eigen3 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/local/cuda/targets/x86_64-linux/include -O3 -DNDEBUG -std=gnu++17 -fPIC -Wall -Werror -Wno-sign-compare -Wno-unused-variable -fopenmp -MD -MT glomap/CMakeFiles/glomap.dir/controllers/option_manager.cc.o -MF glomap/CMakeFiles/glomap.dir/controllers/option_manager.cc.o.d -o glomap/CMakeFiles/glomap.dir/controllers/option_manager.cc.o -c /app/dependencies/glomap/glomap/controllers/option_manager.cc In file included from /app/dependencies/glomap/glomap/../glomap/math/l1_solver.h:10, from /app/dependencies/glomap/glomap/../glomap/estimators/global_rotation_averaging.h:3, from /app/dependencies/glomap/glomap/../glomap/controllers/global_mapper.h:7, from /app/dependencies/glomap/glomap/controllers/option_manager.cc:3: /usr/local/include/eigen3/Eigen/CholmodSupport:16:12: fatal error: cholmod.h: No such file or directory 16 | #include | ^~~

compilation terminated. [274/278] Building CXX object _deps/colmap-build/src/colmap/ui/CMakeFiles/colmap_ui.dir/model_viewer_widget.cc.o ninja: build stopped: subcommand failed.

vidit98 commented 1 month ago

Experiencing same problem

lambdald commented 1 month ago

First, you need to ensure that you have installed SuiteSparse, and then specify the corresponding path in the cmake command.

# install suitesparse
sudo apt-get install libsuitesparse-dev
# build glomap
cmake .. -GNinja \
-DSuiteSparse_CHOLMOD_INCLUDE_DIR=/usr/include/suitesparse \
-DSuiteSparse_CHOLMOD_LIBRARY=/usr/lib/x86_64-linux-gnu/libcholmod.so
zhj296409022 commented 1 month ago

First, you need to ensure that you have installed SuiteSparse, and then specify the corresponding path in the cmake command.

# install suitesparse
sudo apt-get install libsuitesparse-dev
# build glomap
cmake .. -GNinja \
-DSuiteSparse_CHOLMOD_INCLUDE_DIR=/usr/include/suitesparse \
-DSuiteSparse_CHOLMOD_LIBRARY=/usr/lib/x86_64-linux-gnu/libcholmod.so

thanks! it works!

ioir123ju commented 1 month ago

Why is this not mentioned in the README? I encountered the same issue.

aapatni commented 1 month ago

I tried making a pull request but was denied permission on pushing the branch. Attached is the patch file in case someone can make the change!

changes.patch

eyildiz-ugoe commented 1 month ago

faced the same issue, wasted minutes digging this. could you just put this in your readme so that no everyone suffers from this?

eduardohenriquearnold commented 1 month ago

I believe this fix is no longer working after #45 has been merged. I believe the variable is being overwritten in FindDependencies.cmake.