mavlink / mavros

MAVLink to ROS gateway with proxy for Ground Control Station
Other
902 stars 993 forks source link

Not working with ROS2 humble #1757

Closed Macavitycode closed 2 years ago

Macavitycode commented 2 years ago

I recently upgraded my setup to using Ubuntu 22.04 and ROS2 humble (from 20.04 and ROS2 foxy) and was looking to migrate and update few projects which use mavros.

Questions:

# $ colcon build

Starting >>> mavlink 
Starting >>> mavros_msgs
Finished <<< mavlink [0.18s]         
Starting >>> libmavconn
Finished <<< mavros_msgs [2.18s]     
--- stderr: libmavconn   
In file included from /usr/include/c++/11/cstdio:42,
                 from /usr/include/c++/11/ext/string_conversions.h:43,
                 from /usr/include/c++/11/bits/basic_string.h:6608,
                 from /usr/include/c++/11/string:55,
                 from /home/shashankrajivmoghe/ros/build/libmavconn/generated/src/mavlink_helpers.cpp:20:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected identifier before ‘(’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected ‘}’ before ‘(’ token
In file included from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/interface.hpp:26,
                 from /home/shashankrajivmoghe/ros/build/libmavconn/generated/src/mavlink_helpers.cpp:24:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2320:1: note: to match this ‘{’
 2320 | {
      | ^
In file included from /usr/include/c++/11/cstdio:42,
                 from /usr/include/c++/11/ext/string_conversions.h:43,
                 from /usr/include/c++/11/bits/basic_string.h:6608,
                 from /usr/include/c++/11/string:55,
                 from /home/shashankrajivmoghe/ros/build/libmavconn/generated/src/mavlink_helpers.cpp:20:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected unqualified-id before ‘-’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected ‘)’ before ‘-’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
In file included from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/interface.hpp:26,
                 from /home/shashankrajivmoghe/ros/build/libmavconn/generated/src/mavlink_helpers.cpp:24:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2366:1: error: expected declaration before ‘}’ token
 2366 | } // namespace mavlink
      | ^
In file included from /usr/include/c++/11/cstdio:42,
                 from /usr/include/c++/11/ext/string_conversions.h:43,
                 from /usr/include/c++/11/bits/basic_string.h:6608,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/console_bridge/console.h:40,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/console_bridge_compat.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/tcp.cpp:18:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected identifier before ‘(’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected ‘}’ before ‘(’ token
In file included from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/interface.hpp:26,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/tcp.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/tcp.cpp:19:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2320:1: note: to match this ‘{’
 2320 | {
      | ^
In file included from /usr/include/c++/11/cstdio:42,
                 from /usr/include/c++/11/ext/string_conversions.h:43,
                 from /usr/include/c++/11/bits/basic_string.h:6608,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/console_bridge/console.h:40,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/console_bridge_compat.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/tcp.cpp:18:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected unqualified-id before ‘-’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected ‘)’ before ‘-’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
In file included from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/interface.hpp:26,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/tcp.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/tcp.cpp:19:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2366:1: error: expected declaration before ‘}’ token
 2366 | } // namespace mavlink
      | ^
In file included from /usr/include/c++/11/cstdio:42,
                 from /usr/include/c++/11/ext/string_conversions.h:43,
                 from /usr/include/c++/11/bits/basic_string.h:6608,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/console_bridge/console.h:40,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/console_bridge_compat.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/serial.cpp:22:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected identifier before ‘(’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected ‘}’ before ‘(’ token
In file included from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/interface.hpp:26,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/serial.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/serial.cpp:23:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2320:1: note: to match this ‘{’
 2320 | {
      | ^
In file included from /usr/include/c++/11/cstdio:42,
                 from /usr/include/c++/11/ext/string_conversions.h:43,
                 from /usr/include/c++/11/bits/basic_string.h:6608,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/console_bridge/console.h:40,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/console_bridge_compat.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/serial.cpp:22:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected unqualified-id before ‘-’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected ‘)’ before ‘-’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
In file included from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/interface.hpp:26,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/serial.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/serial.cpp:23:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2366:1: error: expected declaration before ‘}’ token
 2366 | } // namespace mavlink
      | ^
In file included from /usr/include/c++/11/cstdio:42,
                 from /usr/include/c++/11/ext/string_conversions.h:43,
                 from /usr/include/c++/11/bits/basic_string.h:6608,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/console_bridge/console.h:40,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/console_bridge_compat.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/interface.cpp:18:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected identifier before ‘(’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected ‘}’ before ‘(’ token
In file included from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/interface.hpp:26,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/interface.cpp:19:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2320:1: note: to match this ‘{’
 2320 | {
      | ^
In file included from /usr/include/c++/11/cstdio:42,
                 from /usr/include/c++/11/ext/string_conversions.h:43,
                 from /usr/include/c++/11/bits/basic_string.h:6608,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/console_bridge/console.h:40,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/console_bridge_compat.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/interface.cpp:18:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected unqualified-id before ‘-’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected ‘)’ before ‘-’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
In file included from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/interface.hpp:26,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/interface.cpp:19:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2366:1: error: expected declaration before ‘}’ token
 2366 | } // namespace mavlink
      | ^
