When installing or removing packages via pacman/yaourt, I mostly got following issue:
ldconfig: libraries libGLESv1_CM.so.1 and libGLESv1_CM.so.1.1.0 in directory /usr/lib have same soname but different type. ldconfig: libraries libGLESv2.so.2 and libGLESv2.so.2.0.0 in directory /usr/lib have same soname but different type.
That is caused by a conflict between the libraries from mesa/mesa-libgl and the resulting libs from the compiled sunxi-mali sources, see accelerated Mali GPU.
When installing new packages, the previous ldconfig issue appeared and I got following problem when using an application, that depends on GLES:
libEGL warning: DRI2: failed to open lima (search paths /usr/lib/xorg/modules/dri) Error: eglCreateWindowSurface failed: 0x00003005 EGL Version: "1.4 (DRI2)" EGL Vendor: "Mesa Project" EGL Extensions: "EGL_MESA_configless_context EGL_KHR_surfaceless_context "
I had to do “sudo make install” in my sunxi-mali directory all the time after installing new packages to get the working libraries installed again. Not a comfortable solution. So let’s try, to fix this.
In the PKGBUILD for sunxi-mali, the libraries from sunxi-mali are installed in a sub-directory /usr/lib/mali. So let’s try to do the same (I assume, you have sunxi-mali cloned into $HOME/sunxi-mali)
cd $HOME/sunxi-mali sudo mkdir /usr/lib/mali
Optionally we can update the header files now to avoid compiling problems later (see SNES emulation using RetroArch):
wget http://pastebin.com/raw.php?i=hHKVQfrh -O ./include/GLES2/gl2.h wget http://pastebin.com/raw.php?i=ShQXc6jy -O ./include/GLES2/gl2ext.h
Now we install the header files and libraries to the appropriate directories:
chmod +x lib/mali/r3p0/armhf/framebuffer/libMali.so make config ABI=armhf VERSION=r3p0 sudo make -C include install sudo make -C lib/mali prefix=/usr/ libdir='$(prefix)/lib/mali/' install
Add a mali.conf to /etc/ld.so.conf.d:
sudo sh -c 'echo "/usr/lib/mali" > /etc/ld.so.conf.d/mali.conf'
Congratulations, if you now install or uninstall any package, you won’t get the previous mentioned ldconfig error but still be able to run GLES applications.