Skip to content

Using ament_cmake and Vendor Libraries #551

Open
@wimos-ai

Description

@wimos-ai

Hello, I am trying to get the ROS2 CMake build system to work with some vendor libraries. They basically distribute a set of shared libraries and some header files. The issue I am running into is dynamic linker errors, mainly because some of the Shared Objects depend on each other. Eg:

  • A.so
    -- B.so
    -- C.so

By playing with CMake Rpath rules, I can get my executable to link to A.so on Linux, but then on loading A.so cannot find B or C even though they are all in the same install directory due to Linux dynamic library search path rules. I could in theory use something like patchelf to point A.so to my install directory but that feels hacky. Is there a better way?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions