rtl_433_docker
rtl_433_docker copied to clipboard
Missing libressl.so.55 & libcrypto.so.52 during runtime only in Alpine 3.19
Hi. There appears to be a breaking change in the latest rtl_433 (23.11
) that I believe are preventing the hertzg/rtl_433:latest
docker container from starting.
Findings
The exact changes in the new release are here: @23.11
EDIT. 23.11-debian
works so I think there may be some changes in the alpine
image where it's missing libraries.
Logs
On boot, these errors print out over and over.
Error loading shared library libssl.so.55: No such file or directory (needed by /usr/local/bin/rtl_433)
Error loading shared library libcrypto.so.52: No such file or directory (needed by /usr/local/bin/rtl_433)
Error relocating /usr/local/bin/rtl_433: SSL_get_error: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_get_fd: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_write: symbol not found
Error relocating /usr/local/bin/rtl_433: SSLv23_client_method: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_free: symbol not found
Error relocating /usr/local/bin/rtl_433: SSLv23_server_method: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_use_certificate_chain_file: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_set_fd: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_set_verify: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_library_init: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_read: symbol not found
Error relocating /usr/local/bin/rtl_433: PEM_read_bio_DHparams: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_ctrl: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_new: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_use_certificate_file: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_shutdown: symbol not found
Error relocating /usr/local/bin/rtl_433: BIO_new_mem_buf: symbol not found
Error relocating /usr/local/bin/rtl_433: DH_free: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_accept: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_new: symbol not found
Error relocating /usr/local/bin/rtl_433: BIO_free: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_load_verify_locations: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_ctrl: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_use_PrivateKey_file: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_set_cipher_list: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_connect: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_free: symbol not found
Error relocating /usr/local/bin/rtl_433: BIO_new_file: symbol not found
Workaround
I was able to use a non-alpine docker image to get it running: hertzg/rtl_433:23.11-debian
Hello, Seems like the dependency of libressl
package for alpine was changed between Alpine v3.18 and Alpine v3.19
LDD shows that during runtime the there are those shared libraries missing
~ # ldd /usr/local/bin/rtl_433
/lib/ld-musl-aarch64.so.1 (0xffffb3023000)
Error loading shared library libssl.so.55: No such file or directory (needed by /usr/local/bin/rtl_433)
Error loading shared library libcrypto.so.52: No such file or directory (needed by /usr/local/bin/rtl_433)
librtlsdr.so.2 => /usr/lib/librtlsdr.so.2 (0xffffb2f11000)
libusb-1.0.so.0 => /usr/lib/libusb-1.0.so.0 (0xffffb2ee0000)
libc.musl-aarch64.so.1 => /lib/ld-musl-aarch64.so.1 (0xffffb3023000)
/ref https://gitlab.alpinelinux.org/alpine/aports/-/issues/15563
If you still want to use alpine image before the issue on alpine side is answered and don't mind using the v3.18 version you can use hertzg/rtl_433:23.11-alpine3.18
tag.
Rolled back alpine to 3.18 for now in #102
@aav7fl - thanks for the reporting this! I also ran into it after my containers upgraded last night.
Ditto to above, switched to debian image to fix, and following along here so i can revert back in future when alpine sorts its side.
Another workaround is to do apk add libressl3.8-libssl
if you run your build the image based on mine or just run it inside the container (not persistent), I don't want to add this to the base Dockerfile as the package name is not consistent between alpine versions. Alpine 3.18 has libressl3.7-libssl
and there's no "regex" or wildcart support for apk add
.
Consistent solution would need bash magic to do apk search
and then apk add
if this takes too long for the upstream to fix it. Can review a PR if anyone is up for doing a pr.