Undefined GL symbol in krita snap

I just can’t find any place to report problems with snap-packages. So I will post it here.

The Krita application doesn’t work. After installing, I tried to run it and I got the following error:
usr/bin/krita: symbol lookup error: /var/lib/snapd/lib/gl/libGLX_indirect.so.0: undefined symbol: drmGetDevice2

If the snap maintainer provides contact info you can find it like:

ogra@anubis:~$ snap info krita|grep contact
contact:   https://forum.kde.org/viewforum.php?f=136
ogra@anubis:~$

Krita works for me on a Xenial system with the nvidia-375 driver installed. Do you use the proprietary driver or nouveau ?

Some symbols are missing from the driver, perhaps because it could not link with the right libraries.

Can you please run this command on your system:

find /usr /lib -name libGLX_indirect.so.0 -exec echo {} \; -exec ldd {} \; -exec dpkg -S {} \;

@orga I can’t find anything to do with the snap package there.

@niemeyer I run arch-linux, so no dpkg
but I changed it a bit:
find /usr /lib -name libGLX_indirect.so.0 -exec echo {} ; -exec ldd {} ; -exec pacman -Qo {} ;

/usr/lib32/libGLX_indirect.so.0
	linux-gate.so.1 (0xf772c000)
	libexpat.so.1 => /usr/lib32/libexpat.so.1 (0xf762d000)
	libxcb-dri3.so.0 => /usr/lib32/libxcb-dri3.so.0 (0xf7629000)
	libxcb-xfixes.so.0 => /usr/lib32/libxcb-xfixes.so.0 (0xf7620000)
	libxcb-present.so.0 => /usr/lib32/libxcb-present.so.0 (0xf761c000)
	libxcb-sync.so.1 => /usr/lib32/libxcb-sync.so.1 (0xf7614000)
	libxshmfence.so.1 => /usr/lib32/libxshmfence.so.1 (0xf7611000)
	libglapi.so.0 => /usr/lib32/libglapi.so.0 (0xf75f4000)
	libXext.so.6 => /usr/lib32/libXext.so.6 (0xf75df000)
	libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf75db000)
	libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf75d4000)
	libX11-xcb.so.1 => /usr/lib32/libX11-xcb.so.1 (0xf75cf000)
	libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7482000)
	libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf7457000)
	libxcb-glx.so.0 => /usr/lib32/libxcb-glx.so.0 (0xf743b000)
	libxcb-dri2.so.0 => /usr/lib32/libxcb-dri2.so.0 (0xf7435000)
	libXxf86vm.so.1 => /usr/lib32/libXxf86vm.so.1 (0xf742e000)
	libdrm.so.2 => /usr/lib32/libdrm.so.2 (0xf741a000)
	libm.so.6 => /usr/lib32/libm.so.6 (0xf73be000)
	libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf73a0000)
	libdl.so.2 => /usr/lib32/libdl.so.2 (0xf739b000)
	libc.so.6 => /usr/lib32/libc.so.6 (0xf71da000)
	libXau.so.6 => /usr/lib32/libXau.so.6 (0xf71d4000)
	libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf71cd000)
	/usr/lib/ld-linux.so.2 (0x56636000)
/usr/lib32/libGLX_indirect.so.0 is eigendom van lib32-mesa 17.1.4-1
/usr/lib/libGLX_indirect.so.0
	linux-vdso.so.1 (0x00007ffea38a9000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007fdd939b1000)
	libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0 (0x00007fdd937ae000)
	libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0x00007fdd935a6000)
	libxcb-present.so.0 => /usr/lib/libxcb-present.so.0 (0x00007fdd933a3000)
	libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007fdd9319c000)
	libxshmfence.so.1 => /usr/lib/libxshmfence.so.1 (0x00007fdd92f99000)
	libglapi.so.0 => /usr/lib/libglapi.so.0 (0x00007fdd92d67000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0x00007fdd92b55000)
	libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007fdd92952000)
	libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007fdd9274c000)
	libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007fdd9254a000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fdd9220b000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fdd91fe0000)
	libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0x00007fdd91dc4000)
	libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0x00007fdd91bbf000)
	libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007fdd919b9000)
	libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007fdd917a8000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007fdd91496000)
	libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fdd91276000)
	libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fdd91072000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007fdd90ccd000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fdd90ac9000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fdd908c3000)
	/usr/lib64/ld-linux-x86-64.so.2 (0x00005580586cd000)
/usr/lib/libGLX_indirect.so.0 is eigendom van mesa 17.1.4-1

(By the way, it the arch-package works)

The outline of this forum is confusing to me. It seems that I have send my answer to you in response to orga.

@orga: about the driver: i use i915 (not nivdia)

VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)

hmm, not sure what made me read nvidia into your original post, sorry :slight_smile:

looking at your ldd output my wild guess would be an abi incompatibility between the mesa v12 that the Qt in the snap links against (snaps are by default built against 16.04 library versions) and your mesa v17.

Well I knew this would not be solved in a second. I just installed the package to try out snap in my distribution. But I was surprised to tackle a problem like this. I thought, that snap was made to solve this kind op problems.

But that isn’t where I’m disappointed about. The lack of an infrastructure to report packaging bugs, is a real bummer for me.

EDIT: You are using arch, I see now.

On Arch you should not see any mixture of host libraries and guest libraries (unless you use Nvidia but you are not). Not sure what is going on here but it should not happen in the first place.

I don’t know how much you are involved with the krita-package, but if you want me to do some tests, just ask.
Anyway thanks.

Have you found any other hints about the issue, or managed to make it work anyhow?

Either way, adding to our roadmap to investigate this.