Open slim71 opened 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
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?
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:
Try to build with the flag UAGENT_USE_SYSTEM_LOGGER
enabled.
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):
colcon build --cmake-args -DUAGENT_USE_SYSTEM_LOGGER=ON --packages-select microxrcedds_agent
colcon build --cmake-args " -DUAGENT_USE_SYSTEM_LOGGER=ON" --packages-select microxrcedds_agent
colcon build --packages-select microxrcedds_agent --cmake-args " -DUAGENT_USE_SYSTEM_LOGGER=ON"
colcon build --packages-select=microxrcedds_agent --cmake-args " -DUAGENT_USE_SYSTEM_LOGGER=ON"
colcon build --packages-select microxrcedds_agent --cmake-args -DUAGENT_USE_SYSTEM_LOGGER=ON
colcon build --packages-select=microxrcedds_agent --cmake-args -DUAGENT_USE_SYSTEM_LOGGER=ON
but nothing worked.
For completeness, here's the search results I have with what you've shown
Am I missing something here?
Did you start in a clean environment? Ensure that build, log and install folder are removed before running the colcon command
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
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:
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?
Just check the differences between your environment and a clean one, and make sure that you are not installing/modifying spdlog anywhere.
I've tried to check everything I could think of:
ros2 doctor
turtlesim
(+ ros2 doctor
while running)spdlog
installations, but I could not find any (only some VSCode folders, in addition to the same ones you showed)
colcon
I can provide my logs if it can be useful, but other than that I think I'm out of options...
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
Unfortunately not for this... But it works, with the changes I've made in the PR linked to this ticket
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?
Issue template
colcon build
)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 throughspdlog
: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. Sincespdlog
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 thespdlog
repo, I've seen that this issue has been already resolved in newer versions ofspdlog
. 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.