exquo / signal-libs-build

Automatic compilation of native libraries for the Signal messenger
GNU General Public License v3.0
32 stars 9 forks source link

Still getting glibc version error with signal-cli v0.11.5.1 and libsignal-client v0.21.1 #14

Closed sj71828182 closed 1 year ago

sj71828182 commented 2 years ago

I may just be over my head here but maybe others are also struggling? I did the following:

  1. Downloaded signal-cli .tar.gz archive for v0.11.5.1 from AsamK/signal-cli, followed instructions on README there to extract and create link
  2. Downloaded appropriate tar.gz archive for v0.21.1 from this repo and folled instructions on README here to swap out the .so file in the libsignal-client .jar archive set up in step 1

But still get "ServiceConfig - Failed to call libsignal-client: [filename].so: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by [filename].so) Missing required native library dependency: libsignal-client"

Using Ubuntu 18.

exquo commented 1 year ago

Maybe swapping the .so library (your step 2) did not actually succeed?

You can check the libsignal_jni.so binary that you have inside the libsignal-client-xxx.jar archive:

❯ unzip  signal-cli-0.11.6/lib/libsignal-client-0.21.1.jar  libsignal_jni.so  -d /tmp

    Archive:  signal-cli-0.11.6/lib/libsignal-client-0.21.1.jar
        inflating: /tmp/libsignal_jni.so

❯ file /tmp/libsignal_jni.so

    /tmp/libsignal_jni.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=78e86c7c319fbe569412157e89498b55b6a792a9, with debug_info, not stripped

❯ objdump -T /tmp/libsignal_jni.so  | grep LIBC | cut -d'_' -f2 | sort -V | tail -n1 | cut -d' ' -f1

    2.28

The output above is the original (not swapped) libsignal_jni.so file from the latest signal-cli release file.

The output from the libsignal_jni.so-v0.21.1-x86_64-unknown-linux-gnu.tar.gz file from this repo's latest release gives the following output (note the different sha1 and GLIBC version)

❯ file libsignal_jni.so

    libsignal_jni.gh_actions.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b313b386bb17111253985cb0b35f6e69a0eeb647, stripped

❯ objdump -T libsignal_jni.so  | grep LIBC | cut -d'_' -f2 | sort -V | tail -n1 | cut -d' ' -f1

    2.25