Skip to content
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

Export ament_index and class_loader dependencies #132

Conversation

kurcha01-arm
Copy link

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 [email protected]

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 <[email protected]>
@kurcha01-arm
Copy link
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
Collaborator

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

Copy link
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
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
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
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.

3 participants