mikepurvis / ros-install-osx

Installing ROS on OS X.
331 stars 114 forks source link

Build error on gazebo_ros #93

Closed PymZoR closed 6 years ago

PymZoR commented 6 years ago

Fresh install on macOS Sierra 10.12.6 After fixing the linking error of OpenCV (see https://github.com/mikepurvis/ros-install-osx/issues/92), I got the following issue.

libprotoc: 3.4.0 ignition-transport: stable 1.4.0 (from brew)

gazebo_ros fails to build with the following error messages :

In file included from lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/src/gazebo_ros_api_plugin.cpp:25: In file included from lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/include/gazebo_ros/gazebo_ros_api_plugin.h:34: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/physics.hh:2: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Actor.hh:24: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Model.hh:30: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Entity.hh:25: In file included from /usr/local/Cellar/ignition-transport3/3.0.1_7/include/ignition/transport3/ignition/transport/Node.hh:32: In file included from /usr/local/include/ignition/msgs0/ignition/msgs.hh:3: In file included from /usr/local/include/ignition/msgs0/ignition/msgs/MessageTypes.hh:2: /usr/local/include/ignition/msgs0/ignition/msgs/altimeter.pb.h:17:2: error: This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /usr/local/include/ignition/msgs0/ignition/msgs/altimeter.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/local/include/ignition/msgs0/ignition/msgs/altimeter.pb.h:19:2: error: regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /Users/pymzor/Projects/buckless/client/ros-install-osx/lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/src/gazebo_ros_api_plugin.cpp:25: In file included from /Users/pymzor/Projects/buckless/client/ros-install-osx/lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/include/gazebo_ros/gazebo_ros_api_plugin.h:34: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/physics.hh:2: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Actor.hh:24: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Model.hh:30: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Entity.hh:25: In file included from /usr/local/Cellar/ignition-transport3/3.0.1_7/include/ignition/transport3/ignition/transport/Node.hh:32: In file included from /usr/local/include/ignition/msgs0/ignition/msgs.hh:3: In file included from /usr/local/include/ignition/msgs0/ignition/msgs/MessageTypes.hh:2: In file included from /usr/local/include/ignition/msgs0/ignition/msgs/altimeter.pb.h:32: /usr/local/include/ignition/msgs0/ignition/msgs/time.pb.h:17:2: error: This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /usr/local/include/ignition/msgs0/ignition/msgs/time.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/local/include/ignition/msgs0/ignition/msgs/time.pb.h:19:2: error: regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /Users/pymzor/Projects/buckless/client/ros-install-osx/lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/src/gazebo_ros_api_plugin.cpp:25: In file included from /Users/pymzor/Projects/buckless/client/ros-install-osx/lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/include/gazebo_ros/gazebo_ros_api_plugin.h:34: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/physics.hh:2: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Actor.hh:24: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Model.hh:30: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Entity.hh:25: In file included from /usr/local/Cellar/ignition-transport3/3.0.1_7/include/ignition/transport3/ignition/transport/Node.hh:32: In file included from /usr/local/include/ignition/msgs0/ignition/msgs.hh:3: In file included from /usr/local/include/ignition/msgs0/ignition/msgs/MessageTypes.hh:2: In file included from /usr/local/include/ignition/msgs0/ignition/msgs/altimeter.pb.h:33: /usr/local/include/ignition/msgs0/ignition/msgs/header.pb.h:17:2: error: This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /usr/local/include/ignition/msgs0/ignition/msgs/header.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/local/include/ignition/msgs0/ignition/msgs/header.pb.h:19:2: error: regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /Users/pymzor/Projects/buckless/client/ros-install-osx/lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/src/gazebo_ros_api_plugin.cpp:25: In file included from /Users/pymzor/Projects/buckless/client/ros-install-osx/lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/include/gazebo_ros/gazebo_ros_api_plugin.h:34: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/physics.hh:2: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Actor.hh:24: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Model.hh:30: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Entity.hh:25: In file included from /usr/local/Cellar/ignition-transport3/3.0.1_7/include/ignition/transport3/ignition/transport/Node.hh:32: In file included from /usr/local/include/ignition/msgs0/ignition/msgs.hh:3: In file included from /usr/local/include/ignition/msgs0/ignition/msgs/MessageTypes.hh:3: /usr/local/include/ignition/msgs0/ignition/msgs/any.pb.h:17:2: error: This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /usr/local/include/ignition/msgs0/ignition/msgs/any.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/local/include/ignition/msgs0/ignition/msgs/any.pb.h:19:2: error: regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /Users/pymzor/Projects/buckless/client/ros-install-osx/lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/src/gazebo_ros_api_plugin.cpp:25: In file included from /Users/pymzor/Projects/buckless/client/ros-install-osx/lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/include/gazebo_ros/gazebo_ros_api_plugin.h:34: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/physics.hh:2: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Actor.hh:24: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Model.hh:30: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Entity.hh:25: In file included from /usr/local/Cellar/ignition-transport3/3.0.1_7/include/ignition/transport3/ignition/transport/Node.hh:32: In file included from /usr/local/include/ignition/msgs0/ignition/msgs.hh:3: In file included from /usr/local/include/ignition/msgs0/ignition/msgs/MessageTypes.hh:3: In file included from /usr/local/include/ignition/msgs0/ignition/msgs/any.pb.h:34: /usr/local/include/ignition/msgs0/ignition/msgs/color.pb.h:17:2: error: This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /usr/local/include/ignition/msgs0/ignition/msgs/color.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/local/include/ignition/msgs0/ignition/msgs/color.pb.h:19:2: error: regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /Users/pymzor/Projects/buckless/client/ros-install-osx/lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/src/gazebo_ros_api_plugin.cpp:25: In file included from /Users/pymzor/Projects/buckless/client/ros-install-osx/lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/include/gazebo_ros/gazebo_ros_api_plugin.h:34: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/physics.hh:2: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Actor.hh:24: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Model.hh:30: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Entity.hh:25: In file included from /usr/local/Cellar/ignition-transport3/3.0.1_7/include/ignition/transport3/ignition/transport/Node.hh:32: In file included from /usr/local/include/ignition/msgs0/ignition/msgs.hh:3: In file included from /usr/local/include/ignition/msgs0/ignition/msgs/MessageTypes.hh:3: In file included from /usr/local/include/ignition/msgs0/ignition/msgs/any.pb.h:35: /usr/local/include/ignition/msgs0/ignition/msgs/pose.pb.h:17:2: error: This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /usr/local/include/ignition/msgs0/ignition/msgs/pose.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/local/include/ignition/msgs0/ignition/msgs/pose.pb.h:19:2: error: regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /Users/pymzor/Projects/buckless/client/ros-install-osx/lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/src/gazebo_ros_api_plugin.cpp:25: In file included from /Users/pymzor/Projects/buckless/client/ros-install-osx/lunar_desktop_full_ws/src/gazebo_ros_pkgs/gazebo_ros/include/gazebo_ros/gazebo_ros_api_plugin.h:34: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/physics.hh:2: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Actor.hh:24: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Model.hh:30: In file included from /usr/local/Cellar/gazebo8/8.1.1_5/include/gazebo-8/gazebo/physics/Entity.hh:25: In file included from /usr/local/Cellar/ignition-transport3/3.0.1_7/include/ignition/transport3/ignition/transport/Node.hh:32: In file included from /usr/local/include/ignition/msgs0/ignition/msgs.hh:3: In file included from /usr/local/include/ignition/msgs0/ignition/msgs/MessageTypes.hh:3: In file included from /usr/local/include/ignition/msgs0/ignition/msgs/any.pb.h:35: In file included from /usr/local/include/ignition/msgs0/ignition/msgs/pose.pb.h:32: /usr/local/include/ignition/msgs0/ignition/msgs/vector3d.pb.h:17:2: error: This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

Digging into some of these files, I found that the protobuf version requirement (which I assume is 3.3.0) was different from my system protobuf (3.4.0)

#if GOOGLE_PROTOBUF_VERSION < 300300

I haven't been able to go any further than that.

mikepurvis commented 6 years ago

Looks like the issue is a bunch of stuff compiled into Gazebo, so the gazebo bottle probably needs a revision bump and rebuild: https://github.com/osrf/homebrew-simulation/blob/master/gazebo8.rb#L7

FYI @scpeters

mikepurvis commented 6 years ago

@PymZoR In the short term, you can likely get around this by building Gazebo8 from source:

brew reinstall --build-from-source gazebo8
PymZoR commented 6 years ago

@mikepurvis got the same error

$ brew reinstall --build-from-source gazebo8 ==> Reinstalling osrf/simulation/gazebo8 ==> Downloading http://gazebosim.org/distributions/gazebo/releases/gazebo-8.1.1.tar.bz2 Already downloaded: /Users/pymzor/Library/Caches/Homebrew/gazebo8-8.1.1.tar.bz2 ==> Downloading https://gist.githubusercontent.com/scpeters/9199370/raw/afe595587e38737c537124a3652db99de026c272/brew_python_fix.patch Already downloaded: /Users/pymzor/Library/Caches/Homebrew/gazebo8--patch-c4774f64c490fa03236564312bd24a8630963762e25d98d072e747f0412df18e.patch ==> Patching ==> Applying brew_python_fix.patch patching file deps/opende/CMakeLists.txt ==> cmake .. -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/gazebo8/8.1.1_5 -DCMAKE_BUILD_TYPE=Release -DCMAKEFIND ==> make install Last 15 lines from /Users/pymzor/Library/Logs/Homebrew/gazebo8/02.make: In file included from /tmp/gazebo8-20171110-9130-1dnutp2/gazebo-8.1.1/gazebo/msgs/msgs.cc:26: In file included from /tmp/gazebo8-20171110-9130-1dnutp2/gazebo-8.1.1/gazebo/msgs/msgs.hh:33: /usr/local/include/ignition/msgs0/ignition/msgs/material.pb.h:17:2: error: This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /usr/local/include/ignition/msgs0/ignition/msgs/material.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/local/include/ignition/msgs0/ignition/msgs/material.pb.h:19:2: error: regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^

mikepurvis commented 6 years ago

Oh boo, it looks like it's a header from ignition, so all of its pieces would need to be built from source as well:

brew reinstall --build-from-source ignition-math3 ignition-msgs0 ignition-transport3 gazebo8
PymZoR commented 6 years ago

After a long and tedious build, some Qt-related errors :(

[ 68%] Building CXX object gazebo/physics/CMakeFiles/gazebo_physics.dir/Population.cc.o cd /tmp/gazebo8-20171110-21204-1ctx49r/gazebo-8.1.1/build/gazebo/physics && /usr/local/Homebrew/Library/Homebrew/shims/super/clang++ -DBUILDING_DLL -DBUILDING_DLL_GZ_PHYSICS -DHAVE_OPENGL -DLIBBULLET_VERSION=2.87 -DLIBBULLET_VERSION_GT_282 -DMAC_OS_X_VERSION=1080 -Dgazebo_physics_EXPORTS -I/tmp/gazebo8-20171110-21204-1ctx49r/gazebo-8.1.1/test/gtest/include -I/tmp/gazebo8-20171110-21204-1ctx49r/gazebo-8.1.1 -I/tmp/gazebo8-20171110-21204-1ctx49r/gazebo-8.1.1/build -isystem /tmp/gazebo8-20171110-21204-1ctx49r/gazebo-8.1.1/deps/opende/include -isystem /usr/local/include -isystem /usr/local/Cellar/tinyxml2/5.0.1/include -isystem /usr/local/include/ignition/msgs0 -isystem /usr/local/include/ignition/math3 -I/usr/local/Cellar/ignition-transport3/3.0.1_7/include/ignition/transport3 -I/usr/local/Cellar/zeromq/4.2.2/include -I/usr/local/Cellar/ossp-uuid/1.6.2_2/include/ossp -isystem /usr/local/Cellar/ogre1.9/1.9-20160714-108ab0bcc69603dba32c0ffd4bbbc39051f421c9_4/include/OGRE/RTShaderSystem -isystem /usr/local/Cellar/ogre1.9/1.9-20160714-108ab0bcc69603dba32c0ffd4bbbc39051f421c9_4/include -isystem /usr/local/Cellar/ogre1.9/1.9-20160714-108ab0bcc69603dba32c0ffd4bbbc39051f421c9_4/include/OGRE -isystem /usr/local/Cellar/ogre1.9/1.9-20160714-108ab0bcc69603dba32c0ffd4bbbc39051f421c9_4/include/OGRE/Terrain -isystem /usr/local/Cellar/ogre1.9/1.9-20160714-108ab0bcc69603dba32c0ffd4bbbc39051f421c9_4/include/OGRE/Paging -isystem /usr/local/Cellar/ogre1.9/1.9-20160714-108ab0bcc69603dba32c0ffd4bbbc39051f421c9_4/include/OGRE/Overlay -isystem /usr/local/Cellar/sdformat5/5.2.0_2/include/sdformat-5.2 -isystem /usr/local/opt/tinyxml/include -I/usr/local/Cellar/bullet/2.87/include/bullet -I/usr/local/Cellar/bullet/2.87/include -isystem /usr/local/Cellar/simbody/3.5.4_2/include/simbody -std=c++11 -stdlib=libc++ -stdlib=libc++ -Wall -Wextra -Wno-long-long -Wno-unused-value -Wfloat-equal -Wshadow -Wswitch-default -Wmissing-include-dirs -pedantic -std=c++11 -O3 -DNDEBUG -mssse3 -msse3 -msse -msse2 -fPIC -fPIC -I/usr/local/Cellar/bullet/2.87/include/bullet -I/usr/local/Cellar/bullet/2.87/include -I"/usr/local/Cellar/simbody/3.5.4_2/include/simbody" -std=c++11 -o CMakeFiles/gazebo_physics.dir/Population.cc.o -c /tmp/gazebo8-20171110-21204-1ctx49r/gazebo-8.1.1/gazebo/physics/Population.cc In file included from /tmp/gazebo8-20171110-21204-1ctx49r/gazebo-8.1.1/gazebo/gui/Actions.cc:18: In file included from /tmp/gazebo8-20171110-21204-1ctx49r/gazebo-8.1.1/gazebo/gui/Actions.hh:22: In file included from /tmp/gazebo8-20171110-21204-1ctx49r/gazebo-8.1.1/gazebo/gui/qt.h:36: In file included from /usr/local/opt/qt/include/QtGui/QWindow:1: In file included from /usr/local/opt/qt/lib/QtGui.framework/Headers/qwindow.h:51: In file included from /usr/local/opt/qt/include/QtGui/qsurface.h:45: /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:62:5: error: unknown type name 'Q_ENUM' Q_ENUM(FormatOption) ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:62:25: error: expected ';' at end of declaration list Q_ENUM(FormatOption) ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:71:5: error: unknown type name 'Q_ENUM' Q_ENUM(SwapBehavior) ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:71:25: error: expected ';' at end of declaration list Q_ENUM(SwapBehavior) ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:79:5: error: unknown type name 'Q_ENUM' Q_ENUM(RenderableType) ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:79:27: error: expected ';' at end of declaration list Q_ENUM(RenderableType) ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:86:5: error: unknown type name 'Q_ENUM' Q_ENUM(OpenGLContextProfile) ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:86:33: error: expected ';' at end of declaration list Q_ENUM(OpenGLContextProfile) ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:89:33: error: unknown type name 'FormatOptions'; did you mean 'FormatOption'? /implicit/ QSurfaceFormat(FormatOptions options); ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:56:10: note: 'FormatOption' declared here enum FormatOption { ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:117:21: error: unknown type name 'OpenGLContextProfile' void setProfile(OpenGLContextProfile profile); ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:118:5: error: unknown type name 'OpenGLContextProfile' OpenGLContextProfile profile() const; ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:120:28: error: unknown type name 'RenderableType' void setRenderableType(RenderableType type); ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:121:5: error: unknown type name 'RenderableType' RenderableType renderableType() const; ^ /usr/local/opt/qt/include/QtGui/qsurfaceformat.h:135:5: error: function-like macro 'QT_DEPRECATED_SINCE' is not defined

if QT_DEPRECATED_SINCE(5, 2)

^

/usr/local/opt/qt/include/QtGui/qsurfaceformat.h:140:37: error: no type named 'FormatOptions' in 'QSurfaceFormat'; did you mean 'FormatOption'? void setOptions(QSurfaceFormat::FormatOptions options);


/usr/local/opt/qt/include/QtGui/qsurfaceformat.h:56:10: note: 'FormatOption' declared here
    enum FormatOption {
         ^
/usr/local/opt/qt/include/QtGui/qsurfaceformat.h:143:21: error: no type named 'FormatOptions' in 'QSurfaceFormat'; did you mean 'FormatOption'?
    QSurfaceFormat::FormatOptions options() const;
    ~~~~~~~~~~~~~~~~^
/usr/local/opt/qt/include/QtGui/qsurfaceformat.h:56:10: note: 'FormatOption' declared here
    enum FormatOption {
         ^
/usr/local/opt/qt/include/QtGui/qsurfaceformat.h:170:47: error: no member named 'FormatOptions' in 'QSurfaceFormat'; did you mean 'FormatOption'?
Q_DECLARE_OPERATORS_FOR_FLAGS(QSurfaceFormat::FormatOptions)
                              ~~~~~~~~~~~~~~~~^
/usr/local/lib/QtCore.framework/Headers/qglobal.h:2471:32: note: expanded from macro 'Q_DECLARE_OPERATORS_FOR_FLAGS'
Q_DECL_CONSTEXPR inline QFlags<Flags::enum_type> operator|(Flags::enum_type f1, Flags::enum_type f2) \
                               ^~~~~
/usr/local/opt/qt/include/QtGui/qsurfaceformat.h:56:10: note: 'FormatOption' declared here
    enum FormatOption {
         ^
/usr/local/opt/qt/include/QtGui/qsurfaceformat.h:170:1: error: no member named 'enum_type' in 'QSurfaceFormat::FormatOption'
Q_DECLARE_OPERATORS_FOR_FLAGS(QSurfaceFormat::FormatOptions)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/QtCore.framework/Headers/qglobal.h:2471:39: note: expanded from macro 'Q_DECLARE_OPERATORS_FOR_FLAGS'
Q_DECL_CONSTEXPR inline QFlags<Flags::enum_type> operator|(Flags::enum_type f1, Flags::enum_type f2) \
                               ~~~~~~~^
In file included from /tmp/gazebo8-20171110-21204-1ctx49r/gazebo-8.1.1/gazebo/gui/Actions.cc:18:
In file included from /tmp/gazebo8-20171110-21204-1ctx49r/gazebo-8.1.1/gazebo/gui/Actions.hh:22:
In file included from /tmp/gazebo8-20171110-21204-1ctx49r/gazebo-8.1.1/gazebo/gui/qt.h:36:
In file included from /usr/local/opt/qt/include/QtGui/QWindow:1:
In file included from /usr/local/opt/qt/lib/QtGui.framework/Headers/qwindow.h:51:
In file included from /usr/local/opt/qt/include/QtGui/qsurface.h:45:
/usr/local/opt/qt/include/QtGui/qsurfaceformat.h:170:47: error: no member named 'FormatOptions' in 'QSurfaceFormat'; did you mean 'FormatOption'?
Q_DECLARE_OPERATORS_FOR_FLAGS(QSurfaceFormat::FormatOptions)
                              ~~~~~~~~~~~~~~~~^
/usr/local/lib/QtCore.framework/Headers/qglobal.h:2471:60: note: expanded from macro 'Q_DECLARE_OPERATORS_FOR_FLAGS'
Q_DECL_CONSTEXPR inline QFlags<Flags::enum_type> operator|(Flags::enum_type f1, Flags::enum_type f2) \
                                                           ^~~~~
/usr/local/opt/qt/include/QtGui/qsurfaceformat.h:56:10: note: 'FormatOption' declared here
    enum FormatOption {
         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
scpeters commented 6 years ago

I don't understand how you have ignition-transport version 1.4.0 when gazebo8 depends on ignition-transport3. Also, we have a nightly job that tests the gazebo8 bottle and it passed recently.

Maybe the issue is that the official homebrew version of protoc is still 1.3.0:

I think the bottles will only work if you are using the same version of dependencies.

EDIT: version 1.3 is very different from version 3.4. Are you using protobuf from the homebrew-core bottle?

scpeters commented 6 years ago

Regarding the qt compilation error, I'm not sure exactly what caused it, but there's here's two issues I've had:

PymZoR commented 6 years ago

@scpeters : Don't know for ignition-transport, it just appears that ignition-transport default brew version is 1.40, and somehow the build process here had me install it. Removing it does not cause any dependencies problems. I still have the ignition-transport3 bottle installed though, and i'm re-trying to build gazebo with qt@4 removed.

scpeters commented 6 years ago

Well ignition-transport is listed as a dependency of gazebo7, so if you had that installed before, that's probably where it came from.

PymZoR commented 6 years ago

Removing qt@4and rebuilding from source with ignition-transport3 solved the issue. I'm running now with another issue with pcl_ros, i'll open a new ticker for it. Thanks for the help

ethanjyx commented 5 years ago

@mikepurvis I tried to run brew reinstall --build-from-source gazebo8 but still getting the following error

==> cmake .. -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDE
Last 15 lines from /Users/yixingjiang/Library/Logs/Homebrew/gazebo8/01.cmake:
--  ronn not found, manpages won't be generated
--  OpenSource Virtual Reality (OSVR) support will be disabled.
-- END BUILD WARNINGS

-- BUILD ERRORS: These must be resolved before compiling.
--  Boost not found. Please install thread signals system filesystem program_options regex date_time boost version 1.40.0 or higher.
-- END BUILD ERRORS

CMake Error at CMakeLists.txt:303 (message):
  Errors encountered in build.  Please see the BUILD ERRORS above.

-- Configuring incomplete, errors occurred!
See also "/tmp/gazebo8-20190324-2823-nzdfqw/gazebo-8.6.0/build/CMakeFiles/CMakeOutput.log".
See also "/tmp/gazebo8-20190324-2823-nzdfqw/gazebo-8.6.0/build/CMakeFiles/CMakeError.log".

If reporting this issue please do so at (not Homebrew/brew or Homebrew/core):
https://github.com/osrf/homebrew-simulation/issues
scpeters commented 5 years ago

The recent release of boost 1.69 required a patch for the gazebo7 formula in https://github.com/osrf/homebrew-simulation/pull/649 and I suspect gazebo8 would need a similar patch.

gazebo9 and gazebo10 have already been patched, but gazebo8 is end-of-life, so I haven't been prioritizing patches for it. I would merge patches for gazebo8 submitted via pull request if they are reasonable.

scpeters commented 5 years ago

I went ahead and patched gazebo8 in https://github.com/osrf/homebrew-simulation/commit/4b2696b8e04aabedab734117d8e0f90d6454f9ac, but since it is end-of-life we won't be proactively solving build failures. I will review pull requests, but I encourage users to upgrade to gazebo9 or gazebo10.