Compilation of the whole repository is failing since to the two packages ship the same file and the compiler falls into a previous definition problem.
// add includes
#include "/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_c/message_type_support_dispatch.h"
#include "/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_c/service_type_support_dispatch.h"
#include "/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_c/type_support_map.h"
#include "/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_cpp/message_type_support_dispatch.hpp"
#include "/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_cpp/service_type_support_dispatch.hpp"
#include "/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_cpp/type_support_map.h"
#include "/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_c/identifier.h"
#include "/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_c/visibility_control.h"
#include "/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_cpp/identifier.hpp"
#include "/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_cpp/visibility_control.h"
// add namespaces
namespace rosidl_typesupport_cpp{typedef int tmp_add_type_1;}
rosidl_typesupport_cpp::tmp_add_type_1 tmp_add_func_1(){return 0;};
// add classes
rosidl_message_type_support_t* tmp_add_class_0;
rosidl_service_type_support_t* tmp_add_class_1;
type_support_map_t* tmp_add_class_2;
The GCC parameters:
/usr/bin/x86_64-linux-gnu-gcc-9 -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w --std=c++17 -DBOOST_HAS_PTHREADS=1 -I/opt/ros/foxy/src/gtest_vendor/include -I/opt/ros/foxy/include "/tmp/JGxAGlGCBB/dump1.h" -I/tmp/tmp2214w6b4/files/opt/ros/foxy/include
In file included from /tmp/JGxAGlGCBB/dump1.h:8:
/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_cpp/type_support_map.h:26:16: error: redefinition of ‘struct type_support_map_t’
26 | typedef struct type_support_map_t
| ^~~~~~~~~~~~~~~~~~
In file included from /tmp/JGxAGlGCBB/dump1.h:5:
/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_c/type_support_map.h:26:16: note: previous definition of ‘struct type_support_map_t’
26 | typedef struct type_support_map_t
| ^~~~~~~~~~~~~~~~~~
In file included from /tmp/JGxAGlGCBB/dump1.h:8:
/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_cpp/type_support_map.h:46:3: error: conflicting declaration ‘typedef int type_support_map_t’
46 | } type_support_map_t;
| ^~~~~~~~~~~~~~~~~~
In file included from /tmp/JGxAGlGCBB/dump1.h:5:
/tmp/tmp2214w6b4/files/opt/ros/foxy/include/rosidl_typesupport_c/type_support_map.h:46:3: note: previous declaration as ‘typedef struct type_support_map_t type_support_map_t’
46 | } type_support_map_t;
Ideally one of the files should be removed but the bug can point to problems in the way the auto-abi-checker is working: each package should be compiled in isolation, if possible.
Compilation of the whole repository is failing since to the two packages ship the same file and the compiler falls into a
previous definition
problem.Ideally one of the files should be removed but the bug can point to problems in the way the auto-abi-checker is working: each package should be compiled in isolation, if possible.