MAPIRlab / GasSourceLocalization

Implementations of several GSL methods for ROS.
15 stars 5 forks source link

Suggestion to fix the package compilation -> error: ‘str’ is not a member of ‘boost’ and error: ‘format’ is not a member of ‘boost’ #3

Closed MSathler closed 1 year ago

MSathler commented 2 years ago

Hello,

I was trying to compile this package but after installing the package GMRF-wind I still got the following error:

$ catkin_make
Base path: /home/itv/gsl_ws
Source space: /home/itv/gsl_ws/src
Build space: /home/itv/gsl_ws/build
Devel space: /home/itv/gsl_ws/devel
Install space: /home/itv/gsl_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/itv/gsl_ws/build"
####
####
#### Running command: "make -j8 -l8" in "/home/itv/gsl_ws/build"
####
[  0%] Built target olfaction_msgs_generate_messages_cpp
[  0%] Built target olfaction_msgs_generate_messages_eus
[  0%] Built target topic_tools_generate_messages_lisp
[  0%] Built target visualization_msgs_generate_messages_nodejs
[  0%] Built target olfaction_msgs_generate_messages_nodejs
[  0%] Built target nav_msgs_generate_messages_lisp
[  0%] Built target nav_msgs_generate_messages_eus
[  0%] Built target visualization_msgs_generate_messages_lisp
[  0%] Built target visualization_msgs_generate_messages_eus
[  0%] Built target nav_msgs_generate_messages_cpp
[  0%] Built target actionlib_msgs_generate_messages_py
[  0%] Built target tf2_msgs_generate_messages_nodejs
[  0%] Built target tf2_msgs_generate_messages_lisp
[  0%] Built target actionlib_msgs_generate_messages_cpp
[  0%] Built target actionlib_generate_messages_py
[  0%] Built target actionlib_generate_messages_nodejs
[  0%] Built target actionlib_generate_messages_cpp
[  0%] Built target tf_generate_messages_nodejs
[  0%] Built target actionlib_generate_messages_lisp
[  0%] Built target nav_msgs_generate_messages_py
[  0%] Built target tf_generate_messages_lisp
[  0%] Built target tf2_msgs_generate_messages_cpp
[  0%] Built target dynamic_reconfigure_generate_messages_lisp
[  0%] Built target std_srvs_generate_messages_lisp
[  0%] Built target nav_msgs_generate_messages_nodejs
[  0%] Built target pcl_ros_gencfg
[  0%] Built target geometry_msgs_generate_messages_eus
[  0%] Built target sensor_msgs_generate_messages_cpp
[  0%] Built target olfaction_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target pcl_msgs_generate_messages_cpp
[  0%] Built target dynamic_reconfigure_gencfg
[  0%] Built target tf2_msgs_generate_messages_eus
[  0%] Built target nodelet_generate_messages_cpp
[  0%] Built target sensor_msgs_generate_messages_py
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] Built target sensor_msgs_generate_messages_nodejs
[  0%] Built target dynamic_reconfigure_generate_messages_nodejs
[  0%] Built target tf2_msgs_generate_messages_py
[  0%] Built target bond_generate_messages_cpp
[  0%] Built target nodelet_topic_tools_gencfg
[  0%] Built target bond_generate_messages_lisp
[  0%] Built target bond_generate_messages_eus
[  0%] Built target visualization_msgs_generate_messages_cpp
[  0%] Built target sensor_msgs_generate_messages_lisp
[  0%] Built target sensor_msgs_generate_messages_eus
[  0%] Built target roscpp_generate_messages_eus
[  0%] Built target topic_tools_generate_messages_nodejs
[  0%] Built target rosgraph_msgs_generate_messages_nodejs
[  0%] Built target actionlib_msgs_generate_messages_eus
[  0%] Built target dynamic_reconfigure_generate_messages_py
[  0%] Built target std_msgs_generate_messages_lisp
[  0%] Built target roscpp_generate_messages_py
[  0%] Built target topic_tools_generate_messages_py
[  0%] Built target roscpp_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] Built target actionlib_msgs_generate_messages_nodejs
[  0%] Built target tf_generate_messages_cpp
[  0%] Built target tf_generate_messages_py
[  0%] Built target actionlib_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_eus
[  0%] Built target actionlib_generate_messages_eus
[  0%] Built target roscpp_generate_messages_nodejs
[  0%] Built target std_srvs_generate_messages_py
[  0%] Built target rosgraph_msgs_generate_messages_eus
[  0%] Built target rosgraph_msgs_generate_messages_cpp
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target std_srvs_generate_messages_cpp
[  0%] Built target tf_generate_messages_eus
[  0%] Built target rosgraph_msgs_generate_messages_lisp
[  0%] Built target dynamic_reconfigure_generate_messages_cpp
[  0%] Built target dynamic_reconfigure_generate_messages_eus
[  0%] Built target geometry_msgs_generate_messages_nodejs
[  0%] Built target topic_tools_generate_messages_eus
[  0%] Built target roscpp_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_cpp
[  0%] Built target rosgraph_msgs_generate_messages_py
[  0%] Built target nodelet_generate_messages_eus
[  0%] Built target nodelet_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_nodejs
[  0%] Built target nodelet_generate_messages_nodejs
[  0%] Built target bond_generate_messages_nodejs
[  0%] Built target bond_generate_messages_py
[  0%] Built target pcl_msgs_generate_messages_eus
[  0%] Built target visualization_msgs_generate_messages_py
[  0%] Built target pcl_msgs_generate_messages_nodejs
[  0%] Built target topic_tools_generate_messages_cpp
[  0%] Built target pcl_msgs_generate_messages_lisp
[  0%] Built target olfaction_msgs_generate_messages_lisp
[  0%] Built target pcl_msgs_generate_messages_py
[  0%] Built target std_srvs_generate_messages_eus
[  0%] Built target nodelet_generate_messages_py
[  0%] Built target std_srvs_generate_messages_nodejs
[  0%] Built target _gmrf_wind_mapping_generate_messages_check_deps_WindEstimation
[  0%] Built target _gsl_actionserver_generate_messages_check_deps_gsl_action_msgActionFeedback
[  0%] Built target _gsl_actionserver_generate_messages_check_deps_gsl_action_msgActionResult
[  0%] Built target _gsl_actionserver_generate_messages_check_deps_gsl_action_msgGoal
[  0%] Built target _gsl_actionserver_generate_messages_check_deps_gsl_action_msgResult
[  0%] Built target _gsl_actionserver_generate_messages_check_deps_gsl_action_msgAction
[  0%] Built target _gsl_actionserver_generate_messages_check_deps_gsl_action_msgActionGoal
[  0%] Built target _gsl_actionserver_generate_messages_check_deps_gsl_action_msgFeedback
[  0%] Built target move_base_msgs_generate_messages_nodejs
[  0%] Built target move_base_msgs_generate_messages_lisp
[  0%] Built target move_base_msgs_generate_messages_eus
[  0%] Built target move_base_msgs_generate_messages_cpp
[  0%] Built target move_base_msgs_generate_messages_py
[  0%] Built target move_base_gencfg
[  3%] Built target gmrf_wind_mapping_generate_messages_nodejs
[  3%] Built target gmrf_wind_mapping_generate_messages_lisp
[  5%] Built target gmrf_wind_mapping_generate_messages_cpp
[  8%] Built target gmrf_wind_mapping_generate_messages_eus
[ 12%] Built target gmrf_wind_mapping_generate_messages_py
[ 24%] Built target gsl_actionserver_generate_messages_lisp
[ 29%] Built target gmrf_wind_mapping_node
[ 43%] Built target gsl_actionserver_generate_messages_py
[ 55%] Built target gsl_actionserver_generate_messages_cpp
[ 68%] Built target gsl_actionserver_generate_messages_eus
[ 81%] Built target gsl_actionserver_generate_messages_nodejs
[ 81%] Built target gmrf_wind_mapping_generate_messages
[ 81%] Built target gsl_actionserver_generate_messages
Scanning dependencies of target gsl_actionserver_node
[ 84%] Built target gsl_actionserver_call
[ 86%] Building CXX object Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/src/gsl_plume_tracking.cpp.o
[ 87%] Building CXX object Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/src/gsl_spiral.cpp.o
[ 89%] Building CXX object Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/src/gsl_server.cpp.o
[ 91%] Building CXX object Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/src/gsl_surge_cast.cpp.o
[ 93%] Building CXX object Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/src/gsl_algorithm.cpp.o
[ 94%] Building CXX object Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/src/gsl_surge_spiral.cpp.o
[ 96%] Building CXX object Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/src/gsl_particle_filter.cpp.o
[ 98%] Building CXX object Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/src/gsl_grid.cpp.o
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_algorithm.cpp: In member function ‘virtual void GSLAlgorithm::save_results_to_file(int)’:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_algorithm.cpp:271:30: error: ‘str’ is not a member of ‘boost’
  271 |     std::string str = boost::str(boost::format("[PlumeTracking] RESULT IS: Success=%u, Search_d=%.3f, Nav_d=%.3f, Search_t=%.3f, Nav_t=%.3f\n") % result % search_d % nav_d % search_t % nav_t).c_str();
      |                              ^~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_algorithm.cpp:271:41: error: ‘format’ is not a member of ‘boost’
  271 |     std::string str = boost::str(boost::format("[PlumeTracking] RESULT IS: Success=%u, Search_d=%.3f, Nav_d=%.3f, Search_t=%.3f, Nav_t=%.3f\n") % result % search_d % nav_d % search_t % nav_t).c_str();
      |                                         ^~~~~~
In file included from /opt/ros/noetic/include/ros/ros.h:40,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/include/gsl_algorithm.h:3,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_algorithm.cpp:1:
/opt/ros/noetic/include/ros/console.h:351:176: warning: format not a string literal and no format arguments [-Wformat-security]
  351 |     ::ros::console::print(filter, __rosconsole_define_location__loc.logger_, __rosconsole_define_location__loc.level_, __FILE__, __LINE__, __ROSCONSOLE_FUNCTION__, __VA_ARGS__)
      |                                                                                                                                                                                ^
/opt/ros/noetic/include/ros/console.h:354:5: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER’
  354 |     ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER(NULL, __VA_ARGS__)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/ros/console.h:390:7: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION’
  390 |       ROSCONSOLE_PRINT_AT_LOCATION(__VA_ARGS__); \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/ros/console.h:575:35: note: in expansion of macro ‘ROS_LOG_COND’
  575 | #define ROS_LOG(level, name, ...) ROS_LOG_COND(true, level, name, __VA_ARGS__)
      |                                   ^~~~~~~~~~~~
/opt/ros/noetic/include/rosconsole/macros_generated.h:110:23: note: in expansion of macro ‘ROS_LOG’
  110 | #define ROS_INFO(...) ROS_LOG(::ros::console::levels::Info, ROSCONSOLE_DEFAULT_NAME, __VA_ARGS__)
      |                       ^~~~~~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_algorithm.cpp:272:5: note: in expansion of macro ‘ROS_INFO’
  272 |     ROS_INFO(str.c_str());
      |     ^~~~~~~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_spiral.cpp: In member function ‘virtual void SpiralSearcher::save_results_to_file(int)’:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_spiral.cpp:345:30: error: ‘str’ is not a member of ‘boost’
  345 |     std::string str = boost::str(boost::format("[PlumeTracking] RESULT IS: Success=%u, Search_d=%.3f, Nav_d=%.3f, Search_t=%.3f, Nav_t=%.3f\n") % result % search_d % nav_d % search_t % nav_t).c_str();
      |                              ^~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_spiral.cpp:345:41: error: ‘format’ is not a member of ‘boost’
  345 |     std::string str = boost::str(boost::format("[PlumeTracking] RESULT IS: Success=%u, Search_d=%.3f, Nav_d=%.3f, Search_t=%.3f, Nav_t=%.3f\n") % result % search_d % nav_d % search_t % nav_t).c_str();
      |                                         ^~~~~~
In file included from /opt/ros/noetic/include/ros/ros.h:40,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/include/gsl_algorithm.h:3,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/include/gsl_spiral.h:9,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_spiral.cpp:1:
/opt/ros/noetic/include/ros/console.h:351:176: warning: format not a string literal and no format arguments [-Wformat-security]
  351 |     ::ros::console::print(filter, __rosconsole_define_location__loc.logger_, __rosconsole_define_location__loc.level_, __FILE__, __LINE__, __ROSCONSOLE_FUNCTION__, __VA_ARGS__)
      |                                                                                                                                                                                ^
/opt/ros/noetic/include/ros/console.h:354:5: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER’
  354 |     ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER(NULL, __VA_ARGS__)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/ros/console.h:390:7: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION’
  390 |       ROSCONSOLE_PRINT_AT_LOCATION(__VA_ARGS__); \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/ros/console.h:575:35: note: in expansion of macro ‘ROS_LOG_COND’
  575 | #define ROS_LOG(level, name, ...) ROS_LOG_COND(true, level, name, __VA_ARGS__)
      |                                   ^~~~~~~~~~~~
/opt/ros/noetic/include/rosconsole/macros_generated.h:110:23: note: in expansion of macro ‘ROS_LOG’
  110 | #define ROS_INFO(...) ROS_LOG(::ros::console::levels::Info, ROSCONSOLE_DEFAULT_NAME, __VA_ARGS__)
      |                       ^~~~~~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_spiral.cpp:346:5: note: in expansion of macro ‘ROS_INFO’
  346 |     ROS_INFO(str.c_str());
      |     ^~~~~~~~
