lightvector / KataGo

GTP engine and self-play learning in Go
https://katagotraining.org/
Other
3.6k stars 569 forks source link

KataGo works with old libssl versions only #966

Open GD-fix opened 4 months ago

GD-fix commented 4 months ago

...katago-v1.15.1-eigen-linux-x64/katago: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory In OS (OpenSUSE Tumbleweed) there are libssl.so.3 (link) and libssl.so.3.1.4 (library) only...

Why KataGo works with old libssl versions only? If I'll do symbolic link libssl.so.1.1 on existing libssl.so.3.1.4, will KataGo work?

lightvector commented 4 months ago

As noted in the release notes (https://github.com/lightvector/KataGo/releases/tag/v1.15.0), on linux the versioning of libzip and other libraries makes compatibility very tricky when trying to release raw executables. I recommend you compile from source, it's relatively easy on Linux. https://github.com/lightvector/KataGo/blob/master/Compiling.md

GD-fix commented 3 months ago

There were some problems with eigen paths (how I remember), until You had released binary version. Is this a problem to make binaries with statically linked all libraries, which versions are required in form of "=" (not ">=")?

Symbolic link doesn't work:

/home/KataGo/./katago-v1.15.1-eigen-linux-x64/katago: /lib64/libssl.so.1.1: version `OPENSSL_1_1_0' not found (required by /home/KataGo/./katago-v1.15.1-eigen-linux-x64/katago)
/home/KataGo/./katago-v1.15.1-eigen-linux-x64/katago: /lib64/libcrypto.so.1.1: version `OPENSSL_1_1_0' not found (required by /home/KataGo/./katago-v1.15.1-eigen-linux-x64/katago)

Fortunately, I didn't delete the Tumbleweed previous year snapshot ISO image. After adding it in repositories and installing from it the libssl version 1.1 (with the file conflicts with existing newer version) KataGo worked. But it isn't the true solution of the problem, I think...

GD-fix commented 3 months ago

KataGo v.1.15.3 - all the same...

lightvector commented 3 months ago

Have you tried building from source? It's not that hard on linux, and it means that you get to compile katago using exactly all the versions of libraries on your system.

GD-fix commented 3 months ago

It was hard:

There were some problems with eigen paths (how I remember), until You had released binary version. Is this a problem to make binaries with statically linked all libraries, which versions are required in form of "=" (not ">=")?

emogenet commented 1 week ago

Using Katago on a modern ubuntu system is a nightmare.

  1. Downloading a pre-built version simply does not work at all. It requires an antediluvian release of OpenSSL (why does one need a crypto library to play go ?).

  2. Contrary to what is claimed in the thread above, properly compiling Katago on an Ubuntu system with the NVidia dev env installed via apt-get is a giant headache. Fails to find nvcc, fails to find opencl (which does not seem to be properly supported by NVidia these days).

Please, please, please at the very least, kill that ridiculous dependency on external shared libraries. Adding libzip statically to your code is a no-brainer.

Or provide an app image.

Or a docker container

Or a flatpak

Anything to avoid having to deal with the maze of dependencies Katago drags behind it.

People just want to play go, not fight withl the broken NVidia dev env and ill-configured software.

The sheer number of different Linux binary release on https://github.com/lightvector/KataGo/releases is in itself a perfect demonstration of the claim made at the beginning of my post: just installing Katago is utterly confusing for non technical people.

GD-fix commented 21 hours ago

I don't advise to use a Flatpak: it's not a portable - You can't run such application on a stand alone (without I-net) PC (doesn't help even the copy of /var/lib/flatpak/ to slightly different version of the OS distr.). And user must correctly configure the Flatpak for run it applications with full functionality.

I don't know, what was eliminated in new libssl versions, that the KataGo developer can't change the libssl version dependency to ">=" (how You can see, he doesn't admit)...