Hatred's Log Place

DON'T PANIC!

Oct 21, 2015 - 4 minute read - programming

Qt Creator из Git, VirtualBox и Linux Guest

Заголовок не отражает всей сути. Конкретно:

Проблема: при запуске крешится. Выводится такой стек-трейс:

alexd@alexd-VirtualBox ~ $ qtcreator-git
libGL error: pci id for fd 18: 80ee:beef, driver (null)
OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table
OpenGL Warning: glVertexArrayRangeNV not found in mesa table
OpenGL Warning: glCombinerInputNV not found in mesa table
OpenGL Warning: glCombinerOutputNV not found in mesa table
OpenGL Warning: glCombinerParameterfNV not found in mesa table
OpenGL Warning: glCombinerParameterfvNV not found in mesa table
OpenGL Warning: glCombinerParameteriNV not found in mesa table
OpenGL Warning: glCombinerParameterivNV not found in mesa table
OpenGL Warning: glFinalCombinerInputNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glDeleteFencesNV not found in mesa table
OpenGL Warning: glFinishFenceNV not found in mesa table
OpenGL Warning: glGenFencesNV not found in mesa table
OpenGL Warning: glGetFenceivNV not found in mesa table
OpenGL Warning: glIsFenceNV not found in mesa table
OpenGL Warning: glSetFenceNV not found in mesa table
OpenGL Warning: glTestFenceNV not found in mesa table
libGL error: core dri or dri2 extension not found
libGL error: failed to load driver: vboxvideo
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001deadb0
OpenGL Warning: Retry with 0x8002 returned 0 visuals
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001deadb0
OpenGL Warning: Retry with 0x8002 returned 0 visuals
OpenGL Warning: glXGetFBConfigAttrib for 0000000001deadb0, failed to get XVisualInfo
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001deadb0
OpenGL Warning: Retry with 0x8002 returned 0 visuals
OpenGL Warning: glXGetFBConfigAttrib for 0000000001deadb0, failed to get XVisualInfo
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001deadb0
OpenGL Warning: Retry with 0x8002 returned 0 visuals
OpenGL Warning: glXGetFBConfigAttrib for 0000000001deadb0, failed to get XVisualInfo
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001deadb0
OpenGL Warning: Retry with 0x8002 returned 0 visuals
OpenGL Warning: glXGetFBConfigAttrib for 0000000001deadb0, failed to get XVisualInfo
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001deadb0
OpenGL Warning: Retry with 0x8002 returned 0 visuals
OpenGL Warning: glXGetFBConfigAttrib for 0000000001deadb0, failed to get XVisualInfo
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001deadb0
OpenGL Warning: Retry with 0x8002 returned 0 visuals
OpenGL Warning: glXGetFBConfigAttrib for 0000000001deadb0, failed to get XVisualInfo
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001deadb0
OpenGL Warning: Retry with 0x8002 returned 0 visuals
OpenGL Warning: glXGetFBConfigAttrib for 0000000001deadb0, failed to get XVisualInfo
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001deadb0
OpenGL Warning: Retry with 0x8002 returned 0 visuals
OpenGL Warning: glXGetFBConfigAttrib for 0000000001deadb0, failed to get XVisualInfo
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001deadb0
OpenGL Warning: Retry with 0x8002 returned 0 visuals
Could not initialize GLX
0  libLLVM-3.6.so.1           0x00007fe411df7912 llvm::sys::PrintStackTrace(_IO_FILE*) + 34
1  libLLVM-3.6.so.1           0x00007fe411df5eb1
2  libpthread.so.0            0x00007fe431190340
3  libc.so.6                  0x00007fe43085ecc9 gsignal + 57
4  libc.so.6                  0x00007fe4308620d8 abort + 328
5  libQt5Core.so.5            0x00007fe43143230e
6  libqxcb-glx-integration.so 0x00007fe4325e52dc
7  libqxcb-glx-integration.so 0x00007fe4325e60f8
8  libqxcb-glx-integration.so 0x00007fe4325e484b
9  libQt5XcbQpa.so.5          0x00007fe429bbcf91 QXcbIntegration::createPlatformOpenGLContext(QOpenGLContext*) const + 49
10 libQt5Gui.so.5             0x00007fe4303e721d QOpenGLContext::create() + 45
11 libUtils.so.1              0x00007fe43205afc5 Utils::HostOsInfo::canCreateOpenGLContext(QString*) + 165
12 libQmlDesigner.so          0x00007fe40a098f2c QmlDesigner::QmlDesignerPlugin::initialize(QStringList const&, QString*) + 28
13 libExtensionSystem.so.1    0x00007fe4323111e6 ExtensionSystem::Internal::PluginSpecPrivate::initializePlugin() + 246
14 libExtensionSystem.so.1    0x00007fe43230920c ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) + 828
15 libExtensionSystem.so.1    0x00007fe43230d070 ExtensionSystem::Internal::PluginManagerPrivate::loadPlugins() + 256
16 qtcreator                  0x0000000000409a31
17 libc.so.6                  0x00007fe430849ec5 __libc_start_main + 245
18 qtcreator                  0x0000000000409db2
Аварийный останов

Существует какая-то проблема в реализации поддержки OpenGL в гостевых расширениях VirtualBox. В результате это аффектит два плагина: QmlDesigner и QmlProfiler.

В качестве work-around можно не загружать эти плагины (для меня не критично, но для кого-то может оказаться - очень, но тогда добивайтесь более действенного результата сами). Для этого сначала запустить Qt Creator так:

qtcreator-git -noload QmlDesigner -noload QmlProfiler

после чего выключить загрузку этих плагинов в настройках и запускать QtC обычным образом.