OPEN-VINS compile error



  • Hi,

    I'm compiling voxl-open-vins-server.

    I got a clone form git and just noted need to install extra library for libeigen3 and libboost.

    I got library libeigen3 from apt-get install but, I compiled source code and build x64 for libboost.

    when I build code, I found an error as bellow

    /usr/local/lib/libboost_system.so: error adding symbols: File in wrong format
    collect2: error: ld returned 1 exit status
    

    I think this error message relatives with compiler(not x64 , but aarch64) for libboost.

    am I right? If I'm right, could you please let me know how to compile libboost for aarch64 architecture.

    (I already got installed voxl-dependences)

    voxl-cross:~$ ls
    3rd_party       boost_1_77_0         build64       config.json            ipk                run.sh
    CMakeLists.txt  boost_1_77_0.tar.gz  build_x86.sh  install_build_deps.sh  make_package.sh    server
    README.md       build.sh             clean.sh      install_on_voxl.sh     push_to_voxl.bash  service
    voxl-cross:~$ ./clean.sh 
    voxl-cross:~$ ./build.sh
    -- The C compiler identification is GNU 4.9.3
    -- The CXX compiler identification is GNU 4.9.3
    -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc-4.9
    -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc-4.9 -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++-4.9
    -- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++-4.9 -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Boost version: 1.77.0
    -- Setting up BOOST
    --  Includes - /usr/local/include
    --  Library  - /usr/local/lib
    CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
      Imported targets not available for Boost version 107700
    Call Stack (most recent call first):
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
      3rd_party/open_vins/ov_core/CMakeLists.txt:17 (find_package)
    
    
    CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
      Imported targets not available for Boost version 107700
    Call Stack (most recent call first):
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
      3rd_party/open_vins/ov_core/CMakeLists.txt:17 (find_package)
    
    
    CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
      Imported targets not available for Boost version 107700
    Call Stack (most recent call first):
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
      3rd_party/open_vins/ov_core/CMakeLists.txt:17 (find_package)
    
    
    CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
      Imported targets not available for Boost version 107700
    Call Stack (most recent call first):
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
      3rd_party/open_vins/ov_core/CMakeLists.txt:17 (find_package)
    
    
    -- Looking for pthread.h
    -- Looking for pthread.h - found
    -- Looking for pthread_create
    -- Looking for pthread_create - not found
    -- Looking for pthread_create in pthreads
    -- Looking for pthread_create in pthreads - not found
    -- Looking for pthread_create in pthread
    -- Looking for pthread_create in pthread - found
    -- Found Threads: TRUE  
    -- Boost version: 1.77.0
    -- Found the following Boost libraries:
    --   system
    --   filesystem
    --   thread
    --   date_time
    CMake Warning at 3rd_party/open_vins/ov_core/CMakeLists.txt:20 (message):
      OPENCV VERSION: 4.5.2
    
    
    CMake Warning at 3rd_party/open_vins/ov_core/CMakeLists.txt:21 (message):
      BOOST VERSION: 107700
    
    
    CMake Warning at 3rd_party/open_vins/ov_core/CMakeLists.txt:27 (message):
      DISABLING ARUCOTAG TRACKING!
    
    
    CMake Warning at 3rd_party/open_vins/ov_core/CMakeLists.txt:43 (message):
      BUILDING WITHOUT ROS!
    
    
    -- Performing Test COMPILER_SUPPORTS_CXX11
    -- Performing Test COMPILER_SUPPORTS_CXX11 - Success
    -- Performing Test COMPILER_SUPPORTS_CXX0X
    -- Performing Test COMPILER_SUPPORTS_CXX0X - Success
    CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
      Imported targets not available for Boost version 107700
    Call Stack (most recent call first):
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
      3rd_party/open_vins/ov_msckf/CMakeLists.txt:20 (find_package)
    
    
    CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
      Imported targets not available for Boost version 107700
    Call Stack (most recent call first):
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
      3rd_party/open_vins/ov_msckf/CMakeLists.txt:20 (find_package)
    
    
    CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
      Imported targets not available for Boost version 107700
    Call Stack (most recent call first):
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
      3rd_party/open_vins/ov_msckf/CMakeLists.txt:20 (find_package)
    
    
    CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
      Imported targets not available for Boost version 107700
    Call Stack (most recent call first):
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
      /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
      3rd_party/open_vins/ov_msckf/CMakeLists.txt:20 (find_package)
    
    
    -- Boost version: 1.77.0
    -- Found the following Boost libraries:
    --   system
    --   filesystem
    --   thread
    --   date_time
    CMake Warning at 3rd_party/open_vins/ov_msckf/CMakeLists.txt:23 (message):
      OPENCV VERSION: 4.5.2
    
    
    CMake Warning at 3rd_party/open_vins/ov_msckf/CMakeLists.txt:24 (message):
      BOOST VERSION: 107700
    
    
    CMake Warning at 3rd_party/open_vins/ov_msckf/CMakeLists.txt:30 (message):
      DISABLING ARUCOTAG TRACKING!
    
    
    CMake Warning at 3rd_party/open_vins/ov_msckf/CMakeLists.txt:46 (message):
      BUILDING WITHOUT ROS!
    
    
    CMake Warning at 3rd_party/open_vins/ov_msckf/CMakeLists.txt:87 (message):
      MANUALLY LINKING TO OV_CORE LIBRARY....
    
    
    -- Boost version: 1.77.0
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/root/build64
    Scanning dependencies of target ov_core_lib
    [  2%] Building CXX object 3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/src/dummy.cpp.o
    [  8%] Building CXX object 3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/src/sim/BsplineSE3.cpp.o
    [  8%] Building CXX object 3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/src/init/InertialInitializer.cpp.o
    [ 11%] Building CXX object 3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/src/track/TrackBase.cpp.o
    [ 14%] Building CXX object 3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/src/track/TrackAruco.cpp.o
    [ 17%] Building CXX object 3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/src/track/TrackDescriptor.cpp.o
    [ 20%] Building CXX object 3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/src/track/TrackKLT.cpp.o
    [ 23%] Building CXX object 3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/src/track/TrackSIM.cpp.o
    [ 26%] Building CXX object 3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/src/types/Landmark.cpp.o
    [ 29%] Building CXX object 3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/src/feat/Feature.cpp.o
    [ 32%] Building CXX object 3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/src/feat/FeatureInitializer.cpp.o
    [ 35%] Building CXX object 3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/src/utils/print.cpp.o
    [ 38%] Linking CXX shared library libov_core_lib.so
    /usr/local/lib/libboost_system.so: error adding symbols: File in wrong format
    collect2: error: ld returned 1 exit status
    3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/build.make:434: recipe for target '3rd_party/open_vins/ov_core/libov_core_lib.so' failed
    make[2]: *** [3rd_party/open_vins/ov_core/libov_core_lib.so] Error 1
    CMakeFiles/Makefile2:163: recipe for target '3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/all' failed
    make[1]: *** [3rd_party/open_vins/ov_core/CMakeFiles/ov_core_lib.dir/all] Error 2
    Makefile:127: recipe for target 'all' failed
    make: *** [all] Error 2
    voxl-cross:~$


  • Sorry, that should not have been public. It is a work in progress. I just set it back to private.



  • Hi @Chad-Sweet,
    even though this is not public (yet?), I setup a docker running open-vins. It runs without problems but I keep getting fast divergent behavior. Do you happen to have a launch file / parameter settings for open-vins with good parameter estimates for the flight-deck platform? I am not sure if my I set the extrinsics correct. I thought it must be simply the inverse of the output of voxl-inspect-extrinsics as open-vins expect a T_C0toI matrix:

            <rosparam param="cam0_wh">[640, 480]</rosparam>
            <param name="cam0_is_fisheye" type="bool" value="true" />
            <rosparam param="cam0_k">[277.207560, 277.285144, 335.460288, 218.329580]</rosparam>
            <rosparam param="cam0_d">[-0.002486, 0.006832, -0.006556, 0.001300]</rosparam>
            <rosparam param="T_C0toI">
                [
                    0.0, 1.0,  0.0, -0.015,
                    -0.70711,  0.0, 0.70711, 0.00283,
                    0.70711,  0.0,  0.70711, -0.0212,
                    0.0, 0.0, 0.0, 1.0
                ]
            </rosparam>
    

    Another possible reason would be badly calibrated imu noise values. A reference file would be really helpful.
    Thanks!


Log in to reply