eProsima / Micro-XRCE-DDS-Agent

Micro XRCE-DDS Agent respository. Looking for commercial support? Contact info@eprosima.com
Apache License 2.0
102 stars 72 forks source link

Cannot build as a ROS2 package because of reference to outdated spdlog #344

Open slim71 opened 9 months ago

slim71 commented 9 months ago

Issue template

Steps to reproduce the issue

Just follow the installation instructions to build within a ROS2 workspace, then try to build with colcon build.

Expected behavior

The project should build successfully with no issues

Actual behavior

The project does not build, returning errors related to the fmt library, linked through spdlog:

$ colcon build 
Starting >>> microxrcedds_agent
--- stderr: microxrcedds_agent                             
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (tinyxml2)
  does not match the name of the calling package (TinyXML2).  This can lead
  to problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/modules/FindTinyXML2.cmake:40 (find_package_handle_standard_args)
  /opt/ros/humble/share/fastrtps/cmake/fastrtps-config.cmake:51 (find_package)
  CMakeLists.txt:153 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/publisher/Publisher.cpp:16:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:174: CMakeFiles/microxrcedds_agent.dir/src/cpp/publisher/Publisher.cpp.o] Error 1
gmake[5]: *** Waiting for unfinished jobs....
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/topic/Topic.cpp:17:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:160: CMakeFiles/microxrcedds_agent.dir/src/cpp/topic/Topic.cpp.o] Error 1
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/participant/Participant.cpp:16:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:146: CMakeFiles/microxrcedds_agent.dir/src/cpp/participant/Participant.cpp.o] Error 1
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/Root.hpp:18,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:20:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
In file included from /usr/include/spdlog/fmt/fmt.h:25,
                 from /usr/include/spdlog/common.h:36,
                 from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/Root.hpp:18,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:20:
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = eprosima::uxr::IPv4EndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [52], unsigned int, eprosima::uxr::IPv4EndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [52], unsigned int, eprosima::uxr::IPv4EndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [52], unsigned int, eprosima::uxr::IPv4EndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::IPv4EndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::IPv4EndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[52], unsigned int&, eprosima::uxr::IPv4EndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1031:17:   required from ‘void eprosima::uxr::Processor<EndPoint>::check_heartbeats() [with EndPoint = eprosima::uxr::IPv4EndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1041:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
 1579 |       formattable,
      |       ^~~~~~~~~~~
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = eprosima::uxr::IPv6EndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [52], unsigned int, eprosima::uxr::IPv6EndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [52], unsigned int, eprosima::uxr::IPv6EndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [52], unsigned int, eprosima::uxr::IPv6EndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::IPv6EndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::IPv6EndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[52], unsigned int&, eprosima::uxr::IPv6EndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1031:17:   required from ‘void eprosima::uxr::Processor<EndPoint>::check_heartbeats() [with EndPoint = eprosima::uxr::IPv6EndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1042:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = eprosima::uxr::CanEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [52], unsigned int, eprosima::uxr::CanEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [52], unsigned int, eprosima::uxr::CanEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [52], unsigned int, eprosima::uxr::CanEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::CanEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::CanEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[52], unsigned int&, eprosima::uxr::CanEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1031:17:   required from ‘void eprosima::uxr::Processor<EndPoint>::check_heartbeats() [with EndPoint = eprosima::uxr::CanEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1043:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = eprosima::uxr::SerialEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [52], unsigned int, eprosima::uxr::SerialEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [52], unsigned int, eprosima::uxr::SerialEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [52], unsigned int, eprosima::uxr::SerialEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::SerialEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::SerialEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[52], unsigned int&, eprosima::uxr::SerialEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1031:17:   required from ‘void eprosima::uxr::Processor<EndPoint>::check_heartbeats() [with EndPoint = eprosima::uxr::SerialEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1044:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = eprosima::uxr::MultiSerialEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [52], unsigned int, eprosima::uxr::MultiSerialEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [52], unsigned int, eprosima::uxr::MultiSerialEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [52], unsigned int, eprosima::uxr::MultiSerialEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::MultiSerialEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::MultiSerialEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[52], unsigned int&, eprosima::uxr::MultiSerialEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1031:17:   required from ‘void eprosima::uxr::Processor<EndPoint>::check_heartbeats() [with EndPoint = eprosima::uxr::MultiSerialEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1045:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = eprosima::uxr::CustomEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [52], unsigned int, eprosima::uxr::CustomEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [52], unsigned int, eprosima::uxr::CustomEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [52], unsigned int, eprosima::uxr::CustomEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::CustomEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::CustomEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[52], unsigned int&, eprosima::uxr::CustomEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1031:17:   required from ‘void eprosima::uxr::Processor<EndPoint>::check_heartbeats() [with EndPoint = eprosima::uxr::CustomEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1046:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const eprosima::uxr::IPv4EndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [23], unsigned int, const eprosima::uxr::IPv4EndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [23], unsigned int, eprosima::uxr::IPv4EndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [23], unsigned int, const eprosima::uxr::IPv4EndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::IPv4EndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::IPv4EndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[23], unsigned int&, const eprosima::uxr::IPv4EndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:113:9:   required from ‘void eprosima::uxr::SessionManager<EndPoint>::destroy_session(const EndPoint&) [with EndPoint = eprosima::uxr::IPv4EndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:264:40:   required from ‘bool eprosima::uxr::Processor<EndPoint>::process_create_client_submessage(eprosima::uxr::InputPacket<EndPoint>&) [with EndPoint = eprosima::uxr::IPv4EndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1041:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const eprosima::uxr::IPv6EndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [23], unsigned int, const eprosima::uxr::IPv6EndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [23], unsigned int, eprosima::uxr::IPv6EndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [23], unsigned int, const eprosima::uxr::IPv6EndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::IPv6EndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::IPv6EndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[23], unsigned int&, const eprosima::uxr::IPv6EndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:113:9:   required from ‘void eprosima::uxr::SessionManager<EndPoint>::destroy_session(const EndPoint&) [with EndPoint = eprosima::uxr::IPv6EndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:264:40:   required from ‘bool eprosima::uxr::Processor<EndPoint>::process_create_client_submessage(eprosima::uxr::InputPacket<EndPoint>&) [with EndPoint = eprosima::uxr::IPv6EndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1042:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const eprosima::uxr::CanEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [23], unsigned int, const eprosima::uxr::CanEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [23], unsigned int, eprosima::uxr::CanEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [23], unsigned int, const eprosima::uxr::CanEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::CanEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::CanEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[23], unsigned int&, const eprosima::uxr::CanEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:113:9:   required from ‘void eprosima::uxr::SessionManager<EndPoint>::destroy_session(const EndPoint&) [with EndPoint = eprosima::uxr::CanEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:264:40:   required from ‘bool eprosima::uxr::Processor<EndPoint>::process_create_client_submessage(eprosima::uxr::InputPacket<EndPoint>&) [with EndPoint = eprosima::uxr::CanEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1043:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const eprosima::uxr::SerialEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [23], unsigned int, const eprosima::uxr::SerialEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [23], unsigned int, eprosima::uxr::SerialEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [23], unsigned int, const eprosima::uxr::SerialEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::SerialEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::SerialEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[23], unsigned int&, const eprosima::uxr::SerialEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:113:9:   required from ‘void eprosima::uxr::SessionManager<EndPoint>::destroy_session(const EndPoint&) [with EndPoint = eprosima::uxr::SerialEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:264:40:   required from ‘bool eprosima::uxr::Processor<EndPoint>::process_create_client_submessage(eprosima::uxr::InputPacket<EndPoint>&) [with EndPoint = eprosima::uxr::SerialEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1044:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const eprosima::uxr::MultiSerialEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [23], unsigned int, const eprosima::uxr::MultiSerialEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [23], unsigned int, eprosima::uxr::MultiSerialEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [23], unsigned int, const eprosima::uxr::MultiSerialEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::MultiSerialEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::MultiSerialEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[23], unsigned int&, const eprosima::uxr::MultiSerialEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:113:9:   required from ‘void eprosima::uxr::SessionManager<EndPoint>::destroy_session(const EndPoint&) [with EndPoint = eprosima::uxr::MultiSerialEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:264:40:   required from ‘bool eprosima::uxr::Processor<EndPoint>::process_create_client_submessage(eprosima::uxr::InputPacket<EndPoint>&) [with EndPoint = eprosima::uxr::MultiSerialEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1045:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const eprosima::uxr::CustomEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [23], unsigned int, const eprosima::uxr::CustomEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [23], unsigned int, eprosima::uxr::CustomEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [23], unsigned int, const eprosima::uxr::CustomEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::CustomEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::CustomEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[23], unsigned int&, const eprosima::uxr::CustomEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:113:9:   required from ‘void eprosima::uxr::SessionManager<EndPoint>::destroy_session(const EndPoint&) [with EndPoint = eprosima::uxr::CustomEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:264:40:   required from ‘bool eprosima::uxr::Processor<EndPoint>::process_create_client_submessage(eprosima::uxr::InputPacket<EndPoint>&) [with EndPoint = eprosima::uxr::CustomEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1046:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:118: CMakeFiles/microxrcedds_agent.dir/src/cpp/processor/Processor.cpp.o] Error 1
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/Root.hpp:18,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/Root.cpp:15:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:104: CMakeFiles/microxrcedds_agent.dir/src/cpp/Root.cpp.o] Error 1
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/Root.hpp:18,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/Agent.cpp:16:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:76: CMakeFiles/microxrcedds_agent.dir/src/cpp/Agent.cpp.o] Error 1
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/client/ProxyClient.cpp:15:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:132: CMakeFiles/microxrcedds_agent.dir/src/cpp/client/ProxyClient.cpp.o] Error 1
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:18,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/Server.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/utils/ArgumentParser.hpp:24,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/AgentInstance.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/AgentInstance.cpp:16:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:90: CMakeFiles/microxrcedds_agent.dir/src/cpp/AgentInstance.cpp.o] Error 1
gmake[4]: *** [CMakeFiles/Makefile2:85: CMakeFiles/microxrcedds_agent.dir/all] Error 2
gmake[3]: *** [Makefile:136: all] Error 2
gmake[2]: *** [CMakeFiles/uagent.dir/build.make:86: uagent-prefix/src/uagent-stamp/uagent-build] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/uagent.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2
---
Failed   <<< microxrcedds_agent [7.07s, exited with code 2]

Summary: 0 packages finished [7.28s]
  1 package failed: microxrcedds_agent
  1 package had stderr output: microxrcedds_agent

Additional information

Before opening this issue, I've tried to search on the internet. I've found the same problem mentioned inside the spdlog repository, issue spdlog::#2825. Since spdlog is linked through the CMakelists.txt file, I could not just change the flag mentioned there as I would have done if I was building it from source. Following the other issues linked there, namely spdlog::#2805, fmt::#3318 and fmt::#2919 and inspecting the spdlog repo, I've seen that this issue has been already resolved in newer versions of spdlog. Changing the one referenced in the CMakelists.txt file should be enough to close this.

Note: this might occur even when building as a standalone project, but I haven't tried that since I need it as a ROS2 package.

pablogs9 commented 9 months ago

Which distro of ROS 2 you have installed?

Have you tried to build against your local SPDLog installation using the flag UAGENT_USE_SYSTEM_LOGGER? https://github.com/eProsima/Micro-XRCE-DDS-Agent/blob/40954c2379dfcb2bfa9f6ba22146c57c6742b5b7/CMakeLists.txt#L32

slim71 commented 9 months ago

I've got Humble.

Did not try to use that flag, since I do not have any local SPDLog. I might also have missed that flag and any info about the need for a local one. Maybe this issue was already known then?

pablogs9 commented 9 months ago

Yes, I have seen this issue in the past: https://github.com/micro-ROS/micro-ROS-Agent/issues/186 or https://github.com/micro-ROS/micro-ROS-Agent/issues/50

If I recall correctly Humble has an spdlog version installed, at least, the docker image has it:

image

Try to build with the flag UAGENT_USE_SYSTEM_LOGGER enabled.

slim71 commented 9 months ago

I tried but did not manage to make it work. I've tried setting it to ON from the source, and also tried from CLI in multiple ways to avoid errors (note that I have to select the package since I have many in the workspace):

but nothing worked. For completeness, here's the search results I have with what you've shown Screenshot from 2023-09-26 23-09-02

Am I missing something here?

pablogs9 commented 9 months ago

Did you start in a clean environment? Ensure that build, log and install folder are removed before running the colcon command

slim71 commented 9 months ago

I did, and even retried now: no luck (you can ignore the warnings about the packages I built while working on something else)

slim71@slim71-Ubuntu:~/Documents/git/SpartanLIFT$ ls -l build
total 0
slim71@slim71-Ubuntu:~/Documents/git/SpartanLIFT$ ls -l install/
total 0
slim71@slim71-Ubuntu:~/Documents/git/SpartanLIFT$ ls -l log/
total 0
slim71@slim71-Ubuntu:~/Documents/git/SpartanLIFT$ colcon build --packages-select microxrcedds_agent --cmake-args " -DUAGENT_USE_SYSTEM_LOGGER=ON"
[0.368s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/slim71/Documents/git/SpartanLIFT/install/reach' in the environment variable AMENT_PREFIX_PATH doesn't exist
[0.368s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/slim71/Documents/git/SpartanLIFT/install/px4_ros_com' in the environment variable AMENT_PREFIX_PATH doesn't exist
[0.368s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/slim71/Documents/git/SpartanLIFT/install/pelican' in the environment variable AMENT_PREFIX_PATH doesn't exist
[0.368s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/slim71/Documents/git/SpartanLIFT/install/px4_msgs' in the environment variable AMENT_PREFIX_PATH doesn't exist
[0.369s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/slim71/Documents/git/SpartanLIFT/install/px4' in the environment variable AMENT_PREFIX_PATH doesn't exist
[0.369s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/slim71/Documents/git/SpartanLIFT/install/odst' in the environment variable AMENT_PREFIX_PATH doesn't exist
[0.369s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/slim71/Documents/git/SpartanLIFT/install/comms' in the environment variable AMENT_PREFIX_PATH doesn't exist
[0.369s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/slim71/Documents/git/SpartanLIFT/install/cargo' in the environment variable AMENT_PREFIX_PATH doesn't exist
[0.370s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/slim71/Documents/git/SpartanLIFT/install/reach' in the environment variable CMAKE_PREFIX_PATH doesn't exist
[0.370s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/slim71/Documents/git/SpartanLIFT/install/px4_ros_com' in the environment variable CMAKE_PREFIX_PATH doesn't exist
[0.370s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/slim71/Documents/git/SpartanLIFT/install/pelican' in the environment variable CMAKE_PREFIX_PATH doesn't exist
[0.370s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/slim71/Documents/git/SpartanLIFT/install/px4_msgs' in the environment variable CMAKE_PREFIX_PATH doesn't exist
[0.370s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/slim71/Documents/git/SpartanLIFT/install/px4' in the environment variable CMAKE_PREFIX_PATH doesn't exist
[0.370s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/slim71/Documents/git/SpartanLIFT/install/comms' in the environment variable CMAKE_PREFIX_PATH doesn't exist
[0.370s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/slim71/Documents/git/SpartanLIFT/install/cargo' in the environment variable CMAKE_PREFIX_PATH doesn't exist
Starting >>> microxrcedds_agent
--- stderr: microxrcedds_agent                             
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (tinyxml2)
  does not match the name of the calling package (TinyXML2).  This can lead
  to problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/modules/FindTinyXML2.cmake:40 (find_package_handle_standard_args)
  /opt/ros/humble/share/fastrtps/cmake/fastrtps-config.cmake:51 (find_package)
  CMakeLists.txt:153 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/participant/Participant.cpp:16:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:146: CMakeFiles/microxrcedds_agent.dir/src/cpp/participant/Participant.cpp.o] Error 1
gmake[5]: *** Waiting for unfinished jobs....
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/publisher/Publisher.cpp:16:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:174: CMakeFiles/microxrcedds_agent.dir/src/cpp/publisher/Publisher.cpp.o] Error 1
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/topic/Topic.cpp:17:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:160: CMakeFiles/microxrcedds_agent.dir/src/cpp/topic/Topic.cpp.o] Error 1
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/Root.hpp:18,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:20:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
In file included from /usr/include/spdlog/fmt/fmt.h:25,
                 from /usr/include/spdlog/common.h:36,
                 from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/Root.hpp:18,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:20:
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = eprosima::uxr::IPv4EndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [52], unsigned int, eprosima::uxr::IPv4EndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [52], unsigned int, eprosima::uxr::IPv4EndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [52], unsigned int, eprosima::uxr::IPv4EndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::IPv4EndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::IPv4EndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[52], unsigned int&, eprosima::uxr::IPv4EndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1031:17:   required from ‘void eprosima::uxr::Processor<EndPoint>::check_heartbeats() [with EndPoint = eprosima::uxr::IPv4EndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1041:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
 1579 |       formattable,
      |       ^~~~~~~~~~~
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = eprosima::uxr::IPv6EndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [52], unsigned int, eprosima::uxr::IPv6EndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [52], unsigned int, eprosima::uxr::IPv6EndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [52], unsigned int, eprosima::uxr::IPv6EndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::IPv6EndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::IPv6EndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[52], unsigned int&, eprosima::uxr::IPv6EndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1031:17:   required from ‘void eprosima::uxr::Processor<EndPoint>::check_heartbeats() [with EndPoint = eprosima::uxr::IPv6EndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1042:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = eprosima::uxr::CanEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [52], unsigned int, eprosima::uxr::CanEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [52], unsigned int, eprosima::uxr::CanEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [52], unsigned int, eprosima::uxr::CanEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::CanEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::CanEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[52], unsigned int&, eprosima::uxr::CanEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1031:17:   required from ‘void eprosima::uxr::Processor<EndPoint>::check_heartbeats() [with EndPoint = eprosima::uxr::CanEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1043:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = eprosima::uxr::SerialEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [52], unsigned int, eprosima::uxr::SerialEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [52], unsigned int, eprosima::uxr::SerialEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [52], unsigned int, eprosima::uxr::SerialEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::SerialEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::SerialEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[52], unsigned int&, eprosima::uxr::SerialEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1031:17:   required from ‘void eprosima::uxr::Processor<EndPoint>::check_heartbeats() [with EndPoint = eprosima::uxr::SerialEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1044:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = eprosima::uxr::MultiSerialEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [52], unsigned int, eprosima::uxr::MultiSerialEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [52], unsigned int, eprosima::uxr::MultiSerialEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [52], unsigned int, eprosima::uxr::MultiSerialEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::MultiSerialEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::MultiSerialEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[52], unsigned int&, eprosima::uxr::MultiSerialEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1031:17:   required from ‘void eprosima::uxr::Processor<EndPoint>::check_heartbeats() [with EndPoint = eprosima::uxr::MultiSerialEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1045:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = eprosima::uxr::CustomEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [52], unsigned int, eprosima::uxr::CustomEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [52], unsigned int, eprosima::uxr::CustomEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [52], unsigned int, eprosima::uxr::CustomEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::CustomEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[52], unsigned int&, eprosima::uxr::CustomEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[52], unsigned int&, eprosima::uxr::CustomEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1031:17:   required from ‘void eprosima::uxr::Processor<EndPoint>::check_heartbeats() [with EndPoint = eprosima::uxr::CustomEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1046:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const eprosima::uxr::IPv4EndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [23], unsigned int, const eprosima::uxr::IPv4EndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [23], unsigned int, eprosima::uxr::IPv4EndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [23], unsigned int, const eprosima::uxr::IPv4EndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::IPv4EndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::IPv4EndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[23], unsigned int&, const eprosima::uxr::IPv4EndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:113:9:   required from ‘void eprosima::uxr::SessionManager<EndPoint>::destroy_session(const EndPoint&) [with EndPoint = eprosima::uxr::IPv4EndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:264:40:   required from ‘bool eprosima::uxr::Processor<EndPoint>::process_create_client_submessage(eprosima::uxr::InputPacket<EndPoint>&) [with EndPoint = eprosima::uxr::IPv4EndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1041:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const eprosima::uxr::IPv6EndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [23], unsigned int, const eprosima::uxr::IPv6EndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [23], unsigned int, eprosima::uxr::IPv6EndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [23], unsigned int, const eprosima::uxr::IPv6EndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::IPv6EndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::IPv6EndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[23], unsigned int&, const eprosima::uxr::IPv6EndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:113:9:   required from ‘void eprosima::uxr::SessionManager<EndPoint>::destroy_session(const EndPoint&) [with EndPoint = eprosima::uxr::IPv6EndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:264:40:   required from ‘bool eprosima::uxr::Processor<EndPoint>::process_create_client_submessage(eprosima::uxr::InputPacket<EndPoint>&) [with EndPoint = eprosima::uxr::IPv6EndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1042:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const eprosima::uxr::CanEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [23], unsigned int, const eprosima::uxr::CanEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [23], unsigned int, eprosima::uxr::CanEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [23], unsigned int, const eprosima::uxr::CanEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::CanEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::CanEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[23], unsigned int&, const eprosima::uxr::CanEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:113:9:   required from ‘void eprosima::uxr::SessionManager<EndPoint>::destroy_session(const EndPoint&) [with EndPoint = eprosima::uxr::CanEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:264:40:   required from ‘bool eprosima::uxr::Processor<EndPoint>::process_create_client_submessage(eprosima::uxr::InputPacket<EndPoint>&) [with EndPoint = eprosima::uxr::CanEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1043:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const eprosima::uxr::SerialEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [23], unsigned int, const eprosima::uxr::SerialEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [23], unsigned int, eprosima::uxr::SerialEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [23], unsigned int, const eprosima::uxr::SerialEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::SerialEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::SerialEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[23], unsigned int&, const eprosima::uxr::SerialEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:113:9:   required from ‘void eprosima::uxr::SessionManager<EndPoint>::destroy_session(const EndPoint&) [with EndPoint = eprosima::uxr::SerialEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:264:40:   required from ‘bool eprosima::uxr::Processor<EndPoint>::process_create_client_submessage(eprosima::uxr::InputPacket<EndPoint>&) [with EndPoint = eprosima::uxr::SerialEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1044:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const eprosima::uxr::MultiSerialEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [23], unsigned int, const eprosima::uxr::MultiSerialEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [23], unsigned int, eprosima::uxr::MultiSerialEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [23], unsigned int, const eprosima::uxr::MultiSerialEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::MultiSerialEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::MultiSerialEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[23], unsigned int&, const eprosima::uxr::MultiSerialEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:113:9:   required from ‘void eprosima::uxr::SessionManager<EndPoint>::destroy_session(const EndPoint&) [with EndPoint = eprosima::uxr::MultiSerialEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:264:40:   required from ‘bool eprosima::uxr::Processor<EndPoint>::process_create_client_submessage(eprosima::uxr::InputPacket<EndPoint>&) [with EndPoint = eprosima::uxr::MultiSerialEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1045:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
/usr/local/include/fmt/core.h: In instantiation of ‘fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const eprosima::uxr::CustomEndPoint; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’:
/usr/local/include/fmt/core.h:1807:51:   required from ‘fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const char [23], unsigned int, const eprosima::uxr::CustomEndPoint}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {char [23], unsigned int, eprosima::uxr::CustomEndPoint}]’
/usr/local/include/fmt/core.h:1825:18:   required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const char [23], unsigned int, const eprosima::uxr::CustomEndPoint}]’
/usr/include/spdlog/logger.h:332:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::CustomEndPoint&}; spdlog::string_view_t = fmt::v10::basic_string_view<char>]’
/usr/include/spdlog/logger.h:83:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v10::format_string<T ...>, Args&& ...) [with Args = {const char (&)[23], unsigned int&, const eprosima::uxr::CustomEndPoint&}; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const char (&)[23], unsigned int&, const eprosima::uxr::CustomEndPoint&>]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:113:9:   required from ‘void eprosima::uxr::SessionManager<EndPoint>::destroy_session(const EndPoint&) [with EndPoint = eprosima::uxr::CustomEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:264:40:   required from ‘bool eprosima::uxr::Processor<EndPoint>::process_create_client_submessage(eprosima::uxr::InputPacket<EndPoint>&) [with EndPoint = eprosima::uxr::CustomEndPoint]’
/home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/processor/Processor.cpp:1046:16:   required from here
/usr/local/include/fmt/core.h:1579:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
/usr/local/include/fmt/core.h:1579:7: note: ‘formattable’ evaluates to false
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:118: CMakeFiles/microxrcedds_agent.dir/src/cpp/processor/Processor.cpp.o] Error 1
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/Root.hpp:18,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/Agent.cpp:16:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:76: CMakeFiles/microxrcedds_agent.dir/src/cpp/Agent.cpp.o] Error 1
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/client/ProxyClient.cpp:15:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:132: CMakeFiles/microxrcedds_agent.dir/src/cpp/client/ProxyClient.cpp.o] Error 1
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/SessionManager.hpp:18,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/transport/Server.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/utils/ArgumentParser.hpp:24,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/AgentInstance.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/AgentInstance.cpp:16:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:90: CMakeFiles/microxrcedds_agent.dir/src/cpp/AgentInstance.cpp.o] Error 1
In file included from /usr/include/spdlog/spdlog.h:12,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/logger/Logger.hpp:23,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/stream/OutputStream.hpp:22,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/session/Session.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/client/ProxyClient.hpp:20,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/include/uxr/agent/Root.hpp:18,
                 from /home/slim71/Documents/git/SpartanLIFT/src/Micro-XRCE-DDS-Agent/src/cpp/Root.cpp:15:
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                               ^~~~~~~~~~~~~
/usr/include/spdlog/common.h:127:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/usr/include/spdlog/common.h:127:125: error: template argument 2 is invalid
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                             ^~~~
/usr/include/spdlog/common.h:127:138: error: expected ‘{’ before ‘>’ token
  127 |           std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                                                          ^
gmake[5]: *** [CMakeFiles/microxrcedds_agent.dir/build.make:104: CMakeFiles/microxrcedds_agent.dir/src/cpp/Root.cpp.o] Error 1
gmake[4]: *** [CMakeFiles/Makefile2:85: CMakeFiles/microxrcedds_agent.dir/all] Error 2
gmake[3]: *** [Makefile:136: all] Error 2
gmake[2]: *** [CMakeFiles/uagent.dir/build.make:86: uagent-prefix/src/uagent-stamp/uagent-build] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/uagent.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2
---
Failed   <<< microxrcedds_agent [5.76s, exited with code 2]

Summary: 0 packages finished [5.96s]
  1 package failed: microxrcedds_agent
  1 package had stderr output: microxrcedds_agent
pablogs9 commented 9 months ago

Are you sure that you have a clean humble installation?

I have just tried to replicate in a clean ROS 2 Humble docker with no problem:

https://asciinema.org/a/6aU9thzS4ivJTzBH0yD930EkQ

slim71 commented 9 months ago

Not clean aka new, since I'm working with it, but it should be all good and with no problems... I'll check back once I get back to it, since I'm out now... Any specific suggestions as what to look out for? Or additional info that might prove useful?

pablogs9 commented 9 months ago

Just check the differences between your environment and a clean one, and make sure that you are not installing/modifying spdlog anywhere.

slim71 commented 9 months ago

I've tried to check everything I could think of:

I can provide my logs if it can be useful, but other than that I think I'm out of options...

pablogs9 commented 9 months ago

Is it not possible for you to use the dockerized version of the micro-ROS Agent? https://hub.docker.com/r/microros/micro-ros-agent

slim71 commented 9 months ago

Unfortunately not for this... But it works, with the changes I've made in the PR linked to this ticket

Mendeler commented 7 months ago

Unfortunately not for this... But it works, with the changes I've made in the PR linked to this ticket

Sorry,` I'm not familiar with GitHub, I also encountered this compilation problem with Ubuntu22.04+humble, how did you solve it, thank you?