In file included from /usr/include/c++/11/cstdio:42,
                 from /usr/include/c++/11/ext/string_conversions.h:43,
                 from /usr/include/c++/11/bits/basic_string.h:6608,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/console_bridge/console.h:40,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/console_bridge_compat.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/udp.cpp:18:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected identifier before ‘(’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected ‘}’ before ‘(’ token
In file included from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/interface.hpp:26,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/udp.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/udp.cpp:20:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2320:1: note: to match this ‘{’
 2320 | {
      | ^
In file included from /usr/include/c++/11/cstdio:42,
                 from /usr/include/c++/11/ext/string_conversions.h:43,
                 from /usr/include/c++/11/bits/basic_string.h:6608,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/console_bridge/console.h:40,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/console_bridge_compat.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/udp.cpp:18:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected unqualified-id before ‘-’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2328:5: error: expected ‘)’ before ‘-’ token
 2328 |     EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
      |     ^~~
In file included from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/interface.hpp:26,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/include/mavconn/udp.hpp:22,
                 from /home/shashankrajivmoghe/ros/src/mavros/libmavconn/src/udp.cpp:20:
/home/shashankrajivmoghe/ros/install/mavlink/include/mavlink/v2.0/common/common.hpp:2366:1: error: expected declaration before ‘}’ token
 2366 | } // namespace mavlink
      | ^
gmake[2]: *** [CMakeFiles/mavconn.dir/build.make:76: CMakeFiles/mavconn.dir/generated/src/mavlink_helpers.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: *** [CMakeFiles/mavconn.dir/build.make:90: CMakeFiles/mavconn.dir/src/interface.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/mavconn.dir/build.make:104: CMakeFiles/mavconn.dir/src/serial.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/mavconn.dir/build.make:132: CMakeFiles/mavconn.dir/src/udp.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/mavconn.dir/build.make:118: CMakeFiles/mavconn.dir/src/tcp.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:157: CMakeFiles/mavconn.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< libmavconn [2.67s, exited with code 2]

Summary: 2 packages finished [2.99s]
  1 package failed: libmavconn
  1 package had stderr output: libmavconn
  2 packages not processed
vooon commented 2 years ago

You should try to use ros2 branch, because master is for ros1.

clydemcqueen commented 2 years ago

I am seeing the same problem building the ros2 branch in Humble. It builds fine in Galactic. It fails in mavlink/v2.0/common/common.hpp:

enum class MAV_FTP_ERR
{
    NONE=0, /* None: No error | */
    FAIL=1, /* Fail: Unknown failure | */
    FAILERRNO=2, /* FailErrno: Command failed, Err number sent back in PayloadHeader.data[1].
        This is a file-system error number understood by the server operating system. | */
    INVALIDDATASIZE=3, /* InvalidDataSize: Payload size is invalid | */
    INVALIDSESSION=4, /* InvalidSession: Session is not currently open | */
    NOSESSIONSAVAILABLE=5, /* NoSessionsAvailable: All available sessions are already in use | */
    EOF=6, /* EOF: Offset past end of file for ListDirectory and ReadFile commands | */
    UNKNOWNCOMMAND=7, /* UnknownCommand: Unknown command / opcode | */
    FILEEXISTS=8, /* FileExists: File/directory already exists | */
    FILEPROTECTED=9, /* FileProtected: File/directory is write protected | */
    FILENOTFOUND=10, /* FileNotFound: File/directory not found | */
};

EOF is defined in /usr/include/stdio.h. I'm not sure if there is a workaround.

This was already reported here: https://github.com/mavlink/mavlink/issues/1853

vooon commented 2 years ago

@clydemcqueen that require really simple fix to mavgen to enum name generation. But i do not have any interest in committing to ignorant people anymore, sorry.

vooon commented 2 years ago

If somebody in reward for all that years just ignore you're messages, he is ignorant, isn't it? Anyway "thanks", immigration done without confirmation of my OSS contributions.

Macavitycode commented 2 years ago

@vooon I'm really sorry you feel that way. I hadn't realised the same bug was reported earlier, but as of now that thread too has no fix per say. It'd be very helpful to everyone who's shifting to humble and facing the same issue if you could please take a minute and explain what is the fix to mavgen to enum name generation is.

vooon commented 2 years ago

@Macavitycode fix it's really simple: just need to add a list of reserved words, like 'NULL' or 'EOF' (please check C spec). Then you may change prefix removal to check that list and return part of prefix in case of that entries: in other words: MAV_FTP_ERR_EOF -> ERR_EOF. (That solution i believe more common).

Other possibility is just extend MACROS dict in mavgencpp11.py to have entries `'NULL': 'NULL', 'EOF': 'EOF_'`, etc. Also you may try to use older mavlink releases, without MAV_FTP_ERR enum.

Macavitycode commented 2 years ago

Thank you so much for that. I followed that and submitted my first PR to ArduPilot/pymavlink link.

There is still a compilation error with mavros though, and I am unable to make heads or tails of it. Please advise on what to do.

shashankrajivmoghe@pop-os:~/ros$ colcon build
Starting >>> mavlink 
Starting >>> mavros_msgs
Finished <<< mavlink [2.31s]
Starting >>> libmavconn
Finished <<< libmavconn [7.46s]                                                               
[Processing: mavros_msgs]                             
Finished <<< mavros_msgs [1min 3s]                             
Starting >>> mavros
--- stderr: mavros                                    
/usr/lib/python3/dist-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'author-email' will not be supported in future versions. Please use the underscore name 'author_email' instead
  warnings.warn(
/usr/lib/python3/dist-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'script-dir' will not be supported in future versions. Please use the underscore name 'script_dir' instead
  warnings.warn(
/usr/lib/python3/dist-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'install-scripts' will not be supported in future versions. Please use the underscore name 'install_scripts' instead
  warnings.warn(
In file included from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:45,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/uas_executor.hpp:26,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_executor.cpp:16:
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:100:47: error: expected unqualified-id before ‘)’ token
  100 |   SubscriptionOptionsWithAllocator<Allocator>() {}
      |                                               ^
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_tf.cpp:19:
/opt/ros/humble/include/tf2_eigen/tf2_eigen/tf2_eigen.h:32:2: warning: #warning This header is obsolete, please include tf2_eigen/tf2_eigen.hpp instead [-Wcpp]
   32 | #warning This header is obsolete, please include tf2_eigen/tf2_eigen.hpp instead
      |  ^~~~~~~
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/uas_executor.hpp:26,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_executor.cpp:16:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:75:44: error: expected unqualified-id before ‘)’ token
   75 |   PublisherOptionsWithAllocator<Allocator>() {}
      |                                            ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:45,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_data.cpp:19:
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:100:47: error: expected unqualified-id before ‘)’ token
  100 |   SubscriptionOptionsWithAllocator<Allocator>() {}
      |                                               ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:45,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_ap.cpp:18:
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:100:47: error: expected unqualified-id before ‘)’ token
  100 |   SubscriptionOptionsWithAllocator<Allocator>() {}
      |                                               ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_data.cpp:19:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:75:44: error: expected unqualified-id before ‘)’ token
   75 |   PublisherOptionsWithAllocator<Allocator>() {}
      |                                            ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_ap.cpp:18:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:75:44: error: expected unqualified-id before ‘)’ token
   75 |   PublisherOptionsWithAllocator<Allocator>() {}
      |                                            ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:45,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/plugin.cpp:16:
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:100:47: error: expected unqualified-id before ‘)’ token
  100 |   SubscriptionOptionsWithAllocator<Allocator>() {}
      |                                               ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/plugin.cpp:16:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:75:44: error: expected unqualified-id before ‘)’ token
   75 |   PublisherOptionsWithAllocator<Allocator>() {}
      |                                            ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:45,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_stringify.cpp:20:
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:100:47: error: expected unqualified-id before ‘)’ token
  100 |   SubscriptionOptionsWithAllocator<Allocator>() {}
      |                                               ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_stringify.cpp:20:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:75:44: error: expected unqualified-id before ‘)’ token
   75 |   PublisherOptionsWithAllocator<Allocator>() {}
      |                                            ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:45,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:100:47: error: expected unqualified-id before ‘)’ token
  100 |   SubscriptionOptionsWithAllocator<Allocator>() {}
      |                                               ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:75:44: error: expected unqualified-id before ‘)’ token
   75 |   PublisherOptionsWithAllocator<Allocator>() {}
      |                                            ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:45,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_timesync.cpp:14:
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:100:47: error: expected unqualified-id before ‘)’ token
  100 |   SubscriptionOptionsWithAllocator<Allocator>() {}
      |                                               ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_timesync.cpp:14:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:75:44: error: expected unqualified-id before ‘)’ token
   75 |   PublisherOptionsWithAllocator<Allocator>() {}
      |                                            ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:45,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_tf.cpp:18:
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:100:47: error: expected unqualified-id before ‘)’ token
  100 |   SubscriptionOptionsWithAllocator<Allocator>() {}
      |                                               ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_tf.cpp:18:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:75:44: error: expected unqualified-id before ‘)’ token
   75 |   PublisherOptionsWithAllocator<Allocator>() {}
      |                                            ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/node_impl.hpp:41,
                 from /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:1321,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_data.cpp:19:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp: In function ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp:99:13: error: no matching function for call to ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator()’
   98 |   const rclcpp::PublisherOptionsWithAllocator<AllocatorT> & options = (
      |                                                                       ~
   99 |     rclcpp::PublisherOptionsWithAllocator<AllocatorT>()
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  100 |   )
      |   ~          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_data.cpp:19:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<Allocator>::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsBase&) [with Allocator = std::allocator<void>]’
   78 |   explicit PublisherOptionsWithAllocator(const PublisherOptionsBase & publisher_options_base)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&)’
   66 | struct PublisherOptionsWithAllocator : public PublisherOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:36,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_data.cpp:19:
/opt/ros/humble/include/diagnostic_updater/diagnostic_updater.hpp:389:70: note:   when instantiating default argument for call to ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’
  389 |       rclcpp::create_publisher<diagnostic_msgs::msg::DiagnosticArray>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  390 |         topics_interface, "/diagnostics", 1)),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:45,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/enum_to_string.cpp:22:
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:100:47: error: expected unqualified-id before ‘)’ token
  100 |   SubscriptionOptionsWithAllocator<Allocator>() {}
      |                                               ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/enum_to_string.cpp:22:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:75:44: error: expected unqualified-id before ‘)’ token
   75 |   PublisherOptionsWithAllocator<Allocator>() {}
      |                                            ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/node_impl.hpp:41,
                 from /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:1321,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_ap.cpp:18:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp: In function ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp:99:13: error: no matching function for call to ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator()’
   98 |   const rclcpp::PublisherOptionsWithAllocator<AllocatorT> & options = (
      |                                                                       ~
   99 |     rclcpp::PublisherOptionsWithAllocator<AllocatorT>()
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  100 |   )
      |   ~          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_ap.cpp:18:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<Allocator>::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsBase&) [with Allocator = std::allocator<void>]’
   78 |   explicit PublisherOptionsWithAllocator(const PublisherOptionsBase & publisher_options_base)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&)’
   66 | struct PublisherOptionsWithAllocator : public PublisherOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:36,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_ap.cpp:18:
/opt/ros/humble/include/diagnostic_updater/diagnostic_updater.hpp:389:70: note:   when instantiating default argument for call to ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’
  389 |       rclcpp::create_publisher<diagnostic_msgs::msg::DiagnosticArray>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  390 |         topics_interface, "/diagnostics", 1)),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/node_impl.hpp:41,
                 from /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:1321,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/plugin.cpp:16:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp: In function ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp:99:13: error: no matching function for call to ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator()’
   98 |   const rclcpp::PublisherOptionsWithAllocator<AllocatorT> & options = (
      |                                                                       ~
   99 |     rclcpp::PublisherOptionsWithAllocator<AllocatorT>()
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  100 |   )
      |   ~          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/plugin.cpp:16:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<Allocator>::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsBase&) [with Allocator = std::allocator<void>]’
   78 |   explicit PublisherOptionsWithAllocator(const PublisherOptionsBase & publisher_options_base)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&)’
   66 | struct PublisherOptionsWithAllocator : public PublisherOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:36,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/plugin.cpp:16:
