Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does not compile on ROS humble #1

Closed
mzahana opened this issue Jun 13, 2023 · 7 comments · Fixed by #2
Closed

Does not compile on ROS humble #1

mzahana opened this issue Jun 13, 2023 · 7 comments · Fixed by #2

Comments

@mzahana
Copy link

mzahana commented Jun 13, 2023

Hi @CruxDevStuff !

Thanks for the great package.
I am using ROS humble, and I failed to compile this package. Have you tried to use it with ROS humble ?

@CruxDevStuff
Copy link
Owner

CruxDevStuff commented Jun 13, 2023

@mzahana Sorry, I haven't tried building it with humble or Ubuntu 22.04.

Can you post the build log ?

@mzahana
Copy link
Author

mzahana commented Jun 15, 2023

After I clone this repo as is in my workspace, then I building it using colcon build, I get the following error.

In file included from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/compute.cc:2:
/home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/compute.hpp:2:10: fatal error: Eigen/Core: No such file or directory
    2 | #include <Eigen/Core>
      |          ^~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/allan_ros2_lib.dir/build.make:90: CMakeFiles/allan_ros2_lib.dir/src/compute.cc.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from /home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/write.hpp:5,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/write.cc:2:
/home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/compute.hpp:2:10: fatal error: Eigen/Core: No such file or directory
    2 | #include <Eigen/Core>
      |          ^~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/allan_ros2_lib.dir/build.make:104: CMakeFiles/allan_ros2_lib.dir/src/write.cc.o] Error 1
In file included from /home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:8,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/compute.hpp:2:10: fatal error: Eigen/Core: No such file or directory
    2 | #include <Eigen/Core>
      |          ^~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/allan_ros2_lib.dir/build.make:76: CMakeFiles/allan_ros2_lib.dir/src/allan_node.cc.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/allan_ros2_lib.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< allan_ros2 [1.55s, exited with code 2]

I can fix this by modifying the CMakeLists.txt file

find_package(eigen3_cmake_module REQUIRED)
find_package(Eigen3 REQUIRED)

set(DEPS
rclcpp
std_msgs
rosbag2_cpp
sensor_msgs
px4_msgs 
ament_index_cpp
Eigen3
)

Then, doing colcon build again, I get the following error

--- stderr: allan_ros2                             
In file included from /home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/compute.hpp:5,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:8,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/write.hpp:9:11: error: ‘namespace write { }’ redeclared as different kind of entity
    9 | namespace write {
      |           ^~~~~
In file included from /usr/include/x86_64-linux-gnu/bits/sigstksz.h:24,
                 from /usr/include/signal.h:328,
                 from /usr/include/c++/11/csignal:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:152,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/usr/include/unistd.h:378:16: note: previous declaration ‘ssize_t write(int, const void*, size_t)’
  378 | extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur
      |                ^~~~~
In file included from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:40:37: warning: ‘using StorageOptions = struct rosbag2_storage::StorageOptions’ is deprecated: use rosbag2_storage::StorageOptions instead [-Wdeprecated-declarations]
   40 |         rosbag2_cpp::StorageOptions bag_storage_options;
      |                                     ^~~~~~~~~~~~~~~~~~~
In file included from /home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:5,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rosbag2_cpp/rosbag2_cpp/storage_options.hpp:23:7: note: declared here
   23 | using StorageOptions [[deprecated("use rosbag2_storage::StorageOptions instead")]] =
      |       ^~~~~~~~~~~~~~
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc: In member function ‘void allan_ros::AllanNode::initialize_parameters()’:
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:21:32: error: no matching function for call to ‘allan_ros::AllanNode::declare_parameter(const char [6])’
   21 |         this->declare_parameter("topic");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note: candidate: ‘template<class ParameterT> auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool)’
  421 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note:   template argument deduction/substitution failed:
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:21:32: note:   candidate expects 4 arguments, 1 provided
   21 |         this->declare_parameter("topic");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note: candidate: ‘template<class ParameterT> auto rclcpp::Node::declare_parameter(const string&, const ParameterDescriptor&, bool)’
  434 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note:   template argument deduction/substitution failed:
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:21:32: note:   couldn’t deduce template parameter ‘ParameterT’
   21 |         this->declare_parameter("topic");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, const rclcpp::ParameterValue&, const ParameterDescriptor&, bool)’
  366 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note:   candidate expects 4 arguments, 1 provided
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, rclcpp::ParameterType, const ParameterDescriptor&, bool)’
  391 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note:   candidate expects 4 arguments, 1 provided
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:22:32: error: no matching function for call to ‘allan_ros::AllanNode::declare_parameter(const char [9])’
   22 |         this->declare_parameter("bag_path");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note: candidate: ‘template<class ParameterT> auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool)’
  421 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note:   template argument deduction/substitution failed:
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:22:32: note:   candidate expects 4 arguments, 1 provided
   22 |         this->declare_parameter("bag_path");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note: candidate: ‘template<class ParameterT> auto rclcpp::Node::declare_parameter(const string&, const ParameterDescriptor&, bool)’
  434 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note:   template argument deduction/substitution failed:
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:22:32: note:   couldn’t deduce template parameter ‘ParameterT’
   22 |         this->declare_parameter("bag_path");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, const rclcpp::ParameterValue&, const ParameterDescriptor&, bool)’
  366 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note:   candidate expects 4 arguments, 1 provided
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, rclcpp::ParameterType, const ParameterDescriptor&, bool)’
  391 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note:   candidate expects 4 arguments, 1 provided
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:23:32: error: no matching function for call to ‘allan_ros::AllanNode::declare_parameter(const char [13])’
   23 |         this->declare_parameter("publish_rate");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note: candidate: ‘template<class ParameterT> auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool)’
  421 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note:   template argument deduction/substitution failed:
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:23:32: note:   candidate expects 4 arguments, 1 provided
   23 |         this->declare_parameter("publish_rate");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note: candidate: ‘template<class ParameterT> auto rclcpp::Node::declare_parameter(const string&, const ParameterDescriptor&, bool)’
  434 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note:   template argument deduction/substitution failed:
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:23:32: note:   couldn’t deduce template parameter ‘ParameterT’
   23 |         this->declare_parameter("publish_rate");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, const rclcpp::ParameterValue&, const ParameterDescriptor&, bool)’
  366 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note:   candidate expects 4 arguments, 1 provided
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, rclcpp::ParameterType, const ParameterDescriptor&, bool)’
  391 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note:   candidate expects 4 arguments, 1 provided
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:24:32: error: no matching function for call to ‘allan_ros::AllanNode::declare_parameter(const char [12])’
   24 |         this->declare_parameter("sample_rate");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note: candidate: ‘template<class ParameterT> auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool)’
  421 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note:   template argument deduction/substitution failed:
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:24:32: note:   candidate expects 4 arguments, 1 provided
   24 |         this->declare_parameter("sample_rate");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note: candidate: ‘template<class ParameterT> auto rclcpp::Node::declare_parameter(const string&, const ParameterDescriptor&, bool)’
  434 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note:   template argument deduction/substitution failed:
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:24:32: note:   couldn’t deduce template parameter ‘ParameterT’
   24 |         this->declare_parameter("sample_rate");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, const rclcpp::ParameterValue&, const ParameterDescriptor&, bool)’
  366 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note:   candidate expects 4 arguments, 1 provided
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, rclcpp::ParameterType, const ParameterDescriptor&, bool)’
  391 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note:   candidate expects 4 arguments, 1 provided
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:25:32: error: no matching function for call to ‘allan_ros::AllanNode::declare_parameter(const char [9])’
   25 |         this->declare_parameter("msg_type");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note: candidate: ‘template<class ParameterT> auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool)’
  421 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:421:3: note:   template argument deduction/substitution failed:
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:25:32: note:   candidate expects 4 arguments, 1 provided
   25 |         this->declare_parameter("msg_type");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note: candidate: ‘template<class ParameterT> auto rclcpp::Node::declare_parameter(const string&, const ParameterDescriptor&, bool)’
  434 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:434:3: note:   template argument deduction/substitution failed:
/home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:25:32: note:   couldn’t deduce template parameter ‘ParameterT’
   25 |         this->declare_parameter("msg_type");
      |         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
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/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, const rclcpp::ParameterValue&, const ParameterDescriptor&, bool)’
  366 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:366:3: note:   candidate expects 4 arguments, 1 provided
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note: candidate: ‘const rclcpp::ParameterValue& rclcpp::Node::declare_parameter(const string&, rclcpp::ParameterType, const ParameterDescriptor&, bool)’
  391 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/rclcpp/rclcpp/node.hpp:391:3: note:   candidate expects 4 arguments, 1 provided
gmake[2]: *** [CMakeFiles/allan_ros2_lib.dir/build.make:76: CMakeFiles/allan_ros2_lib.dir/src/allan_node.cc.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/allan_ros2_lib.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< allan_ros2 [2.82s, exited with code 2]

@CruxDevStuff
Copy link
Owner

Thanks for sharing, I've updated the CMakeLists.txt to fix the Eigen error. I'm pretty busy for the next few days so I'll look into the rclcpp error when I find time.

In the meantime I'd suggest you to use foxy via docker(I've tested this package with the official foxy-desktop image).

I've also created a new branch for humble that fixes:

--- stderr: allan_ros2                             
In file included from /home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/compute.hpp:5,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:8,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/write.hpp:9:11: error: ‘namespace write { }’ redeclared as different kind of entity
    9 | namespace write {
      |           ^~~~~
In file included from /usr/include/x86_64-linux-gnu/bits/sigstksz.h:24,
                 from /usr/include/signal.h:328,
                 from /usr/include/c++/11/csignal:42,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:152,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/include/allan_ros2/allan_node.hpp:2,
                 from /home/user/shared_volume/ros2_ws/src/allan_ros2/src/allan_node.cc:4:
/usr/include/unistd.h:378:16: note: previous declaration ‘ssize_t write(int, const void*, size_t)’
  378 | extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur
      | 

In the mean time if you manage to find a solution, feel free to make a PR.

@CruxDevStuff
Copy link
Owner

I've looked into the rclcpp errors a bit. They stem from minor rclcpp and rosbag2 API changes in humble.

example: parameter declaration in rclcpp(humble) requires a default value
this->declare_parameter("my_str", "Default for string");

@mzahana
Copy link
Author

mzahana commented Jun 15, 2023

Thanks @CruxDevStuff !

@mzahana
Copy link
Author

mzahana commented Oct 26, 2023

@CruxDevStuff
I still get compilation errors using your humble branch.

This PR #2 fixes it and works for me.
Maybe you can merge it into your humble branch?

Thanks

@CruxDevStuff
Copy link
Owner

Sorry, I forgot to upstream the changes. I'll look into the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants