-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot build as a ROS2 package because of reference to outdated spdlog #344
Comments
Which distro of ROS 2 you have installed? Have you tried to build against your local SPDLog installation using the flag Micro-XRCE-DDS-Agent/CMakeLists.txt Line 32 in 40954c2
|
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: micro-ROS/micro-ROS-Agent#186 or micro-ROS/micro-ROS-Agent#50 If I recall correctly Humble has an spdlog version installed, at least, the docker image has it: Try to build with the flag |
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 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... |
Just check the differences between your environment and a clean one, and make sure that you are not installing/modifying spdlog anywhere. |
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 |
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.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 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.
The text was updated successfully, but these errors were encountered: