eProsima / foonathan_memory_vendor

foonathan/memory vendor package for Fast DDS. Looking for commercial support? Contact info@eprosima.com
Apache License 2.0
24 stars 46 forks source link

cannot generate container_node_sizes_impl.hpp, node size information will be unavailable [13937] #56

Closed Nir-Az closed 2 years ago

Nir-Az commented 2 years ago

Hi When configuring foonathan memory I get this CMake warning.

  cannot generate container_node_sizes_impl.hpp, node size information will
  be unavailable

Is it because I turn off the BUILD_TOOLS flag? will it cause memory issues / performance issues on FastDDS runtime?

MiguelCompany commented 2 years ago

Is it because I turn off the BUILD_TOOLS flag?

Yes. This will disable the generation of the container_node_sizes_impl.hpp contents.

will it cause memory issues / performance issues on FastDDS runtime?

It will increase memory usage a bit, since Fast DDS will guess the node size here, which takes the size of a custom node that includes the fields of all the common implementations.

Nir-Az commented 2 years ago

Thanks @MiguelCompany , So FastDDS recomendation is to turn on the tools build? Not sure why they coupled an executable build with a library feature..

MiguelCompany commented 2 years ago

@Nir-Az

If you don't want to (or cannot due to system requirements) build and run the tool, you could use the generous external contribution that was recently merged on foonathan/memory#129

Nir-Az commented 2 years ago

@MiguelCompany I can turn the flag on and test if it builds OK, but what did you mean with running it?

I am consuming FastDDS library and use it's API. When/Why should I run this foonathan tool?

Didn't find something about it on FastDDS documentation.

MiguelCompany commented 2 years ago

@Nir-Az

The tool is run as a build step. See here. When cross-compiling, it can be run on an emulator.

foonathan/memory#129 changes this to use CMake machinery to generate container_node_sizes_impl.hpp

Nir-Az commented 2 years ago

Great, thanks for the help.