Skip to content

Moc is failing to process deprecated LOCAL2 #463

Description

@j-rivero

Environment

  • OS Version: 24.04
  • Source or binary build?
    gz-ionic 11.0.0~pre1

Description

  • Expected behavior: compile with moc just fine
  • Actual behavior: moc is failing to parse a gz-msgs file

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"

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed🏛️ ionicGazebo Ionic

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions