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

libopencv_core.so.4.5d shared library not found. #24

Open
SpaceSoarer90 opened this issue Feb 3, 2025 · 0 comments
Open

libopencv_core.so.4.5d shared library not found. #24

SpaceSoarer90 opened this issue Feb 3, 2025 · 0 comments

Comments

@SpaceSoarer90
Copy link

ROS Version: ros2 jazzy
Ubuntu Version: Ubuntu 24.04.1 LTS (noble)

when this command is run:
ros2 run ros2_orb_slam3 mono_node_cpp --ros-args -p
node_name_arg:=mono_slam_cpp

it says that libopencv_core.so.4.5d is not found, a library file that cannot be found in the system.

this is caused by the bundled shared library libDBoW2.so in ros2_orb_slam3/orb_slam3/Thirdparty/DBoW2/lib/

thus, it can be fixed by just rebuilding the shared library file with a modified CMakeLists.txt file:

i'm not sure what the variable is for the opencv4 include directory.

# ros2_orb_slam3/orb_slam3/Thirdparty/DBoW2/CMakeLists.txt
set (dbow2_ROOR_DIR "${PROJECT_SOURCE_DIR}")

set(HDRS_DBOW2
  ${dbow2_ROOR_DIR}/DBoW2/BowVector.h
  ${dbow2_ROOR_DIR}/DBoW2/FORB.h 
  ${dbow2_ROOR_DIR}/DBoW2/FClass.h       
  ${dbow2_ROOR_DIR}/DBoW2/FeatureVector.h
  ${dbow2_ROOR_DIR}/DBoW2/ScoringObject.h   
  ${dbow2_ROOR_DIR}/DBoW2/TemplatedVocabulary.h)
set(SRCS_DBOW2
  ${dbow2_ROOR_DIR}/DBoW2/BowVector.cpp
  ${dbow2_ROOR_DIR}/DBoW2/FORB.cpp      
  ${dbow2_ROOR_DIR}/DBoW2/FeatureVector.cpp
  ${dbow2_ROOR_DIR}/DBoW2/ScoringObject.cpp)

set(HDRS_DUTILS
  ${dbow2_ROOR_DIR}/DUtils/Random.h
  ${dbow2_ROOR_DIR}/DUtils/Timestamp.h)
set(SRCS_DUTILS
  ${dbow2_ROOR_DIR}/DUtils/Random.cpp
  ${dbow2_ROOR_DIR}/DUtils/Timestamp.cpp)

# set(LIBRARY_OUTPUT_PATH ${dbow2_ROOR_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${dbow2_ROOR_DIR}/lib)

include_directories("/usr/include/opencv4")
add_library(DBoW2 SHARED ${SRCS_DBOW2} ${SRCS_DUTILS})
target_link_libraries(DBoW2 ${OpenCV_LIBS})
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

1 participant