In file included from /opt/ros/noetic/include/tf/transform_datatypes.h:44,
                 from /opt/ros/noetic/include/tf/time_cache.h:38,
                 from /opt/ros/noetic/include/tf/tf.h:44,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/include/gsl_particle_filter.h:1,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_particle_filter.cpp:1:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_particle_filter.cpp: In member function ‘bool ParticleFilter::isDegenerated()’:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_particle_filter.cpp:381:14: warning: format ‘%d’ expects argument of type ‘int’, but argument 9 has type ‘std::vector<Particle>::size_type’ {aka ‘long unsigned int’} [-Wformat=]
  381 |     ROS_INFO("Effective particles %d\nTotal particles: %d\n", (int)effectiveP, particles.size());
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                   ~~~~~~~~~~~~~~~~
      |                                                                                              |
      |                                                                                              std::vector<Particle>::size_type {aka long unsigned int}
/opt/ros/noetic/include/ros/console.h:351:165: note: in definition of macro ‘ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER’
  351 |     ::ros::console::print(filter, __rosconsole_define_location__loc.logger_, __rosconsole_define_location__loc.level_, __FILE__, __LINE__, __ROSCONSOLE_FUNCTION__, __VA_ARGS__)
      |                                                                                                                                                                     ^~~~~~~~~~~
/opt/ros/noetic/include/ros/console.h:390:7: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION’
  390 |       ROSCONSOLE_PRINT_AT_LOCATION(__VA_ARGS__); \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/ros/console.h:575:35: note: in expansion of macro ‘ROS_LOG_COND’
  575 | #define ROS_LOG(level, name, ...) ROS_LOG_COND(true, level, name, __VA_ARGS__)
      |                                   ^~~~~~~~~~~~
/opt/ros/noetic/include/rosconsole/macros_generated.h:110:23: note: in expansion of macro ‘ROS_LOG’
  110 | #define ROS_INFO(...) ROS_LOG(::ros::console::levels::Info, ROSCONSOLE_DEFAULT_NAME, __VA_ARGS__)
      |                       ^~~~~~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_particle_filter.cpp:381:5: note: in expansion of macro ‘ROS_INFO’
  381 |     ROS_INFO("Effective particles %d\nTotal particles: %d\n", (int)effectiveP, particles.size());
      |     ^~~~~~~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_particle_filter.cpp:381:57: note: format string is defined here
  381 |     ROS_INFO("Effective particles %d\nTotal particles: %d\n", (int)effectiveP, particles.size());
      |                                                        ~^
      |                                                         |
      |                                                         int
      |                                                        %ld
In file included from /opt/ros/noetic/include/tf/transform_datatypes.h:44,
                 from /opt/ros/noetic/include/tf/time_cache.h:38,
                 from /opt/ros/noetic/include/tf/tf.h:44,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/include/gsl_particle_filter.h:1,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_particle_filter.cpp:1:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_particle_filter.cpp: In member function ‘virtual void ParticleFilter::save_results_to_file(int)’:
