Skip to content
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

Question about my install #70

Open
wangmiaowei opened this issue Jun 16, 2021 · 1 comment
Open

Question about my install #70

wangmiaowei opened this issue Jun 16, 2021 · 1 comment

Comments

@wangmiaowei
Copy link

Thanks for your work. However, I cannot build it now. I just input: cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CUDA_FLAGS="-arch=sm_75" .. AND mkae -j badslam Then:
[ 81%] Building CUDA object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/kernel_opt_pose.cu.o
[ 81%] Building CUDA object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/kernel_pcg.cu.o
[ 82%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/kernel_supporting_surfels.cc.o
[ 84%] Building CUDA object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/kernel_supporting_surfels.cu.o
[ 84%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/kernel_surfel_activation.cc.o
[ 84%] Building CUDA object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/kernel_surfel_activation.cu.o
[ 87%] Building CUDA object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/kernel_update_visualization.cu.o
[ 87%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/kernel_verify_count.cc.o
[ 87%] Building CUDA object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/kernel_verify_count.cu.o
[ 87%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/keyframe.cc.o
[ 87%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/licenses.cc.o
[ 89%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/loop_detector.cc.o
[ 89%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/pairwise_frame_tracking.cc.o
[ 90%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/pre_load_thread.cc.o
[ 90%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/pose_graph_optimizer.cc.o
[ 92%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/preprocessing.cc.o
[ 92%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/render_window.cc.o
[ 93%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/undistortion.cc.o
[ 93%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/trajectory_deformation.cc.o
[ 95%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/util.cc.o
[ 95%] Building CXX object applications/badslam/CMakeFiles/badslam_baselib.dir/badslam_baselib_autogen/3YJK5W5UP7/qrc_badslam_resources.cpp.o

[ 96%] Linking CXX static library libbadslam_baselib.a
[ 96%] Built target badslam_baselib
Scanning dependencies of target badslam_autogen
[ 98%] Automatic MOC for target badslam
[ 98%] Built target badslam_autogen
Scanning dependencies of target badslam
[ 98%] Building CXX object applications/badslam/CMakeFiles/badslam.dir/badslam_autogen/mocs_compilation.cpp.o
[100%] Building CXX object applications/badslam/CMakeFiles/badslam.dir/src/badslam/main.cc.o
[100%] Linking CXX executable badslam
/usr/bin/ld: CMakeFiles/badslam.dir/src/badslam/main.cc.o: in function _GLOBAL__sub_I_main.cc': /usr/local/include/boost/system/error_code.hpp:222: undefined reference to boost::system::generic_category()'
/usr/bin/ld: /usr/local/include/boost/system/error_code.hpp:223: undefined reference to boost::system::generic_category()' /usr/bin/ld: /usr/local/include/boost/system/error_code.hpp:224: undefined reference to boost::system::system_category()'
/usr/bin/ld: libbadslam_baselib.a(bad_slam.cc.o): in function _GLOBAL__sub_I_bad_slam.cc': /usr/local/include/boost/system/error_code.hpp:222: undefined reference to boost::system::generic_category()'
/usr/bin/ld: /usr/local/include/boost/system/error_code.hpp:223: undefined reference to boost::system::generic_category()' /usr/bin/ld: /usr/local/include/boost/system/error_code.hpp:224: undefined reference to boost::system::system_category()'
/usr/bin/ld: libbadslam_baselib.a(gui_main_window.cc.o): in function _GLOBAL__sub_I_gui_main_window.cc': /usr/local/include/boost/system/error_code.hpp:222: undefined reference to boost::system::generic_category()'
/usr/bin/ld: /usr/local/include/boost/system/error_code.hpp:223: undefined reference to boost::system::generic_category()' /usr/bin/ld: /usr/local/include/boost/system/error_code.hpp:224: undefined reference to boost::system::system_category()'
/usr/bin/ld: libbadslam_baselib.a(gui_settings_window.cc.o): in function _GLOBAL__sub_I_gui_settings_window.cc': /usr/local/include/boost/system/error_code.hpp:222: undefined reference to boost::system::generic_category()'
/usr/bin/ld: libbadslam_baselib.a(gui_settings_window.cc.o): in function __static_initialization_and_destruction_0': /usr/local/include/boost/system/error_code.hpp:223: undefined reference to boost::system::generic_category()'
/usr/bin/ld: /usr/local/include/boost/system/error_code.hpp:224: undefined reference to boost::system::system_category()' /usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFReadRGBAStrip@LIBTIFF_4.0'
/usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFReadDirectory@LIBTIFF_4.0' /usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFWriteEncodedStrip@LIBTIFF_4.0'
/usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFIsTiled@LIBTIFF_4.0' /usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFWriteScanline@LIBTIFF_4.0'
/usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to _TIFFfree@LIBTIFF_4.0' /usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFGetField@LIBTIFF_4.0'
/usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFNumberOfStrips@LIBTIFF_4.0' /usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFScanlineSize@LIBTIFF_4.0'
/usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFWriteDirectory@LIBTIFF_4.0' /usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFReadEncodedTile@LIBTIFF_4.0'
/usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFReadRGBATile@LIBTIFF_4.0' /usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFClose@LIBTIFF_4.0'
/usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFClientOpen@LIBTIFF_4.0' /usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFRGBAImageOK@LIBTIFF_4.0'
/usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFOpen@LIBTIFF_4.0' /usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFReadEncodedStrip@LIBTIFF_4.0'
/usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFSetField@LIBTIFF_4.0' /usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFSetWarningHandler@LIBTIFF_4.0'
/usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to TIFFSetErrorHandler@LIBTIFF_4.0' /usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to _TIFFmalloc@LIBTIFF_4.0'
/usr/bin/ld: /usr/local/lib/libopencv_imgcodecs.so.3.4.5: undefined reference to `TIFFReadScanline@LIBTIFF_4.0'
collect2: error: ld returned 1 exit status
make[3]: *** [applications/badslam/CMakeFiles/badslam.dir/build.make:161: applications/badslam/badslam] Error 1
make[2]: *** [CMakeFiles/Makefile2:801: applications/badslam/CMakeFiles/badslam.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:808: applications/badslam/CMakeFiles/badslam.dir/rule] Error 2
make: *** [Makefile:448: badslam] Error 2

@puzzlepaint
Copy link
Collaborator

  • There are undefined references to boost::system::generic_category() from badslam. Supposedly, it should however link to the boost libraries:
    ${Boost_LIBRARIES}

    Boost (including the system component) should be found here (with REQUIRED specified, so there should be an error if it is not found):
    find_package(Boost COMPONENTS serialization filesystem system REQUIRED)

    Whether this works could be tested by printing the content of the variable after the target_link_libraries(badslam ...) call linked above, for example, by inserting something like message(STATUS "Test: Boost_LIBRARIES is: ${Boost_LIBRARIES}") there.
    It should print something like "Test: Boost_LIBRARIES is: Boost::serialization;Boost::filesystem;Boost::system" somewhere in the CMake output. If this is printed, then there is likely some other issue. For example, if you have two versions of boost on your system, then a possible issue could be that include files from one version are used, but the lib files from the other, which could lead to such undefined references.
  • There are undefined references to libtiff from libopencv_imgcodecs. I would suspect that this is likely an issue with your OpenCV installation. Perhaps it is worth a try to explicitly make badslam link against libtiff to try to work around it, by inserting it here:
    target_link_libraries(badslam PRIVATE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants