Open sumanth-nirmal opened 2 years ago
Thanks for pointing this out @sumanth-nirmal, you're right that's an unintended consequence from reusing the serialiser from the core library to construct the type objects required by XTypes. We are looking at restructuring the integration with Iceoryx a bit so that the integration points are abstracted into a proper interface. That has the nice side effect that the core library (libddsc.so
) will be able to dynamically load Iceoryx instead of requiring it to be linked directly to it. That's not a trivial bit of work, so it will take some time.
I assume this is not an urgent problem? Because if it is a showstopper, we may have to figure out some workaround.
@eboasson It will be a showstopper as is! However, the workaround, for now, is to disable the Topic/Type discovery as below to not have additional dependencies with the idlc
.
-option(ENABLE_TYPE_DISCOVERY "Enable Type Discovery support" ON)
-option(ENABLE_TOPIC_DISCOVERY "Enable Topic Discovery support" ON)
+option(ENABLE_TYPE_DISCOVERY "Enable Type Discovery support" OFF)
+option(ENABLE_TOPIC_DISCOVERY "Enable Topic Discovery support" OFF)
We will disable the Topic/Type discovery for now, until this issue is fixed.
Required information
Operating system: Ubuntu 20.04 LTS
Compiler version: GCC 8.4.0
Observed result or behaviour:
With this https://github.com/eclipse-cyclonedds/cyclonedds/pull/1282/ we now enable topic/type discovery by default. However now this makes
idlc
to depend on iceoryx and others:ldd
on the currentidlc
is as followsExpected result or behaviour:
Ideally the
idlc
as a tool doesn't need to depend on iceoryx, the dependencies foridlc
should be straightforward as belowDetails
After looking into the code a bit these additional dependencies are pulled into
idlc
because of including"dds/ddsi/ddsi_cdrstream.h"
in https://github.com/eclipse-cyclonedds/cyclonedds/blob/03aeb611debb4f0e25ac41b220f3a6ac35118bc3/src/tools/idlc/src/descriptor_type_meta.c#L21 which will eventually include , this has the iceoryx related entities.I think this will need some restructuring of the code to not pull in undesired dpendencies