daywalker90 / sling

A core lightning plugin to automatically rebalance multiple channels.
MIT License
15 stars 3 forks source link

glibc dependency #3

Closed Dominion5254 closed 7 months ago

Dominion5254 commented 7 months ago

The README notes glibc>=2.31 is required. including this plugin within a bullseye-slim base image (ldd (Debian GLIBC 2.31-13+deb11u8) 2.31) results in the below errors:

2024-03-06T10:08:58-07:00  /usr/local/libexec/c-lightning/plugins/sling/target/release/sling: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/local/libexec/c-lightning/plugins/sling/target/release/sling)
2024-03-06T10:08:58-07:00  /usr/local/libexec/c-lightning/plugins/sling/target/release/sling: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /usr/local/libexec/c-lightning/plugins/sling/target/release/sling)
2024-03-06T10:08:58-07:00  /usr/local/libexec/c-lightning/plugins/sling/target/release/sling: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/local/libexec/c-lightning/plugins/sling/target/release/sling)

This was produced using a release built from sling tag v1.4.2

Is the README out of date and a newer version of glibc is required by sling v1.4.2?

daywalker90 commented 7 months ago

The glibc requirement is for the release binaries i provide on the release page and they are up to date.

Can you explain exactly what you did? If you build sling yourself with cargo build --release rust will use your build systems installed glibc. It seems to me that you did that and then transfered it to another machine with a lower glibc version.

Dominion5254 commented 7 months ago

You are exactly correct with what I did (building on one machine and transferring to another), and I believe I understand the problem now.

It seems I will either need to download the release into my Dockerfile, or build from source within the Dockerfile. Thanks.

daywalker90 commented 7 months ago

Yes those are probably the easiest solutions. Personally i use cross for cross compiling the release binaries.