[Bug]: OpenSSL v1 is a undocumented requirement - Makes Komac unusable on modern systems
michidk opened this issue · comments
Is there an existing issue for this?
- I have searched the existing issues
What happened?
Release https://github.com/russellbanks/Komac/releases/tag/v2.2.0 mentions that it now requires OpenSSL to be installed.
This is not documented in the readme.
However, even after installing OpenSSL via apt-get on Ubuntu 22.04 any trying to run https://github.com/russellbanks/Komac/releases/download/v2.2.0/KomacPortable-linux-x64.tar.gz, I get:
error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
This is because Ubuntu 22.04 comes with OpenSSL 3.2.1 30 Jan 2024 (Library: OpenSSL 3.2.1 30 Jan 2024)
Seems like OpenSSL v1 is required for the builds from GitHub releases:
OpenSSL v1.1.1 reached it's end of life 11th September 2023 (https://www.openssl.org/blog/blog/2023/09/11/eol-111/index.html). So is this really something we should do?
Interestingly it works fine when installing with cargo install
. In that case it seems to link to OpenSSL v3:
Is there any guidance on how to get it to run on Ubuntu 22 with the builds from GitHub releases?
The builds from the GitHub releases are built with cross which installs the latest OpenSSL beforehand. I'll have a look into why it's expecting OpenSSL v1.
The issue is that cross' Docker images use Ubuntu 20.04 where libssl-dev
is still v1. Ubuntu 22.04 has v3. There's a pull request to update the base images to 22.04 but it was created in July 2022 and hasn't had much progress. After lots of researching and testing with dynamically and statically linking OpenSSL, I've been able to get it to work and link to OpenSSL v3 without external tools. However, because of the difficulty of this, I've dropped the FreeBSD builds as well as the arm and arm64 builds on Linux.
@michidk could you possibly confirm that the Linux builds from the nightly release are linking against OpenSSL v3?
Yep, seems good:
❯ ldd KomacPortable-linux-nightly-x64
linux-vdso.so.1 (0x00007ffe25dc4000)
libssl.so.3 => /usr/lib/libssl.so.3 (0x00007f1a98b64000)
libcrypto.so.3 => /usr/lib/libcrypto.so.3 (0x00007f1a98631000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f1a9860c000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f1a98520000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f1a9833e000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f1a9954a000)
Thanks a lot for the quick fix! Do you have a rough estimate of when the next release will be published?
Thanks a lot for the quick fix! Do you have a rough estimate of when the next release will be published?
Probably tomorrow - I want to add automatic publishing to crates.io then I'll release 2.2.1.