colmap / glomap

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

code run blocked in sparsematrix compute by Eigen::CholmodSupernodalLLT #36

Open bettertime1994 opened 1 month ago

bettertime1994 commented 1 month ago

i compile the glomap success with: cmake .. -GNinja -DCeres_DIR=/home/zr/Thirdparty/ceres-2.2.0/lib/cmake/Ceres/ -DEigen3_DIR=/home/zr/Thirdparty/eigen-3.4.0/share/eigen3/cmake -DCMAKE_CUDA_ARCHITECTURES="75" -DSuiteSparse_CHOLMOD_LIBRARY="/usr/lib/x86_64-linux-gnu/libcholmod.so" -DSuiteSparse_CHOLMOD_INCLUDE_DIR="/usr/include/suitesparse"

and then i download south-building dataset as readme and run: glomap mapper --database_path ./database.db --image_path ./images/ --output_path ./glomap_sparse

and it block in https://github.com/colmap/glomap/blob/6c05589e6a2d5374c930415419010c47c82ba933/glomap/math/l1_solver.h#L37 it seems blocked in sparsematrix compute by Eigen::CholmodSupernodalLLT what can i do to solve this problem

i add debug code and the whole log as : image

image

lpanaf commented 1 month ago

Hi, I am not very sure what happened, but one option is to use Eigen::SimplicialLDLT solver instead. Note that #include<Eigen/[SparseCholesky] is required

RickyCHN commented 2 weeks ago

@bettertime1994 Hello, have you found a solution to this problem? I'm encountering the same issue on Ubuntu 22.04 with Eigen 3.4 and g++ 11. Even after trying the Eigen::SimplicialLDLT solver, the problem still persists.