Ask Your Question

Unsupported RMW implementation in ROS2

asked 2018-06-20 10:35:48 -0600

aks gravatar image

I am trying to build my overlay workspace with RTI Connext. For that, I set the environment variable as export RMW_IMPLEMENTATION = rmw_connext_cpp. While building the overlay workspace, I receive a build error as `

The RMW implementation has been specified as 'rmw_connext_cpp' through the
environment variable 'RMW_IMPLEMENTATION', however it is not in the list of
supported rmw implementations, which was specified when the
'rmw_implementation' package was built.

I was going through this documentation and thus tried to use the --force-cmake-configure flag while building. But the same problem persists.

So I removed the build and the install folder and tried to build again but with the same error.

What am I doing wrong ?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-06-20 11:16:32 -0600

Dirk Thomas gravatar image

If your underlay workspace doesn't support Connext you can't simply enable it in your overlay. The recommended way would be to build ROS 2 (all of it) from source.

You could probably get away with an overlay but that workspace must contain all packages which are influenced by the available rmw implementation. That would include the rmw_connext (all pkgs of the repo), the pkgs rosidl_typesupport_c(pp), rmw_implementation as well as any package containing messages / services. (Maybe I am forgetting some so building all of ROS 2 from source is certainly the safer bet.)

Btw. the upcoming Bouncy release (~ next week) will provide support Connext built-in. So there is no need to rebuild anything "in the underlay".

edit flag offensive delete link more


Thanks for the information. Do you mean that Bouncy will have Connext as bundled DDS i.e. set as default instead of fastrttps ?

aks gravatar image aks  ( 2018-06-20 11:40:10 -0600 )edit

Yes and no. Bouncy will ship prebuilt binaries supporting FastRTPS, Connext, and OpenSplice. FastRTPS is still the default rmw implementation.

Dirk Thomas gravatar image Dirk Thomas  ( 2018-06-20 11:44:31 -0600 )edit

The goal is that when installing the Debian packages only FastRTPS will be pulled in automatically. The user can install additional Debian packages to add Connext and/or OpenSplice support.

Dirk Thomas gravatar image Dirk Thomas  ( 2018-06-20 11:45:47 -0600 )edit

I have built Bouncy from source, but it seems that it does not support Connext as well. How can I configure/check ROS2 so that it builds all RMW included?

uthinu gravatar image uthinu  ( 2018-09-06 08:54:23 -0600 )edit

You need to have Connect installed and sourced when building from source. If you need further information please consider to open a separate question.

Dirk Thomas gravatar image Dirk Thomas  ( 2018-09-06 08:58:42 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2018-06-20 10:35:48 -0600

Seen: 593 times

Last updated: Jun 20 '18