-
Notifications
You must be signed in to change notification settings - Fork 139
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
Update to COLMAP 3.9 #138
base: main
Are you sure you want to change the base?
Update to COLMAP 3.9 #138
Conversation
|
Thanks for looking into it. How did you try to build it? Cmake or pip? The Timer should still be in colmap https://github.com/colmap/colmap/blob/main/src/colmap/util/timer.cc#L80 |
When using both CMake and pip, I encounter this issue. If I disable TESTS_ENABLED, the compilation can pass, but it seems that no content is compiled under pixsfm._pixsfm directory. |
I used something like:
It worked for me but I have problems with multiple versions of some libs (gomp). Here is my Dockerfile for reference: https://github.com/Dawars/docker_files/blob/main/Dockerfile.colmap#L103 |
how is it going? Colmap 3.10 is out @Dawars |
Updating to work with colmap 3.9+ according to #110
I managed to compile the code but it still doesn't link.
Todo:
I had to add a print function for CameraModelId because apparently enums cannot be easily printed:
std::ostream& operator<<(std::ostream& os, const colmap::CameraModelId& id)
Probably there is a really easy fix for this though.
Details
Linking CXX shared module ../../lib.linux-x86_64-3.10/pixsfm/_pixsfm.cpython-310-x86_64-linux-gnu.so
/usr/bin/ld: libpixsfm.a(graph.cc.o): in function
operator<<(std::ostream&, colmap::CameraModelId const&)': graph.cc:(.text+0x11c0): multiple definition of
operator<<(std::ostream&, colmap::CameraModelId const&)'; CMakeFiles/_pixsfm.dir/_pixsfm/bindings.cc.o (symbol from plugin):(.text+0x0): first defined here/usr/bin/ld: libpixsfm.a(featurepatch.cc.o): in function
operator<<(std::ostream&, colmap::CameraModelId const&)': featurepatch.cc:(.text+0x760): multiple definition of
operator<<(std::ostream&, colmap::CameraModelId const&)'; CMakeFiles/_pixsfm.dir/_pixsfm/bindings.cc.o (symbol from plugin):(.text+0x0): first defined here/usr/bin/ld: libpixsfm.a(featuremap.cc.o): in function
operator<<(std::ostream&, colmap::CameraModelId const&)': featuremap.cc:(.text+0x8a0): multiple definition of
operator<<(std::ostream&, colmap::CameraModelId const&)'; CMakeFiles/_pixsfm.dir/_pixsfm/bindings.cc.o (symbol from plugin):(.text+0x0): first defined here/usr/bin/ld: libpixsfm.a(featuremanager.cc.o): in function
operator<<(std::ostream&, colmap::CameraModelId const&)': featuremanager.cc:(.text+0xe0): multiple definition of
operator<<(std::ostream&, colmap::CameraModelId const&)'; CMakeFiles/_pixsfm.dir/_pixsfm/bindings.cc.o (symbol from plugin):(.text+0x0): first defined here/usr/bin/ld: libpixsfm.a(featureview.cc.o): in function
operator<<(std::ostream&, colmap::CameraModelId const&)': featureview.cc:(.text+0x690): multiple definition of
operator<<(std::ostream&, colmap::CameraModelId const&)'; CMakeFiles/_pixsfm.dir/_pixsfm/bindings.cc.o (symbol from plugin):(.text+0x0): first defined here/usr/bin/ld: libpixsfm.a(featureset.cc.o): in function
operator<<(std::ostream&, colmap::CameraModelId const&)': featureset.cc:(.text+0xc00): multiple definition of
operator<<(std::ostream&, colmap::CameraModelId const&)'; CMakeFiles/_pixsfm.dir/_pixsfm/bindings.cc.o (symbol from plugin):(.text+0x0): first defined here/usr/bin/ld: libpixsfm.a(references.cc.o): in function
operator<<(std::ostream&, colmap::CameraModelId const&)': references.cc:(.text+0x340): multiple definition of
operator<<(std::ostream&, colmap::CameraModelId const&)'; CMakeFiles/_pixsfm.dir/_pixsfm/bindings.cc.o (symbol from plugin):(.text+0x0): first defined here/usr/bin/ld: libpixsfm.a(keypoint_adjustment_options.cc.o): in function
operator<<(std::ostream&, colmap::CameraModelId const&)': keypoint_adjustment_options.cc:(.text+0x0): multiple definition of
operator<<(std::ostream&, colmap::CameraModelId const&)'; CMakeFiles/_pixsfm.dir/_pixsfm/bindings.cc.o (symbol from plugin):(.text+0x0): first defined here/usr/bin/ld: libpixsfm.a(bundle_adjustment_options.cc.o): in function
operator<<(std::ostream&, colmap::CameraModelId const&)': bundle_adjustment_options.cc:(.text+0x0): multiple definition of
operator<<(std::ostream&, colmap::CameraModelId const&)'; CMakeFiles/_pixsfm.dir/_pixsfm/bindings.cc.o (symbol from plugin):(.text+0x0): first defined hereI don't want to spend more time on figuring these out in the near future but I'm happy to address any reviews.