After a lot of time the Desura client for Linux finally received an update. It wasn’t without issues, many users complained about not being able to install it properly due to unresolved library dependencies. The latest release (build 120.26, as of today) still doesn’t work out of the box on CentOS 7, so here’s how to fix it.
I tested this on two separate instances of the 64-bit CentOS, so this applies to the 64-bit release of Desura (the 32-bit version doesn’t seem to be supported any more).
1. Desura is not installed
After downloading and extracting the latest installer to $HOME/Downloads/desura, the following error is displayed when attempting to start the client:
/home/lsc/Downloads/desura/lib/desura: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory
To fix it we need to create a symlink to the required library after verifying it is installed:
rpm -qf /usr/lib64/libbz2.so.1.0.6 bzip2-libs-1.0.6-12.el7.x86_64
cd /home/lsc/Downloads/desura/lib ln -s /usr/lib64/libbz2.so.1.0.6 libbz2.so.1.0
Doing this allows desura to launch properly and perform an auto-update. After that everything works fine except for the application shortcut which is not added automatically to the start menu. To add it manually:
cp ~/Downloads/desura/desura.desktop /usr/share/applications
2. Desura is installed
If an older client was previously installed and updated, the above trick doesn’t seem to work. Forcing the desura update also failed on me. The fix was to download the latest client and extract it to the same installation path in order to overwrite existing files (this does not delete any game data stored in the common folder):
tar zxv --overwrite --overwrite-dir -f desura-x86_64.tar.gz -C /home/lsc/Downloads ln -s /usr/lib64/libbz2.so.1.0.6 ~/Downloads/desura/lib/libbz2.so.1.0