/opt/ros/noetic/include/ros/console.h:351:176: warning: format not a string literal and no format arguments [-Wformat-security]
  351 |     ::ros::console::print(filter, __rosconsole_define_location__loc.logger_, __rosconsole_define_location__loc.level_, __FILE__, __LINE__, __ROSCONSOLE_FUNCTION__, __VA_ARGS__)
      |                                                                                                                                                                                ^
/opt/ros/noetic/include/ros/console.h:354:5: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER’
  354 |     ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER(NULL, __VA_ARGS__)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/ros/console.h:390:7: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION’
  390 |       ROSCONSOLE_PRINT_AT_LOCATION(__VA_ARGS__); \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/ros/console.h:575:35: note: in expansion of macro ‘ROS_LOG_COND’
  575 | #define ROS_LOG(level, name, ...) ROS_LOG_COND(true, level, name, __VA_ARGS__)
      |                                   ^~~~~~~~~~~~
/opt/ros/noetic/include/rosconsole/macros_generated.h:110:23: note: in expansion of macro ‘ROS_LOG’
  110 | #define ROS_INFO(...) ROS_LOG(::ros::console::levels::Info, ROSCONSOLE_DEFAULT_NAME, __VA_ARGS__)
      |                       ^~~~~~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_particle_filter.cpp:612:5: note: in expansion of macro ‘ROS_INFO’
  612 |     ROS_INFO(str.c_str());
      |     ^~~~~~~~
make[2]: *** [Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/build.make:89: Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/src/gsl_spiral.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /opt/ros/noetic/include/ros/ros.h:40,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/include/gsl_server.h:1,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:1:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp: In member function ‘int CGSLServer::doSurgeCast()’:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:16:15: warning: format ‘%d’ expects argument of type ‘int’, but argument 8 has type ‘PT_state’ [-Wformat=]
   16 |     ROS_DEBUG("[GSL-PlumeTracking] GSLState = %d", pt.get_state());
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~
      |                                                                |
      |                                                                PT_state
/opt/ros/noetic/include/ros/console.h:351:165: note: in definition of macro ‘ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER’
  351 | _define_location__loc.logger_, __rosconsole_define_location__loc.level_, __FILE__, __LINE__, __ROSCONSOLE_FUNCTION__, __VA_ARGS__)
      |                                                                                                                       ^~~~~~~~~~~

/opt/ros/noetic/include/ros/console.h:390:7: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION’
  390 |       ROSCONSOLE_PRINT_AT_LOCATION(__VA_ARGS__); \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/ros/console.h:575:35: note: in expansion of macro ‘ROS_LOG_COND’
  575 | #define ROS_LOG(level, name, ...) ROS_LOG_COND(true, level, name, __VA_ARGS__)
      |                                   ^~~~~~~~~~~~
/opt/ros/noetic/include/rosconsole/macros_generated.h:58:24: note: in expansion of macro ‘ROS_LOG’
   58 | #define ROS_DEBUG(...) ROS_LOG(::ros::console::levels::Debug, ROSCONSOLE_DEFAULT_NAME, __VA_ARGS__)
      |                        ^~~~~~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:16:5: note: in expansion of macro ‘ROS_DEBUG’
   16 |     ROS_DEBUG("[GSL-PlumeTracking] GSLState = %d", pt.get_state());
      |     ^~~~~~~~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:16:48: note: format string is defined here
   16 |     ROS_DEBUG("[GSL-PlumeTracking] GSLState = %d", pt.get_state());
      |                                               ~^
      |                                                |
      |                                                int
In file included from /opt/ros/noetic/include/ros/ros.h:40,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/include/gsl_server.h:1,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:1:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp: In member function ‘int CGSLServer::doSurgeSpiral()’:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:130:15: warning: format ‘%d’ expects argument of type ‘int’, but argument 8 has type ‘PT_state’ [-Wformat=]
  130 |     ROS_DEBUG("[GSL-PlumeTracking] GSLState = %d", pt.get_state());
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~
      |                                                                |
      |                                                                PT_state
/opt/ros/noetic/include/ros/console.h:351:165: note: in definition of macro ‘ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER’
  351 | _define_location__loc.logger_, __rosconsole_define_location__loc.level_, __FILE__, __LINE__, __ROSCONSOLE_FUNCTION__, __VA_ARGS__)
      |                                                                                                                       ^~~~~~~~~~~

/opt/ros/noetic/include/ros/console.h:390:7: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION’
  390 |       ROSCONSOLE_PRINT_AT_LOCATION(__VA_ARGS__); \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/ros/console.h:575:35: note: in expansion of macro ‘ROS_LOG_COND’
  575 | #define ROS_LOG(level, name, ...) ROS_LOG_COND(true, level, name, __VA_ARGS__)
      |                                   ^~~~~~~~~~~~
/opt/ros/noetic/include/rosconsole/macros_generated.h:58:24: note: in expansion of macro ‘ROS_LOG’
   58 | #define ROS_DEBUG(...) ROS_LOG(::ros::console::levels::Debug, ROSCONSOLE_DEFAULT_NAME, __VA_ARGS__)
      |                        ^~~~~~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:130:5: note: in expansion of macro ‘ROS_DEBUG’
  130 |     ROS_DEBUG("[GSL-PlumeTracking] GSLState = %d", pt.get_state());
      |     ^~~~~~~~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:130:48: note: format string is defined here
  130 |     ROS_DEBUG("[GSL-PlumeTracking] GSLState = %d", pt.get_state());
      |                                               ~^
      |                                                |
      |                                                int
In file included from /opt/ros/noetic/include/ros/ros.h:40,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/include/gsl_server.h:1,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:1:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp: In member function ‘int CGSLServer::doParticleFilter()’:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:207:15: warning: format ‘%d’ expects argument of type ‘int’, but argument 8 has type ‘PT_state’ [-Wformat=]
  207 |     ROS_DEBUG("[GSL-ParticleFilter] GSLState = %d", pt.get_state());
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~
      |                                                                 |
      |                                                                 PT_state
/opt/ros/noetic/include/ros/console.h:351:165: note: in definition of macro ‘ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER’
  351 | _define_location__loc.logger_, __rosconsole_define_location__loc.level_, __FILE__, __LINE__, __ROSCONSOLE_FUNCTION__, __VA_ARGS__)
      |                                                                                                                       ^~~~~~~~~~~

/opt/ros/noetic/include/ros/console.h:390:7: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION’
  390 |       ROSCONSOLE_PRINT_AT_LOCATION(__VA_ARGS__); \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/ros/console.h:575:35: note: in expansion of macro ‘ROS_LOG_COND’
  575 | #define ROS_LOG(level, name, ...) ROS_LOG_COND(true, level, name, __VA_ARGS__)
      |                                   ^~~~~~~~~~~~
/opt/ros/noetic/include/rosconsole/macros_generated.h:58:24: note: in expansion of macro ‘ROS_LOG’
   58 | #define ROS_DEBUG(...) ROS_LOG(::ros::console::levels::Debug, ROSCONSOLE_DEFAULT_NAME, __VA_ARGS__)
      |                        ^~~~~~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:207:5: note: in expansion of macro ‘ROS_DEBUG’
  207 |     ROS_DEBUG("[GSL-ParticleFilter] GSLState = %d", pt.get_state());
      |     ^~~~~~~~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:207:49: note: format string is defined here
  207 |     ROS_DEBUG("[GSL-ParticleFilter] GSLState = %d", pt.get_state());
      |                                                ~^
      |                                                 |
      |                                                 int
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_grid.cpp: In member function ‘void GridGSL::save_results_to_file(int, int, int)’:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_grid.cpp:740:30: error: ‘str’ is not a member of ‘boost’
  740 |     std::string str = boost::str(boost::format("[GridGSL] RESULT IS: Success=%u, Search_t=%.3f \n") % result % search_t).c_str();
      |                              ^~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_grid.cpp:740:41: error: ‘format’ is not a member of ‘boost’
  740 |     std::string str = boost::str(boost::format("[GridGSL] RESULT IS: Success=%u, Search_t=%.3f \n") % result % search_t).c_str();
      |                                         ^~~~~~