/opt/ros/humble/include/diagnostic_updater/diagnostic_updater.hpp:389:70: note:   when instantiating default argument for call to ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’
  389 |       rclcpp::create_publisher<diagnostic_msgs::msg::DiagnosticArray>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  390 |         topics_interface, "/diagnostics", 1)),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:45,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/enum_sensor_orientation.cpp:23:
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:100:47: error: expected unqualified-id before ‘)’ token
  100 |   SubscriptionOptionsWithAllocator<Allocator>() {}
      |                                               ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/enum_sensor_orientation.cpp:23:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:75:44: error: expected unqualified-id before ‘)’ token
   75 |   PublisherOptionsWithAllocator<Allocator>() {}
      |                                            ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/node_impl.hpp:41,
                 from /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:1321,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_stringify.cpp:20:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp: In function ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp:99:13: error: no matching function for call to ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator()’
   98 |   const rclcpp::PublisherOptionsWithAllocator<AllocatorT> & options = (
      |                                                                       ~
   99 |     rclcpp::PublisherOptionsWithAllocator<AllocatorT>()
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  100 |   )
      |   ~          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_stringify.cpp:20:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<Allocator>::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsBase&) [with Allocator = std::allocator<void>]’
   78 |   explicit PublisherOptionsWithAllocator(const PublisherOptionsBase & publisher_options_base)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&)’
   66 | struct PublisherOptionsWithAllocator : public PublisherOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:36,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_stringify.cpp:20:
/opt/ros/humble/include/diagnostic_updater/diagnostic_updater.hpp:389:70: note:   when instantiating default argument for call to ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’
  389 |       rclcpp::create_publisher<diagnostic_msgs::msg::DiagnosticArray>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  390 |         topics_interface, "/diagnostics", 1)),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:45,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_router.hpp:37,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_router.cpp:20:
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:100:47: error: expected unqualified-id before ‘)’ token
  100 |   SubscriptionOptionsWithAllocator<Allocator>() {}
      |                                               ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_router.hpp:37,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_router.cpp:20:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:75:44: error: expected unqualified-id before ‘)’ token
   75 |   PublisherOptionsWithAllocator<Allocator>() {}
      |                                            ^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/node_impl.hpp:41,
                 from /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:1321,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_timesync.cpp:14:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp: In function ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp:99:13: error: no matching function for call to ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator()’
   98 |   const rclcpp::PublisherOptionsWithAllocator<AllocatorT> & options = (
      |                                                                       ~
   99 |     rclcpp::PublisherOptionsWithAllocator<AllocatorT>()
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  100 |   )
      |   ~          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_timesync.cpp:14:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<Allocator>::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsBase&) [with Allocator = std::allocator<void>]’
   78 |   explicit PublisherOptionsWithAllocator(const PublisherOptionsBase & publisher_options_base)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&)’
   66 | struct PublisherOptionsWithAllocator : public PublisherOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:36,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_timesync.cpp:14:
/opt/ros/humble/include/diagnostic_updater/diagnostic_updater.hpp:389:70: note:   when instantiating default argument for call to ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’
  389 |       rclcpp::create_publisher<diagnostic_msgs::msg::DiagnosticArray>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  390 |         topics_interface, "/diagnostics", 1)),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/node_impl.hpp:41,
                 from /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:1321,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_tf.cpp:18:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp: In function ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp:99:13: error: no matching function for call to ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator()’
   98 |   const rclcpp::PublisherOptionsWithAllocator<AllocatorT> & options = (
      |                                                                       ~
   99 |     rclcpp::PublisherOptionsWithAllocator<AllocatorT>()
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  100 |   )
      |   ~          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_tf.cpp:18:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<Allocator>::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsBase&) [with Allocator = std::allocator<void>]’
   78 |   explicit PublisherOptionsWithAllocator(const PublisherOptionsBase & publisher_options_base)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&)’
   66 | struct PublisherOptionsWithAllocator : public PublisherOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:36,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_tf.cpp:18:
/opt/ros/humble/include/diagnostic_updater/diagnostic_updater.hpp:389:70: note:   when instantiating default argument for call to ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’
  389 |       rclcpp::create_publisher<diagnostic_msgs::msg::DiagnosticArray>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  390 |         topics_interface, "/diagnostics", 1)),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/node_impl.hpp:41,
                 from /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:1321,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp: In function ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp:99:13: error: no matching function for call to ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator()’
   98 |   const rclcpp::PublisherOptionsWithAllocator<AllocatorT> & options = (
      |                                                                       ~
   99 |     rclcpp::PublisherOptionsWithAllocator<AllocatorT>()
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  100 |   )
      |   ~          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<Allocator>::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsBase&) [with Allocator = std::allocator<void>]’
   78 |   explicit PublisherOptionsWithAllocator(const PublisherOptionsBase & publisher_options_base)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&)’
   66 | struct PublisherOptionsWithAllocator : public PublisherOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:36,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/opt/ros/humble/include/diagnostic_updater/diagnostic_updater.hpp:389:70: note:   when instantiating default argument for call to ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’
  389 |       rclcpp::create_publisher<diagnostic_msgs::msg::DiagnosticArray>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  390 |         topics_interface, "/diagnostics", 1)),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/node_impl.hpp:41,
                 from /opt/ros/humble/include/rclcpp/rclcpp/node.hpp:1321,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_router.hpp:37,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_router.cpp:20:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp: In function ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’:
