-
Notifications
You must be signed in to change notification settings - Fork 33
freertps compile fail "Policy CMP0057 not set" #37
Comments
I also tried Standalone mode, there is a minor issue in building. After fix it, freertps can listen "Hello" from talk of FastRTPS, however, freertps "talk" to FastRTPS "listener" still doesn't work. |
For the CMake issue, changing the cmake minumum required version to 3.5 should fix it. For the communication issue, IDK, maybe @codebot would have an idea. |
@mikaelarguedas you mentioned this project not active support so far. do you accept patch to fix freeRTPS issues? At least, make it support simply talk with FastRTPS |
@codebot has been developing the freertps stack since it's debuts, I'll leave it to his discretion to advise on the best way to move this project forward (taking PRs here, encourage a fork, something else ?) |
As @mikaelarguedas stated, we are not currently allocating any internal development effort towards freertps, and have not done so for a while now (2 years or so). However, we will try to review and merge patches. Note that if you are interested in using DDS/RTPS on really really small platforms (like small microcontrollers) in the years since we did this exploration work in freertps, there has been a lot of great work done for DDS-XRCE by several companies. I would suggest spending some serious time reviewing and following along with their various design processes and implementation work. Thank you for your interest! Cheers ❤️ |
Thanks @codebot , I notice rti, eProsima and others have DSS-XRCE solution. However, they have license limitation, not pure OSS . My thought is, recover freeRTPS by implement minimal RTPS spec and talk correctly with default ROS2 dds, so others can easily expand and customize their product based on it. |
The XRCE spec is still under discussion at OMG and thus there is not yet a real "product" implementing it. However several DDS vendors opened the implementation of their proposal of XRCE under Apache 2.0 licence (the same licence used for the ROS 2 codebase). PrismTech: eProsima also mentionned they will/(have?) released theirs under Apache 2 licence:
from https://discourse.ros.org/t/ipc-in-ros2/2619/14 Maybe @JaimeMartin can give a pointer to a github repository for you to try it out. |
Hi @mikaelarguedas, Yes, we are about to publish the first beta of the XRCE DDS submission, and Apache 2.0 of course. We will publish the code in github first week of december. |
awesome thanks @JaimeMartin for the quick answer (and for the openness of the code of course!) |
Following the guide, I download ros2 source code, and build whole ros2 successfully. However, when I download freertps to src/ros2/freertps, trigger build as below
$ament build src/ros2/freertps
Process package 'freertps' with context:
source_space => /home/jwang/ros2_ws/src/ros2/freertps
build_space => /home/jwang/ros2_ws/build/freertps
install_space => /home/jwang/ros2_ws/install
make_flags => -j8, -l8
build_tests => False
+++ Building 'freertps'
Running cmake because arguments have changed.
==> '. /home/jwang/ros2_ws/build/freertps/cmake__build.sh && /usr/bin/cmake /home/jwang/ros2_ws/src/ros2/freertps -DBUILD_TESTING=0 -DCMAKE_INSTALL_PREFIX=/home/jwang/ros2_ws/install' in '/home/jwang/ros2_ws/build/freertps'
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ament_cmake: 0.0.3 (/home/jwang/ros2_ws/install/share/ament_cmake/cmake)
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.5.2", minimum required is "3")
CMake Warning (dev) at /home/jwang/ros2_ws/install/share/ament_cmake_core/cmake/core/list_append_unique.cmake:30 (if):
Policy CMP0057 is not set: Support new IN_LIST if() operator. Run "cmake
--help-policy CMP0057" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
IN_LIST will be interpreted as an operator when the policy is set to NEW.
Since the policy is not set the OLD behavior will be used.
Call Stack (most recent call first):
/home/jwang/ros2_ws/install/share/ament_cmake_export_include_directories/cmake/ament_export_include_directories.cmake:41 (list_append_unique)
CMakeLists.txt:12 (ament_export_include_directories)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Error at /home/jwang/ros2_ws/install/share/ament_cmake_core/cmake/core/list_append_unique.cmake:30 (if):
if given arguments:
Unknown arguments specified
Call Stack (most recent call first):
/home/jwang/ros2_ws/install/share/ament_cmake_export_include_directories/cmake/ament_export_include_directories.cmake:41 (list_append_unique)
CMakeLists.txt:12 (ament_export_include_directories)
The text was updated successfully, but these errors were encountered: