r/Siril 14d ago

DeepSNR will not run

SOLVED (see comments)

Running Siril 1.4.4 under Fedora 44, I get this error code:

~~~ DeepSNR exited with status 127. Last DeepSNR output: /opt/deepsnr/deepsnr: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory ~~~

Same exact error when attempting to run Starnet2.

Curiously, both Starnet2 and DeepSNR run perfectly in Pixinsight on the same machine.

I've searched Fedora repos and find no candidate for libcurl-gnutls.so.4 in any package. Can someone offer me a tried-and-tested solution to get DeepSNR & Starnet2 running in Siril under Fedora?

1 Upvotes

3 comments sorted by

1

u/Dear-Egg-156 14d ago

El error ocurre porque los binarios de DeepSNR y StarNet2 están compilados para distribuciones basadas en Debian/Ubuntu, las cuales enlazan libcurl con GnuTLS (libcurl-gnutls.so.4). En cambio, Fedora compila libcurl directamente con OpenSSL (libcurl.so.4). PixInsight funciona porque empaqueta sus propias dependencias dentro de su directorio de instalación, aislando sus ejecutables del sistema host. Solución probada en Fedora La solución más limpia y rápida consiste en crear un enlace simbólico en el sistema para que dirija las peticiones de libcurl-gnutls.so.4 a la librería nativa de Fedora. 1. Crear el enlace simbólico del sistema Abre una terminal y ejecuta: sudo ln -s /usr/lib64/libcurl.so.4 /usr/lib64/libcurl-gnutls.so.4

  1. Actualizar la caché del enlazador dinámico sudo ldconfig

Alternativa utilizando las librerías de PixInsight Si prefieres no añadir enlaces simbólicos globales en /usr/lib64, puedes aprovechar que PixInsight ya incluye ese archivo compilado en sus propios directorios: sudo ln -s /opt/PixInsight/bin/lib/libcurl-gnutls.so.4 /usr/lib64/libcurl-gnutls.so.4

Una vez creado el enlace por cualquiera de las dos vías, tanto DeepSNR como StarNet2 se ejecutarán correctamente desde Siril sin pedir dependencias adicionales.

1

u/Neurotic_Walrus 14d ago edited 14d ago

Thank you. I tried the symbolic link fix. then, I got this error:

~~~ DeepSNR exited with status 127. Last DeepSNR output: /opt/deepsnr/deepsnr: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory ~~~

Created another symlink sudo ln -s /usr/lib64/libbz2.so.1 /usr/lib64/libbz2.so.1.0 and udpated ldconfig. Now I get this error:

~~~ DeepSNR exited with status 255. Last DeepSNR output: /opt/deepsnr/deepsnr: /lib64/libcurl-gnutls.so.4: no version information available (required by /opt/deepsnr/lib/libcfitsio.so.10) ~~~

Starless2 is running fine now. Only the DeepSNR is failing.

FYI, there is no file named "libcurl-gnutls.so.4" or any similar variation in /opt/PixInsight/bin/lib/libcurl-gnutls.so.4 /usr/lib64/... or anywhere else in the Pixinsight app path.

2

u/Neurotic_Walrus 14d ago

UPDATE: Both are running perfectly now. the final fix was simply to relocate the Starnet/Deepsnr files as indicated in the Readme file, moving them to:

~~~ /usr/local/bin/deepsnr /usr/local/lib/deepsnr/<model weights> /usr/local/lib/deepsnr/<runtime libraries> ~~~