machinekit / QtQuickVcp

A Virtual Control Panel for Machinekit written in Qt/C++/QML
Other
128 stars 74 forks source link

AppImage not running on Ubuntu 20.04 #295

Open Ringel opened 4 years ago

Ringel commented 4 years ago

On Ubuntu 20.04 the AppImage fails with (iris is for Intel graphics):

libGL error: MESA-LOADER: failed to open iris (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open iris (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri)
libGL error: failed to load driver: swrast
QGLXContext: Failed to create dummy context
Failed to create OpenGL context for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 1, profile  QSurfaceFormat::OpenGLContextProfile(NoProfile)) 
/tmp/.mount_JIpDvQ/AppRun: line 13: 43214 Aborted                 (core dumped) /lib64/ld-linux-x86-64.so.2 "$CWD"/bin/machinekit-client $@

Problem is caused by old libstdc++.so.6 contained in AppImage ... too old to be used by Mesa.

Issue could be solved by forcing system library:

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./MachinekitClient_Development-201910151052-master-3863795-x64.AppImage

libstdc++.so.6 should be selected by AppImageKit-checkrt or removed.

BrianSidebotham commented 4 years ago

On Fedora 32 it's the same. The current release requires the same fix, but the location of libstdc++ is slightly different.

LD_PRELOAD=/usr/lib64/libstdc++.so.6 ./MachinekitClient_Development-201910151052-master-3863795-x64.AppImage