PeterMitrano/gzmaze

Running issue

Closed this issue · 10 comments

Thank you for quickly responding to my past problem.

Yes, now the plugin compiles without errors (or so I think). But now I do not understand how to load this plugin into gazebo. I'm trying to run setup.sh gives an error.

denis@Denis-U:~/gzmaze$ ./setup.sh
Gazebo multi-robot simulator, version 9.0.0
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
Gazebo multi-robot simulator, version 9.0.0
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 192.168.1.24
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 192.168.1.24
[Err] [InsertModelWidget.cc:405] Missing model.config for model "/home/denis/gzmaze/.git"
[Err] [InsertModelWidget.cc:405] Missing model.config for model "/home/denis/gzmaze/build"
[Err] [InsertModelWidget.cc:405] Missing model.config for model "/home/denis/gzmaze/gui_plugin"
[Err] [InsertModelWidget.cc:405] Missing model.config for model "/home/denis/gzmaze/maze_plugin"
[Err] [InsertModelWidget.cc:405] Missing model.config for model "/home/denis/gzmaze/mouse_plugin"
[Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
[Err] [Plugin.hh:180] Failed to load plugin /home/denis/gzmaze/build/libregenerate_widget.so: /home/denis/gzmaze/build/libregenerate_widget.so: undefined symbol: _ZN5QTest18lastMouseTimestampE
[Err] [MainWindow.cc:2093] Unable to create gui overlay plugin with filename[libregenerate_widget.so]
escalating to SIGKILL on server

Only the mouse appears but there is no GUI. If I add to gui.ini
[overlay_plugins]
filenames=libregenerate_widget.so

Last two errors message printing twice.

That's weird... I can't reproduce the issue:

STRM ~/projects/gzmaze (master) $ ./setup.sh
Gazebo multi-robot simulator, version 9.5.0
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
Gazebo multi-robot simulator, version 9.5.0
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 10.10.10.155
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 10.10.10.155

** (gzclient:5369): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-bk6g4NGmI1: Connection refused
[Err] [InsertModelWidget.cc:433] Missing model.config for model "/home/pmitrano/projects/gzmaze/.git"
[Err] [InsertModelWidget.cc:433] Missing model.config for model "/home/pmitrano/projects/gzmaze/build"
[Err] [InsertModelWidget.cc:433] Missing model.config for model "/home/pmitrano/projects/gzmaze/gui_plugin"
[Err] [InsertModelWidget.cc:433] Missing model.config for model "/home/pmitrano/projects/gzmaze/maze_plugin"
[Err] [InsertModelWidget.cc:433] Missing model.config for model "/home/pmitrano/projects/gzmaze/mouse_plugin"
[Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
[Wrn] [GuiIface.cc:120] 0x682af60 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x6829bb0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x6829270 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x6828d10 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x6828830 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x6828450 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x68270d0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x68242b0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x682a5a0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x682aa80 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x6b80280 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x682b8b0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x682af60 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x6829bb0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x6829270 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x6828d10 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x6828830 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x6828450 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x68270d0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x68242b0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x6826c30 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x682a5a0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x682aa80 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [GuiIface.cc:120] 0x682c610 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x2d9fb20) ): Attempt to set a screen on a child window.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/physics/contacts, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/mouse/pose, deleting message. This warning is printed only once.

loads fine for me

2018-12-06-122958_1919x1079_scrot

The undefined symbol your getting is: QTest::lastMouseTimestamp if that helps you. I don't use QTest so I'm not sure where that's coming from. Maybe your Qt install is broken or the wrong version? I have Qt 4

I am rather poorly versed in c ++ and cmake things. Actually, I also don’t understand what the problem is. And even if there is a problem with qt (apparently, the pre-installed version of qt in ubuntu is the fifth). So how do I fix the problem and install qt 4? Just sudo apt install qt4-default? Does not work.

Honestly not sure, and I can't fix the issue if I can't reproduce it. I would suggest you just read this code as an example instead of trying to use it directly.

Try making your own gui plugin according to the official gazebo tutorials, then copy in the bits of relevant code from this plugin.

Well, apparently my problem is the same with http://answers.gazebosim.org/question/19734/when-launching-gazebo-no-gui-overlay-apears-and-undefined-symbol-error-is-printed-in-terminal/. The tutorial of plugins has already been fixed and it starts up fine for me. https://bitbucket.org/osrf/gazebo/pull-requests/3041/fix-gui-plugins-on-bionic-gz9/diff here indicated 3 possible solutions. I tried to remove #include <gazebo/gui/gui.hh> from RegenerateWidget.hh and it worked the plugin started to run. Still, is there some other solution? Maybe I break something else without include gui.hh? Here two more solutions are indicated: one to change the sources of the gazebo, which could potentially break something else, and the other link against ${Qt5Test_LIBRARIES} I did not quite understand this decision. What need to do? Or I can safely not add gui .hh?

PS Sorry for bad english and bad knowledge of c ++ structure.

And yes, probably it was necessary to specify the version of ubuntu which I use earlier. Ubuntu 18.04.1 LTS

Same error in a clean Gazebo install on Ubuntu...

[Err] [InsertModelWidget.cc:426] Missing model.config for model "/home/navennt/gzmaze/.git"
[Err] [InsertModelWidget.cc:426] Missing model.config for model "/home/navennt/gzmaze/build"
[Err] [InsertModelWidget.cc:426] Missing model.config for model "/home/navennt/gzmaze/gui_plugin"
[Err] [InsertModelWidget.cc:426] Missing model.config for model "/home/navennt/gzmaze/maze_plugin"
[Err] [InsertModelWidget.cc:426] Missing model.config for model "/home/navennt/gzmaze/mouse_plugin"
[Err] [Plugin.hh:178] Failed to load plugin /home/navennt/gzmaze/build/libregenerate_widget.so: /home/navennt/gzmaze/build/libregenerate_widget.so: undefined symbol: _ZN5QTest18lastMouseTimestampE
[Err] [RenderWidget.cc:307] Unable to create gui overlay plugin with filename[libregenerate_widget.so]
[Err] [Plugin.hh:178] Failed to load plugin /home/navennt/gzmaze/build/libregenerate_widget.so: /home/navennt/gzmaze/build/libregenerate_widget.so: undefined symbol: _ZN5QTest18lastMouseTimestampE
[Err] [MainWindow.cc:2086] Unable to create gui overlay plugin with filename[libregenerate_widget.so]
VMware: vmw_ioctl_command error Invalid argument.```

Same error in a clean Gazebo install on Ubuntu...

[Err] [InsertModelWidget.cc:426] Missing model.config for model "/home/navennt/gzmaze/.git"
[Err] [InsertModelWidget.cc:426] Missing model.config for model "/home/navennt/gzmaze/build"
[Err] [InsertModelWidget.cc:426] Missing model.config for model "/home/navennt/gzmaze/gui_plugin"
[Err] [InsertModelWidget.cc:426] Missing model.config for model "/home/navennt/gzmaze/maze_plugin"
[Err] [InsertModelWidget.cc:426] Missing model.config for model "/home/navennt/gzmaze/mouse_plugin"
[Err] [Plugin.hh:178] Failed to load plugin /home/navennt/gzmaze/build/libregenerate_widget.so: /home/navennt/gzmaze/build/libregenerate_widget.so: undefined symbol: _ZN5QTest18lastMouseTimestampE
[Err] [RenderWidget.cc:307] Unable to create gui overlay plugin with filename[libregenerate_widget.so]
[Err] [Plugin.hh:178] Failed to load plugin /home/navennt/gzmaze/build/libregenerate_widget.so: /home/navennt/gzmaze/build/libregenerate_widget.so: undefined symbol: _ZN5QTest18lastMouseTimestampE
[Err] [MainWindow.cc:2086] Unable to create gui overlay plugin with filename[libregenerate_widget.so]
VMware: vmw_ioctl_command error Invalid argument.```

Nevermind, this is a bug with launching gazebo from vmware and has nothing to do with this. I still do get the error message but gazebo launches.

However I STILL don't get the overlay even after Gazebo launches...

Ok last post - commenting that header fixed it as indicated previously:

#include <gazebo/gui/gui.hh>

closing because it currently works for me. Just tested on Ubuntu 20.04 with Gazebo 11