/opt/ros/humble/include/rclcpp/rclcpp/create_publisher.hpp:99:13: error: no matching function for call to ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator()’
   98 |   const rclcpp::PublisherOptionsWithAllocator<AllocatorT> & options = (
      |                                                                       ~
   99 |     rclcpp::PublisherOptionsWithAllocator<AllocatorT>()
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  100 |   )
      |   ~          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_router.hpp:37,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_router.cpp:20:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<Allocator>::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsBase&) [with Allocator = std::allocator<void>]’
   78 |   explicit PublisherOptionsWithAllocator(const PublisherOptionsBase & publisher_options_base)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&)’
   66 | struct PublisherOptionsWithAllocator : public PublisherOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_router.hpp:38,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_router.cpp:20:
/opt/ros/humble/include/diagnostic_updater/diagnostic_updater.hpp:389:70: note:   when instantiating default argument for call to ‘std::shared_ptr<PublisherT> rclcpp::create_publisher(NodeT&&, const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticArray_<std::allocator<void> > >; NodeT = std::shared_ptr<rclcpp::node_interfaces::NodeTopicsInterface>&; std::string = std::__cxx11::basic_string<char>]’
  389 |       rclcpp::create_publisher<diagnostic_msgs::msg::DiagnosticArray>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  390 |         topics_interface, "/diagnostics", 1)),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
In file included from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_router.hpp:37,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_router.cpp:20:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp: In member function ‘std::shared_ptr<PublisherT> rclcpp::Node::create_publisher(const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = mavros_msgs::msg::Mavlink_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<mavros_msgs::msg::Mavlink_<std::allocator<void> > >; std::string = std::__cxx11::basic_string<char>]’:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:199:5: error: no matching function for call to ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator()’
  199 |     PublisherOptionsWithAllocator<AllocatorT>()
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_router.hpp:37,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_router.cpp:20:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<Allocator>::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsBase&) [with Allocator = std::allocator<void>]’
   78 |   explicit PublisherOptionsWithAllocator(const PublisherOptionsBase & publisher_options_base)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&)’
   66 | struct PublisherOptionsWithAllocator : public PublisherOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_router.cpp:475:54: note:   when instantiating default argument for call to ‘std::shared_ptr<PublisherT> rclcpp::Node::create_publisher(const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = mavros_msgs::msg::Mavlink_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<mavros_msgs::msg::Mavlink_<std::allocator<void> > >; std::string = std::__cxx11::basic_string<char>]’
  475 |       nh->create_publisher<mavros_msgs::msg::Mavlink>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  476 |       utils::format(
      |       ~~~~~~~~~~~~~~                                  
  477 |         "%s/%s", this->url.c_str(),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~                   
  478 |         "mavlink_source"), qos);
      |         ~~~~~~~~~~~~~~~~~~~~~~~                       
In file included from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_router.hpp:37,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_router.cpp:20:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp: In member function ‘std::shared_ptr<ROSMessageT> rclcpp::Node::create_subscription(const string&, const rclcpp::QoS&, CallbackT&&, const rclcpp::SubscriptionOptionsWithAllocator<AllocatorT>&, typename MessageMemoryStrategyT::SharedPtr) [with MessageT = mavros_msgs::msg::Mavlink_<std::allocator<void> >; CallbackT = std::_Bind<void (mavros::router::ROSEndpoint::*(mavros::router::ROSEndpoint*, std::_Placeholder<1>))(std::shared_ptr<mavros_msgs::msg::Mavlink_<std::allocator<void> > >)>; AllocatorT = std::allocator<void>; SubscriptionT = rclcpp::Subscription<mavros_msgs::msg::Mavlink_<std::allocator<void> > >; MessageMemoryStrategyT = rclcpp::message_memory_strategy::MessageMemoryStrategy<mavros_msgs::msg::Mavlink_<std::allocator<void> >, std::allocator<void> >; std::string = std::__cxx11::basic_string<char>; typename MessageMemoryStrategyT::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<mavros_msgs::msg::Mavlink_<std::allocator<void> >, std::allocator<void> > >]’:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:224:5: error: no matching function for call to ‘rclcpp::SubscriptionOptionsWithAllocator<std::allocator<void> >::SubscriptionOptionsWithAllocator()’
  224 |     SubscriptionOptionsWithAllocator<AllocatorT>(),
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:45,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_router.hpp:37,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_router.cpp:20:
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:103:12: note: candidate: ‘rclcpp::SubscriptionOptionsWithAllocator<Allocator>::SubscriptionOptionsWithAllocator(const rclcpp::SubscriptionOptionsBase&) [with Allocator = std::allocator<void>]’
  103 |   explicit SubscriptionOptionsWithAllocator(
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:103:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:91:8: note: candidate: ‘rclcpp::SubscriptionOptionsWithAllocator<std::allocator<void> >::SubscriptionOptionsWithAllocator(const rclcpp::SubscriptionOptionsWithAllocator<std::allocator<void> >&)’
   91 | struct SubscriptionOptionsWithAllocator : public SubscriptionOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:91:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:91:8: note: candidate: ‘rclcpp::SubscriptionOptionsWithAllocator<std::allocator<void> >::SubscriptionOptionsWithAllocator(rclcpp::SubscriptionOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:91:8: note:   candidate expects 1 argument, 0 provided
/home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_router.cpp:479:68: note:   when instantiating default argument for call to ‘std::shared_ptr<ROSMessageT> rclcpp::Node::create_subscription(const string&, const rclcpp::QoS&, CallbackT&&, const rclcpp::SubscriptionOptionsWithAllocator<AllocatorT>&, typename MessageMemoryStrategyT::SharedPtr) [with MessageT = mavros_msgs::msg::Mavlink_<std::allocator<void> >; CallbackT = std::_Bind<void (mavros::router::ROSEndpoint::*(mavros::router::ROSEndpoint*, std::_Placeholder<1>))(std::shared_ptr<mavros_msgs::msg::Mavlink_<std::allocator<void> > >)>; AllocatorT = std::allocator<void>; SubscriptionT = rclcpp::Subscription<mavros_msgs::msg::Mavlink_<std::allocator<void> > >; MessageMemoryStrategyT = rclcpp::message_memory_strategy::MessageMemoryStrategy<mavros_msgs::msg::Mavlink_<std::allocator<void> >, std::allocator<void> >; std::string = std::__cxx11::basic_string<char>; typename MessageMemoryStrategyT::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<mavros_msgs::msg::Mavlink_<std::allocator<void> >, std::allocator<void> > >]’
  479 |     this->sink = nh->create_subscription<mavros_msgs::msg::Mavlink>(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  480 |       utils::format("%s/%s", this->url.c_str(), "mavlink_sink"), qos,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  481 |       std::bind(&ROSEndpoint::ros_recv_message, this, _1));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:76: CMakeFiles/mavros.dir/src/lib/enum_sensor_orientation.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:90: CMakeFiles/mavros.dir/src/lib/enum_to_string.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:202: CMakeFiles/mavros.dir/src/lib/uas_executor.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:188: CMakeFiles/mavros.dir/src/lib/uas_data.cpp.o] Error 1
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:25,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/opt/ros/humble/include/tf2_ros/tf2_ros/transform_broadcaster.h: In lambda function:
/opt/ros/humble/include/tf2_ros/tf2_ros/transform_broadcaster.h:62:57: error: no matching function for call to ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator()’
   62 |       rclcpp::PublisherOptionsWithAllocator<AllocatorT> options;
      |                                                         ^~~~~~~
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<Allocator>::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsBase&) [with Allocator = std::allocator<void>]’
   78 |   explicit PublisherOptionsWithAllocator(const PublisherOptionsBase & publisher_options_base)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&)’
   66 | struct PublisherOptionsWithAllocator : public PublisherOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp: At global scope:
/home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:44:3: note:   when instantiating default argument for call to ‘tf2_ros::TransformBroadcaster::TransformBroadcaster(NodeT&&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with NodeT = mavros::uas::UAS*; AllocatorT = std::allocator<void>]’
   44 |   tf2_broadcaster(this),
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:26,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/opt/ros/humble/include/tf2_ros/tf2_ros/static_transform_broadcaster.h: In lambda function:
/opt/ros/humble/include/tf2_ros/tf2_ros/static_transform_broadcaster.h:62:57: error: no matching function for call to ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator()’
   62 |       rclcpp::PublisherOptionsWithAllocator<AllocatorT> options;
      |                                                         ^~~~~~~
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<Allocator>::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsBase&) [with Allocator = std::allocator<void>]’
   78 |   explicit PublisherOptionsWithAllocator(const PublisherOptionsBase & publisher_options_base)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&)’
   66 | struct PublisherOptionsWithAllocator : public PublisherOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp: At global scope:
/home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:45:3: note:   when instantiating default argument for call to ‘tf2_ros::StaticTransformBroadcaster::StaticTransformBroadcaster(NodeT&&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with NodeT = mavros::uas::UAS*; AllocatorT = std::allocator<void>]’
   45 |   tf2_static_broadcaster(this),
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp: In member function ‘std::shared_ptr<PublisherT> rclcpp::Node::create_publisher(const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = mavros_msgs::msg::Mavlink_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<mavros_msgs::msg::Mavlink_<std::allocator<void> > >; std::string = std::__cxx11::basic_string<char>]’:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:199:5: error: no matching function for call to ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator()’
  199 |     PublisherOptionsWithAllocator<AllocatorT>()
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/ros/humble/include/rclcpp/rclcpp/publisher.hpp:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/topic_statistics/subscription_topic_statistics.hpp:31,
                 from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:50,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<Allocator>::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsBase&) [with Allocator = std::allocator<void>]’
   78 |   explicit PublisherOptionsWithAllocator(const PublisherOptionsBase & publisher_options_base)
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:78:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(const rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&)’
   66 | struct PublisherOptionsWithAllocator : public PublisherOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note: candidate: ‘rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >::PublisherOptionsWithAllocator(rclcpp::PublisherOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/publisher_options.hpp:66:8: note:   candidate expects 1 argument, 0 provided
/home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:363:54: note:   when instantiating default argument for call to ‘std::shared_ptr<PublisherT> rclcpp::Node::create_publisher(const string&, const rclcpp::QoS&, const rclcpp::PublisherOptionsWithAllocator<AllocatorT>&) [with MessageT = mavros_msgs::msg::Mavlink_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<mavros_msgs::msg::Mavlink_<std::allocator<void> > >; std::string = std::__cxx11::basic_string<char>]’
  363 |     this->create_publisher<mavros_msgs::msg::Mavlink>(
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  364 |     utils::format(
      |     ~~~~~~~~~~~~~~                                    
  365 |       "%s/%s", this->uas_url.c_str(),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                 
  366 |       "mavlink_sink"), qos);
      |       ~~~~~~~~~~~~~~~~~~~~~                           
In file included from /opt/ros/humble/include/rclcpp/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:22,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp: In member function ‘std::shared_ptr<ROSMessageT> rclcpp::Node::create_subscription(const string&, const rclcpp::QoS&, CallbackT&&, const rclcpp::SubscriptionOptionsWithAllocator<AllocatorT>&, typename MessageMemoryStrategyT::SharedPtr) [with MessageT = mavros_msgs::msg::Mavlink_<std::allocator<void> >; CallbackT = std::_Bind<void (mavros::uas::UAS::*(mavros::uas::UAS*, std::_Placeholder<1>))(std::shared_ptr<mavros_msgs::msg::Mavlink_<std::allocator<void> > >)>; AllocatorT = std::allocator<void>; SubscriptionT = rclcpp::Subscription<mavros_msgs::msg::Mavlink_<std::allocator<void> > >; MessageMemoryStrategyT = rclcpp::message_memory_strategy::MessageMemoryStrategy<mavros_msgs::msg::Mavlink_<std::allocator<void> >, std::allocator<void> >; std::string = std::__cxx11::basic_string<char>; typename MessageMemoryStrategyT::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<mavros_msgs::msg::Mavlink_<std::allocator<void> >, std::allocator<void> > >]’:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:224:5: error: no matching function for call to ‘rclcpp::SubscriptionOptionsWithAllocator<std::allocator<void> >::SubscriptionOptionsWithAllocator()’
  224 |     SubscriptionOptionsWithAllocator<AllocatorT>(),
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/ros/humble/include/rclcpp/rclcpp/subscription.hpp:45,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer_interface.h:48,
                 from /opt/ros/humble/include/tf2_ros/tf2_ros/buffer.h:42,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:23,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:103:12: note: candidate: ‘rclcpp::SubscriptionOptionsWithAllocator<Allocator>::SubscriptionOptionsWithAllocator(const rclcpp::SubscriptionOptionsBase&) [with Allocator = std::allocator<void>]’
  103 |   explicit SubscriptionOptionsWithAllocator(
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:103:12: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:91:8: note: candidate: ‘rclcpp::SubscriptionOptionsWithAllocator<std::allocator<void> >::SubscriptionOptionsWithAllocator(const rclcpp::SubscriptionOptionsWithAllocator<std::allocator<void> >&)’
   91 | struct SubscriptionOptionsWithAllocator : public SubscriptionOptionsBase
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:91:8: note:   candidate expects 1 argument, 0 provided
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:91:8: note: candidate: ‘rclcpp::SubscriptionOptionsWithAllocator<std::allocator<void> >::SubscriptionOptionsWithAllocator(rclcpp::SubscriptionOptionsWithAllocator<std::allocator<void> >&&)’
/opt/ros/humble/include/rclcpp/rclcpp/subscription_options.hpp:91:8: note:   candidate expects 1 argument, 0 provided
/home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:368:70: note:   when instantiating default argument for call to ‘std::shared_ptr<ROSMessageT> rclcpp::Node::create_subscription(const string&, const rclcpp::QoS&, CallbackT&&, const rclcpp::SubscriptionOptionsWithAllocator<AllocatorT>&, typename MessageMemoryStrategyT::SharedPtr) [with MessageT = mavros_msgs::msg::Mavlink_<std::allocator<void> >; CallbackT = std::_Bind<void (mavros::uas::UAS::*(mavros::uas::UAS*, std::_Placeholder<1>))(std::shared_ptr<mavros_msgs::msg::Mavlink_<std::allocator<void> > >)>; AllocatorT = std::allocator<void>; SubscriptionT = rclcpp::Subscription<mavros_msgs::msg::Mavlink_<std::allocator<void> > >; MessageMemoryStrategyT = rclcpp::message_memory_strategy::MessageMemoryStrategy<mavros_msgs::msg::Mavlink_<std::allocator<void> >, std::allocator<void> >; std::string = std::__cxx11::basic_string<char>; typename MessageMemoryStrategyT::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<mavros_msgs::msg::Mavlink_<std::allocator<void> >, std::allocator<void> > >]’
  368 |   this->source = this->create_subscription<mavros_msgs::msg::Mavlink>(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  369 |     utils::format("%s/%s", this->uas_url.c_str(), "mavlink_source"), qos,
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  370 |     std::bind(&UAS::recv_message, this, std::placeholders::_1));
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:244: CMakeFiles/mavros.dir/src/lib/uas_timesync.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:174: CMakeFiles/mavros.dir/src/lib/uas_ap.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:132: CMakeFiles/mavros.dir/src/lib/mavros_router.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:160: CMakeFiles/mavros.dir/src/lib/plugin.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:216: CMakeFiles/mavros.dir/src/lib/uas_stringify.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:230: CMakeFiles/mavros.dir/src/lib/uas_tf.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:146: CMakeFiles/mavros.dir/src/lib/mavros_uas.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:192: CMakeFiles/mavros.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< mavros [13.6s, exited with code 2]

Summary: 3 packages finished [1min 17s]
  1 package failed: mavros
  2 packages had stderr output: mavlink mavros
  1 package not processed
vooon commented 2 years ago

@Macavitycode cannot say anything yet. But have you tried to remove ws/build/ and ws/install/ dirs (to be sure that mavlink is rebuilt)?

Macavitycode commented 2 years ago

Thank you so much for your help so far. I removed the build and install directories and sourced a fresh environment. I then compiled each package individually (mavlink first then libmavconn, then mavros_msgs) and those compiled fine. I then sourced the install/setup.sh and tried to compile again and I got an error saying mavlink_convert.hpp not found. I checked the install directory and found the mavlink_convert.hpp file in mavros_msgs directory under include. I then checked the CMakeList.txt of mavros I found that mavros_msgs is included as expected (its present in the find_packages command, the ament_target_dependancies command and also the ament_target_dependancies commands).

Please advice on what to do, thank you for your help so far.

shashankrajivmoghe@pop-os:~/ros$ find . -name mavlink_convert.hpp
./install/mavros_msgs/include/mavros_msgs/mavlink_convert.hpp
./src/mavros/mavros_msgs/include/mavros_msgs/mavlink_convert.hpp
shashankrajivmoghe@pop-os:~/ros$ colcon build --packages-select mavros
Starting >>> mavros  
--- stderr: mavros                             
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/enum_sensor_orientation.cpp:21:
/home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/utils.hpp:27:10: fatal error: mavros_msgs/mavlink_convert.hpp: No such file or directory
   27 | #include "mavros_msgs/mavlink_convert.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/enum_to_string.cpp:21:
/home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/utils.hpp:27:10: fatal error: mavros_msgs/mavlink_convert.hpp: No such file or directory
   27 | #include "mavros_msgs/mavlink_convert.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:90: CMakeFiles/mavros.dir/src/lib/enum_to_string.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:76: CMakeFiles/mavros.dir/src/lib/enum_sensor_orientation.cpp.o] Error 1
/usr/lib/python3/dist-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'author-email' will not be supported in future versions. Please use the underscore name 'author_email' instead
  warnings.warn(
/usr/lib/python3/dist-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'script-dir' will not be supported in future versions. Please use the underscore name 'script_dir' instead
  warnings.warn(
/usr/lib/python3/dist-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'install-scripts' will not be supported in future versions. Please use the underscore name 'install_scripts' instead
  warnings.warn(
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_router.hpp:35,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_router.cpp:20:
/home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/utils.hpp:27:10: fatal error: mavros_msgs/mavlink_convert.hpp: No such file or directory
   27 | #include "mavros_msgs/mavlink_convert.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/uas_executor.hpp:28,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_executor.cpp:16:
/home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/utils.hpp:27:10: fatal error: mavros_msgs/mavlink_convert.hpp: No such file or directory
   27 | #include "mavros_msgs/mavlink_convert.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:132: CMakeFiles/mavros.dir/src/lib/mavros_router.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:202: CMakeFiles/mavros.dir/src/lib/uas_executor.cpp.o] Error 1
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/plugin.cpp:16:
/home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/utils.hpp:27:10: fatal error: mavros_msgs/mavlink_convert.hpp: No such file or directory
   27 | #include "mavros_msgs/mavlink_convert.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:160: CMakeFiles/mavros.dir/src/lib/plugin.cpp.o] Error 1
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_data.cpp:19:
/home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/utils.hpp:27:10: fatal error: mavros_msgs/mavlink_convert.hpp: No such file or directory
   27 | #include "mavros_msgs/mavlink_convert.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:188: CMakeFiles/mavros.dir/src/lib/uas_data.cpp.o] Error 1
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/uas_ap.cpp:18:
/home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/utils.hpp:27:10: fatal error: mavros_msgs/mavlink_convert.hpp: No such file or directory
   27 | #include "mavros_msgs/mavlink_convert.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:174: CMakeFiles/mavros.dir/src/lib/uas_ap.cpp.o] Error 1
In file included from /home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/mavros_uas.hpp:44,
                 from /home/shashankrajivmoghe/ros/src/mavros/mavros/src/lib/mavros_uas.cpp:21:
/home/shashankrajivmoghe/ros/src/mavros/mavros/include/mavros/utils.hpp:27:10: fatal error: mavros_msgs/mavlink_convert.hpp: No such file or directory
   27 | #include "mavros_msgs/mavlink_convert.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:146: CMakeFiles/mavros.dir/src/lib/mavros_uas.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:192: CMakeFiles/mavros.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< mavros [7.20s, exited with code 2]

Summary: 0 packages finished [7.34s]
  1 package failed: mavros
  1 package had stderr output: mavros
vooon commented 2 years ago

Hmm, yes, can't main can't find include.

In file included from /home/ubuntu/ros2_ws/src/mavros/mavros/src/lib/enum_sensor_orientation.cpp:21:
/home/ubuntu/ros2_ws/src/mavros/mavros/include/mavros/utils.hpp:27:10: fatal error: mavros_msgs/mavlink_convert.hpp: No such file or directory
   27 | #include "mavros_msgs/mavlink_convert.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:76: CMakeFiles/mavros.dir/src/lib/enum_sensor_orientation.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from /home/ubuntu/ros2_ws/src/mavros/mavros/src/lib/enum_to_string.cpp:21:
/home/ubuntu/ros2_ws/src/mavros/mavros/include/mavros/utils.hpp:27:10: fatal error: mavros_msgs/mavlink_convert.hpp: No such file or directory
   27 | #include "mavros_msgs/mavlink_convert.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/mavros.dir/build.make:90: CMakeFiles/mavros.dir/src/lib/enum_to_string.cpp.o] Error 1
/usr/lib/python3/dist-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'author-email' will not be supported in future versions. Please use the underscore name 'author_email' instead
  warnings.warn(
/usr/lib/python3/dist-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'script-dir' will not be supported in future versions. Please use the underscore name 'script_dir' instead
  warnings.warn(
/usr/lib/python3/dist-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'install-scripts' will not be supported in future versions. Please use the underscore name 'install_scripts' instead
  warnings.warn(
gmake[1]: *** [CMakeFiles/Makefile2:192: CMakeFiles/mavros.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< mavros [29.7s, exited with code 2]

Summary: 3 packages finished [5min 44s]
  1 package failed: mavros
  2 packages had stderr output: mavlink mavros
  1 package not processed
vooon commented 2 years ago

@Macavitycode i've released fixed mavlink 2022.6.27 for humble. Trying to build mavros now. Looks like something breaks in rclcpp when C++20 is enabled.

https://github.com/mavlink/mavlink-gbp-release/blob/master/patch/pymavlink/generator/mavgen_cpp11.py#L44-L47

vooon commented 2 years ago

@Macavitycode please try release 2.2.0 with mavlink 2022.6.27. https://github.com/ros/rosdistro/pull/33721 https://github.com/ros/rosdistro/pull/33720

Please feel free to upstream mavgen patch, i wouldn't do that.

Macavitycode commented 2 years ago

Thank you so much for your help, new release fixed it. I have submitted a PR for mavgen on pymavlink here I will continue on that thread to try getting it accepted. :)