mavros: also compile with arm, mips & ppc (resolves #525)
This commit is contained in:
parent
5d71cc0abb
commit
25d97e4bfe
|
@ -0,0 +1,56 @@
|
||||||
|
From 658347978fc97675dbdff480f4557eb772e915dc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Bulwahn <lukas.bulwahn@gmail.com>
|
||||||
|
Date: Mon, 4 Sep 2017 16:17:12 +0100
|
||||||
|
Subject: [PATCH] CMake: explicitly link the atomic library (#797)
|
||||||
|
|
||||||
|
For arm & mips architecture, the linker must explicitly be asked to
|
||||||
|
link the atomic library (with `-latomic`).
|
||||||
|
|
||||||
|
Otherwise, the linking fails with:
|
||||||
|
|
||||||
|
```
|
||||||
|
| devel/lib/libmavros.so: undefined reference to `__atomic_load_8'
|
||||||
|
| devel/lib/libmavros.so: undefined reference to `__atomic_store_8'
|
||||||
|
| collect2: error: ld returned 1 exit status
|
||||||
|
```
|
||||||
|
|
||||||
|
Linking `atomic` unconditionally as library is strictly needed only
|
||||||
|
for arm & mips, but it seems not to imply any further differences
|
||||||
|
with other architectures. Hence, this commit simply adds `atomic`
|
||||||
|
unconditionally for a uniform handling of all machine architectures.
|
||||||
|
|
||||||
|
This is an alternative solution to the proposed solution in #790.
|
||||||
|
|
||||||
|
The issue was discovered cross-compiling mavros in meta-ros, the
|
||||||
|
OpenEmbedded layer for ROS. Some further pointers are available at:
|
||||||
|
|
||||||
|
https://github.com/bmwcarit/meta-ros/issues/525
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
|
||||||
|
|
||||||
|
Upstream-Status: Accepted [https://github.com/mavlink/mavros/commit/658347978fc97675dbdff480f4557eb772e915dc]
|
||||||
|
|
||||||
|
This patch has been generated with:
|
||||||
|
`git format-patch -1 658347978fc97675dbdff480f4557eb772e915dc`
|
||||||
|
in the mavros repository.
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
|
||||||
|
---
|
||||||
|
mavros/CMakeLists.txt | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/mavros/CMakeLists.txt b/mavros/CMakeLists.txt
|
||||||
|
index a4ac3cb..5233e96 100644
|
||||||
|
--- a/mavros/CMakeLists.txt
|
||||||
|
+++ b/mavros/CMakeLists.txt
|
||||||
|
@@ -102,6 +102,7 @@ add_library(mavros
|
||||||
|
src/lib/rosconsole_bridge.cpp
|
||||||
|
)
|
||||||
|
target_link_libraries(mavros
|
||||||
|
+ atomic
|
||||||
|
${catkin_LIBRARIES}
|
||||||
|
${Boost_LIBRARIES}
|
||||||
|
${GeographicLib_LIBRARIES}
|
||||||
|
--
|
||||||
|
1.9.1
|
||||||
|
|
|
@ -48,4 +48,5 @@ require mavros.inc
|
||||||
|
|
||||||
ROS_PKG_SUBDIR = "mavros"
|
ROS_PKG_SUBDIR = "mavros"
|
||||||
|
|
||||||
SRC_URI += "file://0001-always-find-Eigen-with-cmake_modules-mechanism.patch;striplevel=2"
|
SRC_URI += "file://0001-always-find-Eigen-with-cmake_modules-mechanism.patch;striplevel=2 \
|
||||||
|
file://0001-CMake-explicitly-link-the-atomic-library-797.patch;striplevel=2"
|
||||||
|
|
Loading…
Reference in New Issue