Ubuntu20.04安装FastRTPS,报错没有fastrtps-config.cmake
编译ros2 foxy报错:
CMake Error at CMakeLists.txt:26 (find_package):
Could not find a package configuration file provided by "fastrtps" with any
of the following names:
fastrtpsConfig.cmake
fastrtps-config.cmake
Add the installation prefix of "fastrtps" to CMAKE_PREFIX_PATH or set
"fastrtps_DIR" to a directory containing one of the above files. If
"fastrtps" provides a separate development package or SDK, be sure it has
been installed.
按照https://agility6.site/blog/fast-dds/ 下载fastrtps源码,编译、安装后。发现依然没有fastrtps-config.cmake文件生成。
检测fastrtps源码的versions.md发现Version 2.14.0开始,最新的源码把fastrtps-config.cmake改名成fastdds-config.cmake了
* Migrate fastrtps namespace to fastdds
* Migrate fastrtps `ResourceManagement` API from `rtps/resources` to `rtps/attributes`.
* `const` qualify all data related inputs in DataWriter APIs
* New `DomainParticipantExtendedQos` that includes both `DomainId` and `DomainParticipantQos` (extends `DomainParticipantFactory` API).
* Make Blackbox tests not include any private API.
* Remove all the private API include from Blackbox tests.
* Discovery Server refactor:
* Clients and Servers no longer need a known GUID to connect between them.
* Servers are now configured specifying a LocatorList, instead of a RemoteServerAttributes list.
* Servers connect through a mesh topology. For a new server to join the topology, it must be connected to any server in it.
* Servers only redirect discovery information of their direct clients.
* Remote Discovery servers connection list can now be updated and modified at runtime without restrictions.
* Fast DDS CLI has been updated to allow the creation of servers without GUID.
* Servers are responsible of answering TypeLookupRequests of others servers when working with X-Types.
* Backup server is not compatible with X-Types.
* Refactor in XML Parser to return DynamicTypeBuilder instead of DynamicType
* Setting vendor_id in the received CacheChange_t for Data and DataFrag.
* Added new DynamicData to JSON serializer (`json_serialize`).
* Added new DynamicType to IDL serializer (`idl_serialize`).
* DDS implementation of `eprosima::fastdds::Time_t` moved to `eprosima::fastdds::dds::Time_t`.
* `TopicDataType::auto_fill_type_information` has been removed in favor of `fastdds.type_propagation` participant property.
* Add new custom pid PID_PRODUCT_VERSION.
* SHM locator kind is now linked to Fast DDS' major version.
Version 2.14.0
--------------
* Added authentication handshake properties.
* Added methods OpenOutputChannels and CloseOutputChannels to TransportInterface with LocatorSelectorEntry argument.
* Added `netmask_filter`, `allowlist` and `blocklist` transport configuration options.
* Added extra configuration options for the builitin transports.
* Limit the amount of listening ports for TCP servers to 1.
所以应该把fastrtps源码切换到2.14之前的版本
suwei@SH-DZ0104348:~/work/source/Fast-DDS/Fast-RTPS$ git checkout v2.13.6
然后再编译安装即可