Closed MartinCornelis2 closed 4 years ago
I dug into this a bit and was able to get my crosscompile builds for aarch64 and armhf working. The error you point out above:
In file included from /ros2_ws/src/eProsima/Fast-RTPS/src/cpp/rtps/reader/WriterProxy.h:32, from /ros2_ws/src/eProsima/Fast-RTPS/src/cpp/rtps/reader/WriterProxy.cpp:22: /ros2_ws/install/include/foonathan_memory/foonathan/memory/container.hpp:376:31: error: expected template-name before ‘<’ token : shared_ptr_node_size<T, std_allocator<T, RawAllocator, Mutex>>
is a problem with foonathan/memory when the FOONATHAN_MEMORY_BUILD_TOOLS is disabled. Unfortunately, fixing this does not allow FastRTPS to build because it utilizes some of the foonathan/memory features disabled when crosscompiling.
I have added a fix to the foonathan/memory cmake here https://github.com/foonathan/memory/pull/60 to allow all of the foonathan/memory features to work when crosscompiling.
Was this issue fixed? Should I clone the master brench of foonathan_memory_vendor for cross-compiling foonathan_memory?
I'm cross-compiling ros2 too, the warning message for me is actually a qemu crash problem. "CMake Warning at src/CMakeLists.txt:86 (message): cannot generate container_node_sizes_impl.hpp, node size information will be unavailable"
qemu crash log: qemu: uncaught target signal 11 (Segmentation fault) - core dumped Segmentation fault (core dumped)
When I try to cross-compile the latest version of ROS2 for armhf I get the following error for foonathan_memory_vendor:
Which in turn makes the FastRTPS install fail
CMake toolchain:
Can you have a look at this? If you need more information from my side please let me know.