Firstly, I really like the concept.
I have built an app image for my video player project on Ubuntu 12.04, the idea being this is the oldest platform I am targeting.
I've tested it and found it works fine on Ubuntu 12.04, 16.04 and Lubuntu 16.04.
Today I happened to test out my app image on Linux Mint 18.1 (based on Ubuntu 16.04) and I got an error launching my app:
oliver@Linux-Mint-Test ~/Desktop $ ./emu-player-64-1.0.5.appimage
Emu Player v1.0.5
libGL error: unable to load driver: vmwgfx_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: vmwgfx
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
It turns out this is a similar to a problem the games store app Steam has also had and seems to relate to the way some graphics drivers use a conflicting version of libstdc++ of something.
The solution is to prefix the launch command to tell it where the driver should find libstdc++
env LD_PRELOAD='/usr/$LIB/libstdc++.so.6' ./emu-player-64-1.0.5.appimage
Now the application runs...
I'm not sure how directly this relates to AppImage as I'm a little bit of a Linux development newcomer but does anyone know what is best practice to workaround this problem so that the user doesn't have to worry about it?