Closed jheinem1 closed 1 year ago
This is a common problem when building binaries for Linux and there's not a whole lot we can do. Newer versions of Ubuntu will fix support for newer versions of OpenSSL, which breaks support for older, still supported versions of Ubuntu.
Loading those dynamic dependencies dynamically and lazily is not a realistic option. Most projects are not going to be in a position to detect missing dynamic dependencies and help the user install them: there are just too many different system configurations.
As you've found, Steam games generally have the Linux binary distribution problem solved by using the Steam Runtime. It includes a number of libraries that games can assume will be installed. It is sad that the state of packaging on Linux has made that necessary, but that's where we are today.
If you're looking for great support for your particular distro, maintaining a PPA or building from source is your best bet.
Expected Behavior
aftman self-install
should either install or prompt the user to install missing dependencies.Actual Behavior
aftman self-install
fails to install unless a very specific build of libssl and libcrypto are present in/usr/lib/
.Without
openssl
installed:With
apt
(or other incompatible) build ofopenssl
installed and manually moved to/usr/lib/
:With "correct" build of
openssl
installedI found that the build of
libssl
andlibcrpyo
used by Steam were what aftman was expecting. Here's the steps to find and move these into the appropriate directory:find / -type f -name "libcrypto.so.1.1" 2>/dev/null
(/dev/null
simply removes error logs) forlibcrypto
andlibssl
respectively. Make sure the path contains something along the lines ofSteamLinuxRuntime_soldier
!libcrypto
orlibssl
builds on your system, e.g.~/.steam/debian-installation/steamapps/common/SteamLinuxRuntime_soldier/var/tmp-M2O211/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
, usesudo cp <steam_libssl_dir> /usr/lib/
to copy thelibssl
andlibcrypto
build to your system library.sudo ldconfig
to refresh libraries, though this isn't strictly necessaryaftman self-install
normally, and it should work!Steps to reproduce
I've only confirmed this to affect debian/ubuntu, however neither
libssl
norlibcrypto
are installed by default, andaftman
does not appear to use theopenssl
package without modification, so the steps to reproduce are simply:aftman self-install
It should also be noted that this will affect
aftman
's ability to install packages as well, even if manually installed. Building manually will work, however the package binaries aftman installs (e.g. rojo) will also fail to run with similar errors.