ros2 / libyaml_vendor

CMake wrapper downloading and building libyaml
Apache License 2.0
2 stars 17 forks source link

opt/libyaml_vendor is hardcoded while install #60

Closed razr closed 1 month ago

razr commented 1 year ago

while installing to the non-standard directory the libyaml.so is installed to the

export/root/opt/libyaml_vendor/lib/libyaml.so

expected

export/root//lib/libyaml.so

this is due to https://github.com/ament/ament_cmake/blob/rolling/ament_cmake_vendor_package/cmake/ament_vendor.cmake#L304

  if(NOT SKIP_INSTALL)
    install(
      DIRECTORY "${INSTALL_DIR}/"
      DESTINATION "opt/${PROJECT_NAME}"
      USE_SOURCE_PERMISSIONS
    )
  endif()

A workaround is

      DESTINATION "."
cottsay commented 1 year ago

This is intentional behavior.

In the past, we've had a fairly fractured ecosystem of vendor packages. Some installed under unique opt subdirectories to isolate them from packages which do not directly use them, and others were merged into the FHS along with non-vendor packages.

We discussed this at length, and decided to unify all "core" vendor packages under ament_cmake_vendor_package. Among the benefits is isolation of the vendor packages along with a set of environment and CMake variables to ensure the package can be found and used under the right conditions. This has been shown to work on all Tier 1 and Tier 2 supported platforms for ROS 2.

My question is what you're doing differently from Windows, Ubuntu, RHEL, and macOS that necessitates this particular vendor package being merged in with the non-vendor packages in the install space. I'm missing some critical information, such as:

  1. what error do you eventually see that led you to make this issue?
  2. what environment are you building for?
  3. how can I reproduce your issue so that I can make a recommendation?
  4. why didn't you encounter this problem with the vendor packages which have always been installed into a unique opt subidrectory?
mjcarroll commented 1 month ago

@razr I'm going to close this due to inactivity. Feel free to re-open if you are still interested.