EFForg / apkeep

MIT License
879 stars 57 forks source link

apkeep binary packages based on libssl1.1, not working on Ubuntu #167

Closed simos closed 8 months ago

simos commented 1 year ago

The released apkeep binary packages for Ubuntu are linked against libssl1.1. However, Ubuntu uses libssl3 and cannot (easily) install libssl1.1.

If you try to run the binary apkeep-x86_64-unknown-linux-gnu on Ubuntu 22.04

./apkeep-x86_64-unknown-linux-gnu: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

It is a libssl problem

$ ldd apkeep-x86_64-unknown-linux-gnu 
    linux-vdso.so.1 (0x00007ffec9b9f000)
    libssl.so.1.1 => not found
    libcrypto.so.1.1 => not found
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fd6d1a14000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fd6d1a0f000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd6d0f19000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd6d1a08000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd6d0c00000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fd6d1a4e000)

Ubuntu 22.04 has both libssl3 and libssl1.1 packages.

Does it make sense to upgrade the binary packages to use libssl3? I am not familiar with the state of libssl and other distros.

Workaround

If you can launch a VM so that you do not mess up your Linux installation, you can

wget https://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.21_amd64.deb
sudo apt install -f ./libssl1.1_1.1.1-1ubuntu2.1~18.04.21_amd64.deb

Then, you can run the binary apkeep.

Note: If you try to add symlinks to libssl3, it does not work. There are differences.

Hainish commented 8 months ago

The latest version is compiled against libssl-dev from Debian 12, 3.0.11. Please let me know and re-open if problem reoccurs with apkeep 0.16.0.