I recently switched to Fedora 28 from Debian and I’m having a problem with running the latest x64 terminal build of Cataclysm (downloaded from here). When cataclysm is run in a terminal, liblua5.2.so.0 is reported to be missing despite the fact that I have Lua installed:
$ ./cataclysm
./cataclysm: error while loading shared libraries: liblua5.2.so.0: cannot open shared object file: No such file or directory
The problem is that none of the packages in Fedora provide Lua 5.2—all of them provide Lua 5.3 plus related libraries and unlike Debian, Fedora doesn’t keep old packages in its repositories.
So what options do I have? Do I download the file liblua5.2.so.0 from somewhere, put it in the game directory and change $LD_LIBRARY_PATH so that the loader can see it? I’m sure there’s a better solution out there… ideas?
Edit: Btw, what’s the rationale behind not statically building the binary with lua5.2 considering the last release of 5.2.x was around 2015?
As expected, this can be fixed by downloading the 5.2 binary from the official Lua website, renaming the shared library to liblua5.2.so.0 and then running
env LD_LIBRARY_PATH=. ./cataclysm
which does run the game but the loader throws up a lot of errors:
./cataclysm: /lib64/libtinfo.so.5: no version information available (required by ./cataclysm)
./cataclysm: /lib64/libncursesw.so.5: no version information available (required by ./cataclysm)
./cataclysm: /lib64/libncursesw.so.5: no version information available (required by ./cataclysm)
./cataclysm: /lib64/libncursesw.so.5: no version information available (required by ./cataclysm)
./cataclysm: /lib64/libncursesw.so.5: no version information available (required by ./cataclysm)
./cataclysm: ./liblua5.2.so.0: no version information available (required by ./cataclysm)
That doesn’t work. export LUA_BINARY=/usr/lib64/liblua-5.3.so or any thing else does nothing. Only changing LD_LIBRARY_PATH to point to the downloaded library works as stated in my earlier post and that too leads to loader errors.