ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The decision about which shared library to use is made at app startup time, not at compile time. So this is probably not a cmake issue.

The typical cause of this error is that the directory /usr/local/lib is present in your environment variable LD_LIBRARY_PATH. If you are running a ros app, you should not have this directory in the list.

If you want to use the ros apt binary repository, you are expected to use the standard opencv libraries installed by apt (which are put in /usr/lib/...).

set(OpenCV_DIR /usr/local/lib/cmake/opencv4/)

Don't do this in your CMakeLists.txt. Don't override the standard openv library paths.

The decision about which shared library to use is made at app startup time, not at compile time. So this is probably not a cmake issue.time.

The typical cause of this error is that the directory /usr/local/lib is present in your environment variable LD_LIBRARY_PATH. If you are running a ros app, you should not have this directory in the list.

If you want to use the ros apt binary repository, you are expected to use the standard opencv libraries installed by apt (which are put in /usr/lib/...).

set(OpenCV_DIR /usr/local/lib/cmake/opencv4/)

Don't do this in your CMakeLists.txt. Don't override the standard openv opencv library paths.

The If there are multiple copies of a shared library file, the decision about which shared library one to use is made at app startup time, not at compile time.

The typical cause of this error is that the directory /usr/local/lib is present in your environment variable LD_LIBRARY_PATH. If you are running a ros app, you should not have this directory in the list.

If you want to use the ros apt binary repository, you are expected to use the standard opencv libraries installed by apt (which are put in /usr/lib/...).

set(OpenCV_DIR /usr/local/lib/cmake/opencv4/)

Don't do this in your CMakeLists.txt. Don't override the standard opencv library paths.

If there are multiple copies of a shared library file, the decision about which one to use is made at app startup time, not at compile time.

The typical cause of this error is that the directory /usr/local/lib is present in your environment variable LD_LIBRARY_PATH. If you are running a ros app, you should not have this directory in the list.list. [Edit: ubuntu has /usr/local/lib in the default library search path, so I think the best solution is to remove this alternate opencv install from /usr/local/lib/.]

If you want to use the ros apt binary repository, you are expected to use the standard opencv libraries installed by apt (which are put in /usr/lib/...).

set(OpenCV_DIR /usr/local/lib/cmake/opencv4/)

Don't do this in your CMakeLists.txt. Don't override the standard opencv library paths.

If there are multiple copies of a shared library file, the decision about which one to use is made at app startup time, not at compile time.

The typical cause of this error is that the directory /usr/local/lib is present in your environment variable LD_LIBRARY_PATH. If you are running a ros app, you should not have this directory in the list. [Edit: ubuntu has /usr/local/lib in the default library search path, so fixing the environment variable is not sufficient. I think the best solution is to remove this alternate opencv install from /usr/local/lib/.]

If you want to use the ros apt binary repository, you are expected to use the standard opencv libraries installed by apt (which are put in /usr/lib/...).