cyclonedds icon indicating copy to clipboard operation
cyclonedds copied to clipboard

Headers installed at include/dds

Open rotu opened this issue 6 years ago • 4 comments

Ubuntu 18.04 ros-dashing-cyclonedds/bionic,now 0.1.0-1bionic.20190829.220209 amd64

CycloneDDS installs some of its headers at /opt/ros/dashing/include/dds. This makes it unclear what package these headers belong to.

It also prevent building TwinOaks CoreDX which also has a header at include/dds/dds.h. At compile time, this collision prevents CoreDX from building if you have installed ros-dashing-cyclonedds.

rotu avatar Sep 05 '19 23:09 rotu

@rotu That's a nasty little gotcha ...

It would be a little tricky to rename/move these header files because of other (non-ROS2) users of Cyclone DDS. I'm open to doing that, but I can't do it without a transition period in which the old names remain available. I'm pretty sure the same is true for @ClarkTucker ...

What might work is to install Cyclone under, e.g., /opt/ros/dashing/cyclonedds. The thing I'm worried about is that it could mess up library paths — and not knowing the packaging system, I don't know if it would be possible to rework the ros-dashing-cyclonedds package to do a soft link from /opt/ros/dashing/lib/libddsc.so to /opt/ros/dashing/cyclonedds/lib/libddsc.so. @cottsay, perhaps you have an idea?

eboasson avatar Sep 11 '19 08:09 eboasson

@eboasson see https://github.com/eclipse-cyclonedds/cyclonedds/pull/284 It generates stub headers at build time so that #include "dds/..." still works but throws a build-time warning. Do you think this is a viable solution? If so, I can apply it to the rest of the codebase.

rotu avatar Oct 19 '19 22:10 rotu

@rotu, my initial thought is that this is a very reasonable approach. I'd say everything under dds/ should then be moved, and I think the ddsc directory could then be handled in the same way — or perhaps it is simply time to delete that one.

I noticed the build failures were all caused by a "treat all warnings as errors", so that's understandable and something I'm sure we can deal with.

eboasson avatar Oct 20 '19 10:10 eboasson

I'm 100% on board, and planning no moving the entire dds folder.

And yeah, the build failures should not happen. That just means I missed something. I'll make it all happen in one PR.

rotu avatar Oct 20 '19 22:10 rotu