Skip to content
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

Failure to build Fast-DDS on raspberry pi #2713

Closed
1 task done
Ecuashungo opened this issue Jun 1, 2022 · 2 comments
Closed
1 task done

Failure to build Fast-DDS on raspberry pi #2713

Ecuashungo opened this issue Jun 1, 2022 · 2 comments

Comments

@Ecuashungo
Copy link

Ecuashungo commented Jun 1, 2022

Is there an already existing issue for this?

  • I have searched the existing issues

Expected behavior

Install Fast-DDS succesfully on raspberry pi running ubuntu server 64-bit

Current behavior

After successfully installing Fast-CDR and foonathan_memory_vendor and all other dependencies listed on the instructions the build always fails at the same location.
It seems to be an issue with the foonathan_memory_vendor package, which installed succesfully.

[ 11%] Building CXX object src/cpp/CMakeFiles/fastrtps.dir/rtps/reader/WriterProxy.cpp.o
In file included from /home/ubuntu/setup_files/Fast-DDS/Fast-DDS/src/cpp/rtps/reader/WriterProxy.cpp:36:
/home/ubuntu/setup_files/Fast-DDS/Fast-DDS/include/fastrtps/utils/collections/foonathan_memory_helpers.hpp: In instantiation of ‘std::size_t eprosima::fastrtps::memory_pool_block_size(std::size_t, const eprosima::fastrtps::ResourceLimitedContainerConfig&) [with MemoryPool = foonathan::memory::memory_pool<foonathan::memory::node_pool>; std::size_t = long unsigned int]’:
/home/ubuntu/setup_files/Fast-DDS/Fast-DDS/src/cpp/rtps/reader/WriterProxy.cpp:70:87:   required from here
/home/ubuntu/setup_files/Fast-DDS/Fast-DDS/include/fastrtps/utils/collections/foonathan_memory_helpers.hpp:56:12: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   53 |     return num_elems
      |            ~~~~~~~~~
   54 |            * ((node_size > MemoryPool::min_node_size ? node_size : MemoryPool::min_node_size) // Room for elements
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   55 |            * (foonathan::memory::detail::debug_fence_size ? 3 : 1))                           // Room for debug info
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   56 |            + foonathan::memory::detail::memory_block_stack::implementation_offset;            // Room for padding
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/setup_files/Fast-DDS/Fast-DDS/include/fastrtps/utils/collections/foonathan_memory_helpers.hpp:56:12: error: invalid conversion from ‘std::size_t (*)() noexcept’ {aka ‘long unsigned int (*)()’} to ‘std::size_t’ {aka ‘long unsigned int’} [-fpermissive]
make[2]: *** [src/cpp/CMakeFiles/fastrtps.dir/build.make:310: src/cpp/CMakeFiles/fastrtps.dir/rtps/reader/WriterProxy.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:899: src/cpp/CMakeFiles/fastrtps.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

Can someone help me with this?

Steps to reproduce

I followed these instructions on a raspberry pi compute module 4 with a fresh install of ubuntu 20.04 server 64-bit.
the output of uname -a is:
Linux ubuntu 5.4.0-1062-raspi #70-Ubuntu SMP PREEMPT Thu May 19 12:44:59 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

Fast DDS version/commit

v2.0.0

Platform/Architecture

Other. Please specify in Additional context section.

Transport layer

Default configuration, UDPv4 & SHM

Additional context

I have also tried the binary installation and I get the same error.

XML configuration file

No response

Relevant log output

No response

Network traffic capture

No response

@Ecuashungo Ecuashungo added the triage Issue pending classification label Jun 1, 2022
@MiguelCompany
Copy link
Member

This was already reported on #1464, and fixed by #1457, which was backported into branch 2.0.x on #1469 (included on v2.0.2)

So you have the following options:

  1. Use release v2.0.2 or later if you should use a release from the EOL branch 2.0.x
  2. Use a different version of foonathan/memory. I recommend using the dependencies' versions listed on the repos file of the release you are building.

@JLBuenoLopez JLBuenoLopez added duplicate and removed triage Issue pending classification labels Jun 1, 2022
@Ecuashungo
Copy link
Author

Thanks for the hint.
The problem was that the old installs did not get deleted and therefore even if I used the downloaded binary or the colcon install style it detected the wrongly installed foonathan/memory version.

So to fix that I deleted all folders and installed it from scratch using all the correct versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants