eProsima / Micro-XRCE-DDS-Apps

Looking for commercial support? Contact info@eprosima.com
10 stars 5 forks source link

NuttX example doesn't compile - missing Micro-CDR #13

Open maxikrie opened 3 years ago

maxikrie commented 3 years ago

I am trying to compile the microxrceclient for NuttX from the master branch, which fails as it is missing a reference to the Micro-CDR library. Particularly client_main.c is missing a reference to #include <ucdr/microcdr.h>, but I suspect at a later stage there will also be linker errors.

I can see in microxrcedds/Makefile:97 that libmicrocdr.a is mentioned but it is nowhere built comparably to libmicroxrcedds_client.a, which is built from sources.

Can you please clarify?

maxikrie commented 3 years ago

It seems that this issue was also raised in https://github.com/eProsima/Micro-XRCE-DDS-Apps/issues/7#issue-655616128 - unfortunately with no resolution.

In the meantime, I was able to shed some light on this issue and managed to compile the app. It seems that if Micro-CDR is present on the system (through install of Micro-XRCE-DDS), Micro-CDR is not pulled into the build of NuttX apps. I am not an expert with Cmake, but I feel this issue is seeded within Micro-XRCE-DDS-Client/CMakeLists.txt and Micro-XRCE-DDS-Client/cmake/SuperBuild.cmake, which are pulled into apps/microxrcedds.