-
Notifications
You must be signed in to change notification settings - Fork 65
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
rospack picks up the wrong opencv libs #67
Comments
rospack asks the underlying packages for their exported libraries. Either my_library or one of it's dependencies are using the older version and exporting the linker flags. If you are using any package from the binary installation and it uses the Opencv, it will require 2.4.8 since that's what it's compiled against. You need to find any package using opencv and make sure that it also finds 2.4.9 as well. |
@tfoote relevant contents of my manifest.xml are:
You are right in that cv_bridge is the package brining in the opencv2.4.8 libs as revealed by: (Since I'm using ros-indigo, I commented out the dependency on opencv2) For now, I deleted the opencv2.4.8 libs from |
The correct way to fix this is to recompile all packages using opencv from source with 2.4.9 on your path such that their CMake configuration stage finds the newer version. You cannot use the precompiled binary packages. The symlinking is fragile and relies on 2.4.8 and 2.4.9 being ABI compatible. And may break any other system actually using/relying on 2.4.8. Since this isn't a rospack issue. I'm going to close this. If you need more help please ask on http://answers.ros.org |
rospack picks up the wrong opencv libs.
I have opencv2.4.9 libs installed in
/usr/local/lib/
, and an older version (2.4.8) in/usr/lib/x86_64-linux-gnu/
.cmake find_package reports the correct libs
find_package(OpenCV 2.4.9 EXACT REQUIRED)
message("OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}")
-> /usr/local/include/opencv/message("OpenCV_LIBRARIES: ${OpenCV_LIBRARIES}")
-> opencv_viz;opencv_videostab; etcmessage("OpenCV_LIBRARY_DIRS: ${OpenCV_LIBRARY_DIRS}")
-> "" (is this a problem?)$ rospack libs-only-l my_package
gives:
... /usr/lib/x86_64-linux-gnu/libopencv_videostab.so.2.4.8 :/usr/lib/x86_64-linux-gnu/libopencv_video.so.2.4.8 :/usr/lib/x86_64-linux-gnu/libopencv_superres.so.2.4.8 :/usr/lib/x86_64-linux-gnu/libopencv_stitching.so.2.4.8 :/usr/lib/x86_64-linux-gnu/libopencv_photo.so.2.4.8 ...:
etcDoes rospack use a cache? How can I clear it?
The text was updated successfully, but these errors were encountered: