-
Notifications
You must be signed in to change notification settings - Fork 133
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 failed: pixsfm/CMakeFiles/pypixsfm.dir/keypoint_adjustment/bindings.cc.o #9
Comments
Thank you for reporting this issue. We pushed a fix to branch The problem was related to gcc Bug #57712, which seems to be fixed in gcc >7.1. When compiling the code on gcc 4.8.5, I also ran into gcc Bug #55914 which was solved in gcc >= 4.9. The proposed changes should allow to compile the repo with gcc 4.8.5, although note that latest COLMAP requires gcc 4.9 or above. |
Hi @Phil26AT Thanks for your great work! |
@wolf943134497 Can you please try out the branch |
@skydes Thanks for your quick reply. I try out the branch fix-gcc-4-8-5, but I meet the glog problem, so I use the main branch, and just change the pixsfm/base/src/parallel_optimizer.h file as the branch fix-gcc-4-8-5 did. error log:
ERROR: Command errored out with exit status 1: /home/rui/anaconda3/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/setup.py'"'"'; file='"'"'/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' develop --no-deps Check the logs for full command output. Thanks |
Hi @wolf943134497, there seems to be an error with SIMD vectorization. For a quick fix you can try to install the library with As to why these compile errors occur, do you know if your CPU supports AVX? On Linux you can check this with |
HI @Phil26AT , I try out the branch fix-gcc-4-8-5 and run pip install -e . ,but found errors: [ 93%] Built target pypixsfm |
Closing this for now. |
Modify line10 in CMakelist.txt ‘set(CMAKE_CXX_STANDARD 14)’,change 11 to 14. This works for me. |
Building CXX object pixsfm/CMakeFiles/pypixsfm.dir/keypoint_adjustment/bindings.cc.o
In file included from /work/pixel-perfect-sfm/pixsfm/keypoint_adjustment/src/featuremetric_keypoint_optimizer.h:8:0,
from /work/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:8:
/work/pixel-perfect-sfm/pixsfm/base/src/parallel_optimizer.h:90:6: error: prototype for ‘std::unordered_map<long unsigned int, decltype (static_cast<Optimizer*>(nullptr)->.RunSubset<Ns ...>(((pixsfm::ParallelOptimizer<Optimizer, idx_t>)this)->pixsfm::ParallelOptimizer<Optimizer, idx_t>::dummy, pixsfm::ParallelOptimizer::RunParallel::parameters ...))> pixsfm::ParallelOptimizer<Optimizer, idx_t>::RunParallel(std::vector, Param& ...)’ does not match any in class ‘pixsfm::ParallelOptimizer<Optimizer, idx_t>’
auto ParallelOptimizer<Optimizer, idx_t>::RunParallel(
^
/work/pixel-perfect-sfm/pixsfm/base/src/parallel_optimizer.h:78:8: error: candidate is: template<class Optimizer, class idx_t> template<int ...Ns, class ... Param> std::unordered_map<long unsigned int, decltype (static_cast<Optimizer>(nullptr)->.RunSubset<Ns ...>(((pixsfm::ParallelOptimizer<Optimizer, idx_t>*)this)->pixsfm::ParallelOptimizer<Optimizer, idx_t>::dummy, pixsfm::ParallelOptimizer::RunParallel::parameters ...))> pixsfm::ParallelOptimizer<Optimizer, idx_t>::RunParallel(std::vector, Param& ...)
auto RunParallel(std::vector problem_labels, Param&... parameters)
^
pixsfm/CMakeFiles/pypixsfm.dir/build.make:134: recipe for target 'pixsfm/CMakeFiles/pypixsfm.dir/keypoint_adjustment/bindings.cc.o' failed
gcc -v
gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu8~16.04.1)
The text was updated successfully, but these errors were encountered: