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

Fix ament cmake transitive dependency issue #293

Merged

Conversation

weithegreat
Copy link
Contributor

@weithegreat weithegreat commented Jun 18, 2024

The current amend cmake example build without problem, however there will be issue finding drake dependency for libraries depends on such a library

Closes #292.


This change is Reviewable

@weithegreat
Copy link
Contributor Author

@jwnimmer-tri Hey Jeremy would you mind taking a look at this PR?

@jwnimmer-tri
Copy link
Contributor

+@IanTheEngineer do you know any https://github.com/RobotLocomotion/drake-ros member who would like to review this?

To me, the ament part looks okay, but manually setting LD_LIBRARY_PATH is usually an obscenity and should be avoided with prejudice. Hopefully there is another way to get it working. I imagine the ament ecosystem already has some better way to deal with library paths?

@jwnimmer-tri
Copy link
Contributor

@IanTheEngineer last call to find someone to support this ament example.

If we can't find anyone to support it, then I will merge this PR as-is and follow up by documenting the ament example as outside of our support footprint, i.e., "community maintained - PRs welcome" and remove it from CI.

@jwnimmer-tri
Copy link
Contributor

I should probably ping @EricCousineau-TRI also.

Copy link
Member

@IanTheEngineer IanTheEngineer left a comment

Choose a reason for hiding this comment

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

Thanks, Jeremy. My apologies on the delayed response to you and @weithegreat. I did not have my filters appropriately configured to realize that you tagged me in this repository.

I agree with the ament_export_dependencies change, but do not understand manually configuring the LD_LIBRARY_PATH. That doesn't seem necessary, but I would be interested to find out more.

Regardless, I think this drake_ament_cmake_installed example could stay outside our support footprint, as it's not something that we regularly consume in drake-ros or otherwise.

Reviewed 2 of 2 files at r1, all commit messages.
Reviewable status: 1 unresolved discussion, LGTM missing from assignee iantheengineer, platform LGTM missing (waiting on @weithegreat)


drake_ament_cmake_installed/README.md line 18 at r1 (raw file):

Add drake library path to Linux search path.

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/drake/lib" >> ~/.bashrc

Does your environment work without adding this LD_LIBRARY_PATH export and only the ament_export_dependencies(drake) change below?

Depending on the reader's environment setup, this export could be problematic, particularly if multiple versions of Drake are added.

Copy link
Contributor

@jwnimmer-tri jwnimmer-tri left a comment

Choose a reason for hiding this comment

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

:lgtm: platform review.

+@IanTheEngineer for feature review, please.

Reviewed 1 of 2 files at r1, 1 of 1 files at r2, 1 of 1 files at r3, all commit messages.
Dismissed @IanTheEngineer from a discussion.
Reviewable status: all discussions resolved, LGTM missing from assignee iantheengineer, platform LGTM from [jwnimmer-tri] (waiting on @weithegreat)


drake_ament_cmake_installed/README.md line 18 at r1 (raw file):

Previously, IanTheEngineer (Ian McMahon) wrote…

Does your environment work without adding this LD_LIBRARY_PATH export and only the ament_export_dependencies(drake) change below?

Depending on the reader's environment setup, this export could be problematic, particularly if multiple versions of Drake are added.

Not hearing anything, we might as well just merge the CMake fix and leave this part for another day. I reverted this part.

Copy link
Member

@IanTheEngineer IanTheEngineer left a comment

Choose a reason for hiding this comment

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

:LGTM: for feature review. Thanks!

Reviewed all commit messages.
Reviewable status: :shipit: complete! all discussions resolved, platform LGTM from [jwnimmer-tri] (waiting on @weithegreat)

@jwnimmer-tri jwnimmer-tri merged commit ed26e42 into RobotLocomotion:main Oct 28, 2024
9 checks passed
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.

ament cmake transitive dependency issue
3 participants