gazebosim / gz-msgs

Messages for Gazebo robot simulation.
https://gazebosim.org
Apache License 2.0
22 stars 47 forks source link

Moc is failing to process deprecated LOCAL2 #463

Open j-rivero opened 2 months ago

j-rivero commented 2 months ago

Environment

Description

related to #451

Steps to reproduce

I'm building turtlebot4_simulator with Ionic debs using from source vendor packages on Jazzy.

I think that we might fall into: https://bugreports.qt.io/browse/QTBUG-96175 since the header file affected looks like:

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3021000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
#include "gz/msgs/entity.pb.h"
#include "gz/msgs/header.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_gz_2fmsgs_2fspherical_5fcoordinates_2eproto GZ_MSGS_VISIBLE

with the port_def, port_undef, port_def dance described in the bug.

If I remove the PROTOBUF_DEPRECATED_ENUM from the enum member definition, everything is fine.

Output

Command
-------
/usr/lib/qt5/bin/moc -DFMT_SHARED -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -DTurtlebot4Hmi_EXPORTS -I/usr/include/gz/common6 -I/usr/include/gz/gui9 -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/usr/include/x86_64-linux-gnu/qt5/QtQml -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -I/usr/include/x86_64-linux-gnu/qt5/QtQmlModels -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtQuickControls2 -I/usr/include/gz/utils3 -I/usr/include/uuid -I/usr/include/gz/math8 -I/usr/include/gz/msgs11 -I/usr/include/gz/plugin3 -I/usr/include/gz/transport14 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include -I/usr/include/c++/13 -I/usr/include/x86_64-linux-gnu/c++/13 -I/usr/include/c++/13/backward -I/usr/lib/gcc/x86_64-linux-gnu/13/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu --include /home/jrivero/code/ros/turtlebot4_ionic_ws/build/turtlebot4_gz_gui_plugins/Turtlebot4Hmi/Turtlebot4Hmi_autogen/moc_predefs.h --output-dep-file -o /home/jrivero/code/ros/turtlebot4_ionic_ws/build/turtlebot4_gz_gui_plugins/Turtlebot4Hmi/Turtlebot4Hmi_autogen/EWIEGA46WW/moc_Turtlebot4Hmi.cpp /home/jrivero/code/ros/turtlebot4_ionic_ws/src/turtlebot4_simulator/turtlebot4_gz_gui_plugins/Turtlebot4Hmi/Turtlebot4Hmi.hh

Output
------
usr/include/gz/msgs11/gz/msgs/details/spherical_coordinates.pb.:94: Parse error at "LOCAL2"