-
Notifications
You must be signed in to change notification settings - Fork 493
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 boost linking errors for Windows #957
Conversation
Codecov Report
@@ Coverage Diff @@
## main #957 +/- ##
==========================================
- Coverage 57.77% 57.77% -0.00%
==========================================
Files 309 309
Lines 26120 26120
==========================================
- Hits 15089 15087 -2
- Misses 11031 11033 +2
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We shouldn't need an explicit link against individual targets in Boost since we already have Boost in ament_target_dependencies
I'm on on my phone right now so I can't push the fix will do it later today
The issue seems to arise because when doing I wasn't sure how to prevent If you are able to find a better fix, I'd be happy to use that instead. |
Thanks for the detailed explanation and sorry for the late response, we discussed this last moveit stand-up and we're not sure what the best solution is, we either need to Personally, I prefer the first solution since it takes advantage of the ament functionalities |
The first solution sounds good to me too. I've made the necessary changes. |
# Finds Boost Components | ||
include(ConfigExtras.cmake) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like you just moved this line?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I forgot to revert the previous commit as well. Is that what you were implying was missing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Further up in this file you removed these two lines and then added them back here. I'm confused about what difference that would make.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per what Jafar said, the first solution involves moving the include(ConfigExtras.cmake)
line after all the find_pakage
calls. When we do this, the include(ConfigExtras.cmake)
will be the last one to call find_package(Boost ...)
, so Boost_LIBRARIES
will not be overwritten by any dependencies, allowing us to use ament_* to link.
That's what I did when I removed those two lines from above and added them back there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the explination. I misunderstood what this would do.
@Ace314159 Super sorry for the delay, do you mind testing this PR ? I'll merge then immediately |
@JafarAbdi This looks good on Windows. |
(cherry picked from commit 2efe1b2)
(cherry picked from commit 2efe1b2)
Description
For Windows, #900 isn't enough to fix the boost linking errors and similar fixes were needed in
background_processing
andprofiler
. This also needs to be backported to foxy.Checklist