Skip to content

Export ament_index and class_loader dependencies#132

Closed
kurcha01-arm wants to merge 1 commit intoros2:masterfrom
kurcha01-arm:kurcha01-arm/export_package_dependencies
Closed

Export ament_index and class_loader dependencies#132
kurcha01-arm wants to merge 1 commit intoros2:masterfrom
kurcha01-arm:kurcha01-arm/export_package_dependencies

Conversation

@kurcha01-arm
Copy link
Copy Markdown

Fixes missing exported dependencies:

  • ament_index_cpp and class_loader for rosbag2
  • ament_index_cpp for rosbag2_storage
  • class_loader for rosbag2_storage_default_plugins

Signed-off-by: Kurtis Charnock kurtis.charnock@arm.com

Fixes missing exported dependencies:
 - ament_index_cpp and class_loader for rosbag2
 - ament_index_cpp for rosbag2_storage
 - class_loader for rosbag2_storage_default_plugins

Signed-off-by: Kurtis Charnock <kurtis.charnock@arm.com>
@kurcha01-arm
Copy link
Copy Markdown
Author

Hello,

ro2/cross_compile is failing because the linker can't find these packages. find_package() finds them when building natively but using ld's --sysroot option with a ros2 install location outside the sysroot prevents them from being found. This also stops any workarounds with options like rpath, since the sysroot path gets prefixed to any rpath specified.

By adding the packages as dependencies, find_package doesn't need to search the filesystem, fixing the problem.

See also rmw_fastrtps/pull/294

@kurcha01-arm kurcha01-arm marked this pull request as ready for review June 13, 2019 14:46
@Karsten1987
Copy link
Copy Markdown
Collaborator

thanks for the patch. Also is this related to #113? @esteve Does this solve your problem here as well?

Copy link
Copy Markdown
Collaborator

@Karsten1987 Karsten1987 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Linux Build Status
  • Linux-aarch64 Build Status
  • macOS Build Status
  • Windows Build Status

@esteve
Copy link
Copy Markdown
Member

esteve commented Jun 13, 2019

@Karsten1987 I haven't tried this PR yet, but with ros/pluginlib#154 and #113 I was able to cross compile rosbag2 for aarch64.

However, the changes in this PR are a bit too invasive IMHO, exporting only pluginlib was enough to support crosscompiling, not class_loader. Also, ament_index_cpp shouldn't be exported at all, since it's part of the build phase in this package, not for downstream packages.

@kurcha01-arm
Copy link
Copy Markdown
Author

Swapping this patch for #113 fixed the problem for me. IMO we should abandon this and go with @esteve 's

Thanks!

@Karsten1987
Copy link
Copy Markdown
Collaborator

With #113 merged, I am going ahead and close this. Feel free to re-open if you concerns were not addressed.

@Karsten1987 Karsten1987 closed this Jul 8, 2019
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

Successfully merging this pull request may close these issues.

5 participants