-
Notifications
You must be signed in to change notification settings - Fork 102
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
Linking error (test_atomics_executable) on Raspbian/armv6l #171
Comments
Please open a PR with that change; we'll gladly review it. Thanks. |
I discovered that I get the same linking issues in a couple of other packages ( |
Here's an example that sets CMAKE_CXX_STANDARD_LIBRARIES to conditionally include It seems reasonable to |
Reopening since issue was reverted in #177 |
@christianrauch what's the best practice to exclude certain packages (i.e., heavy stuff like |
In this case, I just removed the packages from the Apart from this obvious solution, you can add a |
This has been reverted again without a permanent fix and needs re-opening. For those looking for minimal arm builds, you can limit the packages selected for download with ros2/ros2_documentation#870 (comment) and then limit what colcon deals with using For anyone finding this issue on this or other packages (like fastrtps), you can add |
I'll encourage you to open a new issue (or even better, PR) if this is something that needs to be fixed in code. We're happy to review it. |
I have the same problem with rcutils and the atomic library with ros galactic on Raspberry Pi OS 64-bit (bullseye). The fixes from #178 can still be seen in the respective files, but I still get the following error message:
Can someone point me to a resource where I can find a possible fix? |
This is an issue with raspberry pi os as built by the raspberry pi foundation. /home/pi/.colcon/defaults.yaml
if you don't fee like adding the defaults file, you can use the arguments on the command line instead: I've tried to patch this lib and others, this is just the tip of the iceberg. Every ROS package needs -latomic but only on Raspberry OSes. The raspberry pi is an important part of the ecosystem, but this is a Raspbian bug and the workaround above is the sane solution |
Thanks for the prompt answer.
And I modified the CMakeLists.txt as in #341. Basically adding
But as mentioned by @BrettRD, after rcutils the next package failed with the same error. So it is really just the tip of the iceberg. |
googling
I can't say I understand well enough to suggest a fix, but @BrettRD's workaround looks reasonable. |
Two options:
Or
For now, colcon defaults.yaml lets RPi users use ROS as normal |
I think I have misunderstood.
Only by doing both I got Should Unfortunately |
Yes.
I did the run around last year for the rpi trying to get automated builds out of https://github.com/BrettRD/ros2-playbooks I did have to send some patches upstream (armv6 support), but trying to patch RPi atomics into ROS (#341) was a mistake. |
I am trying to compile ROS dashing from source on Raspbian Buster (
gcc (Raspbian 8.3.0-6+rpi1) 8.3.0
) running on armv6l and encounter a linking error for targettest_atomics_executable
:I am using the standard repo at https://raw.githubusercontent.com/ros2/ros2/release-latest/ros2.repos, excluding
rviz2
andrqt
.Edit: The problem can be resolved by manually adding
-latomic
, i.e.target_link_libraries(test_atomics_executable ${PROJECT_NAME} -latomic)
.The text was updated successfully, but these errors were encountered: