So I'm working with ROS2 on my MacBook air M1 and need gazebo for simulations. The OS I'm working with is Ubuntu 22.04 ARM on Parallels Desktop 18. I'm running ros2 Humble, and its gazebo counterpart Gazebo Gardens. Rviz is running just fine, but when I start up the gazebo simulator running command
gz sim
gazebo opens up showing a menu of demos (I guess they are demos, one of them says 'NAO Joint Control'). When I click on the 'empty project' of any one of the demos, the editor-esque window opens but then instantly crashes. The terminal outputs following error message:
libGL error: pci id for fd 42: 1ab8:0010, driver (null)pci id for fd 43: 1ab8:0010, driver (null)libGL error: pci id for fd 44: 1ab8:0010, driver (null)pci id for fd 52: 1ab8:0010, driver (null)libEGL warning: pci id for fd 64: 1ab8:0010, driver (null)pci id for fd 65: 1ab8:0010, driver (null)terminate called after throwing an instance of 'Ogre::UnimplementedException' what(): OGRE EXCEPTION(9:UnimplementedException): in GL3PlusTextureGpu::copyTo at ./RenderSystems/GL3Plus/src/OgreGL3PlusTextureGpu.cpp (line 685)Stack trace (most recent call last):#31 Object "/lib/aarch64-linux-gnu/libQt5Core.so.5", at 0xffff93fcb06b, in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)#30 Object "/lib/aarch64-linux-gnu/libQt5Core.so.5", at 0xffff9402b523, in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)#29 Object "/lib/aarch64-linux-gnu/libglib-2.0.so.0", at 0xffff92e02f13, in g_main_context_iteration#28 Object "/lib/aarch64-linux-gnu/libglib-2.0.so.0", at 0xffff92e5aeab, in #27 Object "/lib/aarch64-linux-gnu/libglib-2.0.so.0", at 0xffff92e05a6f, in g_main_context_dispatch#26 Object "/lib/aarch64-linux-gnu/libQt5Core.so.5", at 0xffff9402c057, in #25 Object "/lib/aarch64-linux-gnu/libQt5Core.so.5", at 0xffff93fcff87, in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)#24 Object "/lib/aarch64-linux-gnu/libQt5Core.so.5", at 0xffff93fccb8f, in QCoreApplication::notifyInternal2(QObject*, QEvent*)#23 Object "/lib/aarch64-linux-gnu/libQt5Widgets.so.5", at 0xffff95472abf, in QApplicationPrivate::notify_helper(QObject*, QEvent*)#22 Object "/lib/aarch64-linux-gnu/libQt5Core.so.5", at 0xffff93ffcfd3, in QObject::event(QEvent*)#21 Object "/usr/lib/aarch64-linux-gnu/gz-gui-7/plugins/libMinimalScene.so", at 0xffff58337dd7, in gz::gui::plugins::RenderWindowItem::Ready()#20 Object "/usr/lib/aarch64-linux-gnu/gz-gui-7/plugins/libMinimalScene.so", at 0xffff58337917, in gz::gui::plugins::RenderThread::Initialize[abi:cxx11]()#19 Object "/usr/lib/aarch64-linux-gnu/gz-gui-7/plugins/libMinimalScene.so", at 0xffff58343d17, in gz::gui::plugins::RenderThreadRhiOpenGL::Initialize[abi:cxx11]()#18 Object "/usr/lib/aarch64-linux-gnu/gz-gui-7/plugins/libMinimalScene.so", at 0xffff5833b10f, in gz::gui::plugins::GzRenderer::Initialize[abi:cxx11]()#17 Object "/lib/aarch64-linux-gnu/libgz-rendering7.so.7", at 0xffff582c39c3, in gz::rendering::v7::BaseRenderEngine::CreateScene(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#16 Object "/lib/aarch64-linux-gnu/libgz-rendering7.so.7", at 0xffff582cc03f, in gz::rendering::v7::BaseRenderEngine::CreateScene(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#15 Object "/lib/aarch64-linux-gnu/libgz-rendering7.so.7", at 0xffff582dfff3, in gz::rendering::v7::BaseScene::CreateMaterials()#14 Object "/usr/lib/aarch64-linux-gnu/gz-rendering-7/engine-plugins/libgz-rendering-ogre2.so", at 0xffff33b50423, in gz::rendering::v7::Ogre2Material::SetTextureMapImpl(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Ogre::PbsTextureTypes)#13 Object "/usr/lib/aarch64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0xffff337ab46b, in Ogre::TextureGpuManager::_waitFor(Ogre::TextureGpu*, bool)#12 Object "/usr/lib/aarch64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0xffff337ab0af, in Ogre::TextureGpuManager::_update(bool)#11 Object "/usr/lib/aarch64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0xffff3368ebaf, in Ogre::ObjCmdBuffer::execute()#10 Object "/usr/lib/aarch64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0xffff3368cf37, in Ogre::ObjCmdBuffer::NotifyDataIsReady::execute()#9 Object "/usr/lib/aarch64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0xffff3379cef3, in Ogre::TextureFilter::GenerateHwMipmaps::_executeSerial(Ogre::TextureGpu*)#8 Object "/usr/lib/aarch64-linux-gnu/OGRE-2.3/OGRE/RenderSystem_GL3Plus.so", at 0xffff330f2633, in Ogre::GL3PlusTextureGpu::copyTo(Ogre::TextureGpu*, Ogre::TextureBox const&, unsigned char, Ogre::TextureBox const&, unsigned char, bool, Ogre::CopyEncTransitionMode::CopyEncTransitionMode, Ogre::CopyEncTransitionMode::CopyEncTransitionMode)#7 Object "/usr/lib/aarch64-linux-gnu/OGRE-2.3/OGRE/RenderSystem_GL3Plus.so", at 0xffff330b4997, in #6 Object "/lib/aarch64-linux-gnu/libstdc++.so.6", at 0xffff971e2d23, in __cxa_throw#5 Object "/lib/aarch64-linux-gnu/libstdc++.so.6", at 0xffff971e2a3f, in std::terminate()#4 Object "/lib/aarch64-linux-gnu/libstdc++.so.6", at 0xffff971e29db, in #3 Object "/lib/aarch64-linux-gnu/libstdc++.so.6", at 0xffff971e51fb, in __gnu_cxx::__verbose_terminate_handler()#2 Object "/lib/aarch64-linux-gnu/libc.so.6", at 0xffff9b22712f, in abort#1 Object "/lib/aarch64-linux-gnu/libc.so.6", at 0xffff9b23a67b, in raise#0 Object "/lib/aarch64-linux-gnu/libc.so.6", at 0xffff9b27f200, in Aborted (Signal sent by tkill() 13395 1000)
Has anyone got gazebo running on their MacBook with M1/M2 chip? If yes, how?