In file included from /opt/ros/noetic/include/ros/ros.h:40,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/include/gsl_algorithm.h:3,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/include/gsl_grid.h:1,
                 from /home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_grid.cpp:1:
/opt/ros/noetic/include/ros/console.h:351:176: warning: format not a string literal and no format arguments [-Wformat-security]
  351 |     ::ros::console::print(filter, __rosconsole_define_location__loc.logger_, __rosconsole_define_location__loc.level_, __FILE__, __LINE__, __ROSCONSOLE_FUNCTION__, __VA_ARGS__)
      |                                                                                                                                                                                ^
/opt/ros/noetic/include/ros/console.h:354:5: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER’
  354 |     ROSCONSOLE_PRINT_AT_LOCATION_WITH_FILTER(NULL, __VA_ARGS__)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/ros/console.h:390:7: note: in expansion of macro ‘ROSCONSOLE_PRINT_AT_LOCATION’
  390 |       ROSCONSOLE_PRINT_AT_LOCATION(__VA_ARGS__); \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/ros/console.h:575:35: note: in expansion of macro ‘ROS_LOG_COND’
  575 | #define ROS_LOG(level, name, ...) ROS_LOG_COND(true, level, name, __VA_ARGS__)
      |                                   ^~~~~~~~~~~~
/opt/ros/noetic/include/rosconsole/macros_generated.h:110:23: note: in expansion of macro ‘ROS_LOG’
  110 | #define ROS_INFO(...) ROS_LOG(::ros::console::levels::Info, ROSCONSOLE_DEFAULT_NAME, __VA_ARGS__)
      |                       ^~~~~~~
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_grid.cpp:741:5: note: in expansion of macro ‘ROS_INFO’
  741 |     ROS_INFO(str.c_str());
      |     ^~~~~~~~
make[2]: *** [Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/build.make:76: Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/src/gsl_algorithm.cpp.o] Error 1
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp: In member function ‘int CGSLServer::doSurgeCast()’:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:78:1: warning: control reaches end of non-void function [-Wreturn-type]
   78 | }
      | ^
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp: In member function ‘int CGSLServer::doSurgeSpiral()’:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:192:1: warning: control reaches end of non-void function [-Wreturn-type]
  192 | }
      | ^
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp: In member function ‘int CGSLServer::doParticleFilter()’:
/home/itv/gsl_ws/src/Gas-Source-Localization/gsl_actionserver/src/gsl_server.cpp:301:1: warning: control reaches end of non-void function [-Wreturn-type]
  301 | }
      | ^
make[2]: *** [Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/build.make:154: Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/src/gsl_grid.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4321: Gas-Source-Localization/gsl_actionserver/CMakeFiles/gsl_actionserver_node.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Invoking "make -j8 -l8" failed

I had this error on my two machines (ubuntu 16.04 and 20.04) and run with catkin_make and catkin_build (both got the same error).

To fix this I added #include <boost/format.hpp> at gsl_algorithm.h and gsl_surge_spiral.h.

Regards.

forgetto commented 1 year ago

Hi,I have the same problem. Have you solved it? If you can communicate without me!thank you.

MSathler commented 1 year ago

Hello @forgetto, you need to include boost library, like below:

include <boost/format.hpp> at gsl_algorithm.h and gsl_surge_spiral.h.

forgetto commented 1 year ago

@MSathler Thank you very much. I experimented according to the method you provided, and the problem has been solved

forgetto commented 1 year ago

hello, sorry,to bother you again.

miracle@miracle-VirtualBox:~/wzp_ws$ source ./devel/setup.bash miracle@miracle-VirtualBox:~/wzp_ws$ roslaunch src/Gas-Source-Localization-master/Environment config/Exp A/launch/GADEN_preprocessing.launch RLException: [config/Exp] is neither a launch file in package [src/Gas-Source-Localization-master/Environment] nor is [src/Gas-Source-Localization-master/Environment] a launch file name The traceback for the exception was written to the log file

After compiling, I was ready to enable the EXPA environment, and an error occurred. I don't know if you have encountered similar problems, can you help me? Thank you very much!

PepeOjeda commented 1 year ago

This has been done now! Took a long while because I was working on a very different version of the project that does not use boost at all (which will be merged into this branch soon)