-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
[fast-dds] Fix crosscompilation issues #25195
[fast-dds] Fix crosscompilation issues #25195
Conversation
It looks like this changes based on the linker you use.
bfd's man page is explicit about this
So I can also workaround it with
But I'm not sure if it is a good idea. LLD (clang's linker) explicitly enable it for executables as well https://nxmnpg.lemoda.net/1/ld.lld#:~:text=%2D%2Dno%2Dallow%2Dshlib,linking%20an%20executable. Update: It looks like bfd is the linker with the best algorithm to flag these issues https://reviews.llvm.org/D57385 |
This comment has been minimized.
This comment has been minimized.
Conan v1 pipeline ✔️All green in build 2 (
|
This is a well known behaviour of the bfd linker compared to... well, any other linker on any platform. I doubt it is an issue - it is just how it has always worked, and a behaviour that neither gold, nor lld nor mold have retained. On the other hand, there is probably a Conan and/or CMake issue here as well - personally the workarounds you are suggesting are perfectly valid and I Would not modify the recipe behaviour. |
I don't mind closing the PR if you think it is not worth it to patch the recipe. |
Hi @ericriff - thanks for your reply. Tested this locally on armv8 and That is, this only happens when crossbuilding, using the GNU Linker, and there is |
Summary
Changes to recipe: fast-dds/all
Motivation
Fix crosscompilation issues related to transitive libraries not being properly exposed.
Details
Similarly to #25020 this recipe fails to crosscompile, particularly the test package fails to link.
Flagging these deps with
transitive_libs=True
fixes the problem.